github-action-setup-ddev
github-action-setup-ddev copied to clipboard
Set up your GitHub Actions workflow with ddev
Setup and start ddev action
This Github action starts ddev with your project's configuration from the directory .ddev.
The idea is to reuse the same environment that you are maintaining for development anyways for automated acceptance testing, thus saving on maintaining a separate CI-configuration.
Any additional services that you might have configured will be started and any post-start hooks etc. will be run.
Example Github workflow
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-18.04 # tested on: 18.04/20.04
steps:
- uses: actions/checkout@v1
- uses: jonaseberle/github-action-setup-ddev@v1
# example: composer install
- run: ddev composer install
# example: fill database
- run: ddev mysql < data/db.sql
# ... and so on.
Options
ddevDir
Path to your ddev project.
default: . (root directory)
- uses: jonaseberle/github-action-setup-ddev@v1
with:
ddevDir: ".devbox"
# run `ddev` project commands from that directory
- run: ddev composer install
working-directory: .devbox
autostart
Starts your ddev project immediately.
default: true
- uses: jonaseberle/github-action-setup-ddev@v1
with:
autostart: false
Common recipes
SSH keys
If your workflow needs to reach remote destinations that require private SSH keys, here is a snippet showing how you might add SSH keys that you have entered as Github "secrets":
- name: Set up SSH keys
run: |
mkdir -p .ddev/homeadditions/.ssh
echo "${{ secrets.MY_KEY }}" > .ddev/homeadditions/.ssh/id_rsa
echo "${{ secrets.MY_KNOWN_HOSTS }}" > .ddev/homeadditions/.ssh/known_hosts
chmod 700 .ddev/homeadditions/.ssh
chmod 600 .ddev/homeadditions/.ssh/id_rsa
- name: Set up ddev
uses: jonaseberle/github-action-setup-ddev@v1
Contact
For bugs and feature requests use the Github bug tracker.
Pull requests are very welcome.