From 07e4f08f31ee25c4b0c9a0359766a4df34172eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Wed, 14 Oct 2020 22:44:46 +0200 Subject: [PATCH] feat: switch to GitHub Actions (#72) * feat: switch to GitHub Actions * feat: add docker compose cache * docs: add GH actions badge --- .gitattributes | 1 - .github/workflows/ci.yml | 33 +++++++++++++++++++++++++++++++++ .travis.yml | 34 ---------------------------------- README.md | 2 ++ 4 files changed, 35 insertions(+), 35 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.gitattributes b/.gitattributes index c6d3328..86fc82d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15,5 +15,4 @@ bin/console text eol=lf *.ico binary *.png binary -.travis.yml export-ignore README.md export-ignore diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5be17d8 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +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 + - uses: satackey/action-docker-layer-caching@v0.0.8 + continue-on-error: true + - 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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 875ea2d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ -sudo: required - -services: - - docker - -## Use this method when travis updated docker-ce for the variable substitution -#addons: -# apt: -# packages: -# - docker-ce - -env: - DOCKER_COMPOSE_VERSION: 1.18.0 - -before_install: - - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose - - chmod +x docker-compose - - sudo mv docker-compose /usr/local/bin - -install: - - true - -script: - - docker-compose -v - - docker-compose pull --ignore-pull-failures - - docker-compose build --pull - - docker-compose up -d - - sleep 30 - - docker-compose exec -T php composer req sensiolabs/security-checker - - docker-compose exec -T php bin/console security:check - - docker-compose run --no-deps -T php composer validate --no-check-publish - - curl http://localhost # Client - - curl -k https://localhost # Client (HTTP/2) - - docker-compose logs # Display logs if anything wrong diff --git a/README.md b/README.md index e70f630..0fb1006 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ A [Docker](https://www.docker.com/)-based installer and runtime for the [Symfony](https://symfony.com) web framework, with full [HTTP/2](https://symfony.com/doc/current/weblink.html) and HTTPS support. +![CI](https://github.com/dunglas/symfony-docker/workflows/CI/badge.svg) + ## Getting Started 1. Run `docker-compose up` (the logs will be displayed in the current shell)