name: CI on: push: pull_request: jobs: build: name: Docker build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Pull images run: docker-compose pull - name: Start services run: docker-compose up --build -d - name: Wait for services run: | while status="$(docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" "$(docker-compose ps -q php)")"; do case $status in starting) sleep 1;; healthy) exit 0;; unhealthy) exit 1;; esac done exit 1 - name: Check HTTP reachability run: curl http://localhost - name: Check HTTPS reachability run: curl -k https://localhost