Merge pull request #972 from proditis/master #919
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci-tests | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
- '.mkdocs.yml' | |
- 'docs/**' | |
branches: [ master ] | |
jobs: | |
phpcomposer: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Setup PHP with PECL extension | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
extensions: imagick, gd, mysqli, pdo, intl, mbstring | |
tools: composer:v2 | |
- uses: actions/checkout@v3 | |
- name: Check if packagist is up and if not use a mirror... | |
run: nc -N -w1 asset-packagist.org 443 || composer config -g repos.packagist composer https://packagist.fi | |
- name: Configure github token | |
run: composer config -g github-oauth.github.com "${{ secrets.GITHUBOAUTHTOKEN }}" | |
- name: Validate frontend composer.json and composer.lock | |
run: | | |
cd frontend | |
composer validate | |
- name: Validate backend composer.json and composer.lock | |
run: | | |
cd backend | |
composer validate | |
- name: Install frontend dependencies | |
run: | | |
cd frontend | |
php7.4 /usr/bin/composer update --no-dev --prefer-dist --no-progress | |
- name: Install backend dependencies | |
run: | | |
cd backend | |
php7.4 /usr/bin/composer update --no-dev --prefer-dist --no-progress | |
dockerbuilds: | |
needs: [phpcomposer] | |
runs-on: ubuntu-20.04 | |
env: | |
GITHUB_OAUTH_TOKEN: ${{ secrets.GITHUBOAUTHTOKEN }} | |
steps: | |
- name: Setup PHP with PECL extension | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
extensions: imagick, gd, mysqli, pdo, intl, mbstring | |
tools: composer:v2 | |
- uses: actions/checkout@v3 | |
- name: Enable experimental docker features | |
run: | | |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json | |
sudo service docker restart | |
- name: Configure github token | |
run: composer config -g github-oauth.github.com "${{ secrets.GITHUBOAUTHTOKEN }}" | |
- name: Install frontend dependencies | |
run: | | |
cd frontend | |
php7.4 /usr/bin/composer update --no-dev --prefer-dist --no-progress | |
- name: Install backend dependencies | |
run: | | |
cd backend | |
php7.4 /usr/bin/composer update --no-dev --prefer-dist --no-progress | |
- name: Build the all-in-one Docker image | |
run: docker build --squash . --file contrib/Dockerfile --tag echothrust/echoctf.red-all-in-one:latest | |
- name: Build the DB Docker image | |
run: docker build --squash . --file contrib/Dockerfile-mariadb --tag echothrust/echoctf.red-db:latest | |
- name: Build the frontend Docker image | |
run: docker build --squash . --file contrib/Dockerfile-frontend --tag echothrust/echoctf.red-frontend:latest | |
- name: Build the backend Docker image | |
run: docker build --squash . --file contrib/Dockerfile-backend --tag echothrust/echoctf.red-backend:latest | |
- name: Build the vpn Docker image | |
run: docker build --squash . --file contrib/Dockerfile-vpn --tag echothrust/echoctf.red-vpn:latest | |
- name: Login to DockerHub | |
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p${{ secrets.DOCKER_PASSWORD }} | |
- name: Push the all-in-one Docker image | |
run: docker push echothrust/echoctf.red-all-in-one:latest | |
- name: Push the DB Docker image | |
run: docker push echothrust/echoctf.red-db:latest | |
- name: Push the frontend Docker image | |
run: docker push echothrust/echoctf.red-frontend:latest | |
- name: Push the backend Docker image | |
run: docker push echothrust/echoctf.red-backend:latest | |
- name: Push the vpn Docker image | |
run: docker push echothrust/echoctf.red-vpn:latest | |
- name: Build the docker-compose stack | |
run: docker-compose up -d | |
- name: Check running containers | |
run: docker ps -a | |
- name: Drop containers | |
run: docker-compose down --rmi all | |
- name: Build the docker-compose-novpn.yml stack | |
run: docker-compose -f docker-compose-novpn.yml up -d | |
- name: Check running containers | |
run: docker ps -a | |
- name: Drop containers | |
run: docker-compose down --rmi all |