Refactor update install tag argument parsing #20
Workflow file for this run
This file contains hidden or 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: Check CI | |
on: | |
# Run on pull requests to primary branches | |
pull_request: | |
branches: | |
- master | |
- main | |
- prod | |
- production | |
- staging | |
- dev | |
- develop | |
- development | |
- test | |
paths: | |
- '.github/workflows/check.yml' | |
- 'dockerc' | |
- 'test/**' | |
- 'docker-compose.yml' | |
- 'docker-compose.test.yml' | |
# Run on manual triggers | |
workflow_dispatch: | |
# Set GITHUB_TOKEN permissions for the workflow | |
permissions: | |
contents: read | |
# Set workflow concurrency rules | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# Test job | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build docker images for testing | |
run: | | |
# docker compose build | |
echo "::group::Build tests" | |
docker compose \ | |
-f ./docker-compose.yml -f ./docker-compose.test.yml \ | |
--env-file .env \ | |
build | |
echo "::endgroup::" | |
- name: Run docker images for testing | |
run: | | |
# docker compose up | |
echo "::group::Run tests" | |
docker compose \ | |
-f ./docker-compose.yml -f ./docker-compose.test.yml \ | |
--env-file .env \ | |
up | |
echo "::endgroup::" | |
echo '::group::Check tests success' | |
# Check services for non-zero exit codes | |
NON_ZERO_EXIT_CODES=$( | |
docker compose \ | |
-f ./docker-compose.yml -f ./docker-compose.test.yml \ | |
--env-file .env \ | |
ps -a --format '{{.ExitCode}}' \ | |
| grep -v '^0$' \ | |
|| true | |
) | |
if [ -n "${NON_ZERO_EXIT_CODES}" ]; then | |
# Non-zero exit codes found | |
echo 'Non-zero exit codes found.' | |
docker compose \ | |
-f ./docker-compose.yml -f ./docker-compose.test.yml \ | |
--env-file .env \ | |
ps -a | |
exit 1 | |
else | |
# All services succeeded | |
echo 'All services succeeded.' | |
fi | |
echo '::endgroup::' |