Feature/cancan #163
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: Build-Test | |
| on: | |
| push: | |
| branches: [ "develop" ] | |
| pull_request: | |
| branches: [ "develop" ] | |
| jobs: | |
| build_and_test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Make env file | |
| run: | | |
| cp .env.example .env | |
| - name: Dotenv Action | |
| uses: falti/dotenv-action@v1.1.4 | |
| - name: Github Action cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/caches | |
| key: ${{ runner.os }}-${{ hashFiles('Gemfile.lock') }} | |
| - name: Load Docker image | |
| run: | | |
| set +o pipefail | |
| docker load -i ~/caches/cerberus.tar | true | |
| - name: Build the Docker image | |
| run: docker build --cache-from=nakatomi/cerberus_web:latest . --file Dockerfile --tag nakatomi/cerberus_web:latest --tag nakatomi/cerberus_web:$(cat .version) | |
| - name: Save Docker image | |
| run: | | |
| mkdir -p ~/caches | |
| docker save -o ~/caches/cerberus.tar nakatomi/cerberus_web | |
| - name: Setup dockerize | |
| uses: zcong1993/setup-dockerize@v2.0.0 | |
| - name: Start server | |
| run: | | |
| set -x | |
| docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d | |
| # - name: Create database and migrate | |
| # run: | | |
| # docker compose exec -T web bundle exec rake db:migrate | |
| - name: Wait until available | |
| run: dockerize -wait http://localhost:3000 -timeout 1m | |
| - name: Run tests | |
| run: | | |
| docker compose exec -T web bundle exec rake | |
| - name: Retrieve coverage results | |
| run: docker compose cp web:/home/cerberus/web/coverage ./coverage | |
| - name: Upload coverage files | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: coverage |