Merge pull request #107 from sue445/dependabot/bundler/dotenv-3.1.2 #367
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: test | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
- ".github/dependabot.yml" | |
workflow_dispatch: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
paths-ignore: | |
- "**.md" | |
- ".github/dependabot.yml" | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
dockerfile: | |
- ubuntu-focal-mysql | |
- ubuntu-focal-mariadb | |
- ubuntu-jammy-mysql | |
- ubuntu-jammy-mariadb | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
- name: Enable docker layer caching | |
uses: actions/cache@v4 | |
id: cache | |
with: | |
path: /tmp/image.tar | |
key: v1-${{ runner.os }}-docker-${{ matrix.dockerfile }}-${{ github.sha }} | |
restore-keys: | |
v1-${{ runner.os }}-docker-${{ matrix.dockerfile }} | |
- name: Load Docker image layer cache | |
run: docker load -i /tmp/image.tar | true | |
- run: docker build --cache-from=isucon-itamae:latest --file dockerfiles/${DOCKERFILE}.dockerfile --tag isucon-itamae:latest . | |
env: | |
DOCKERFILE: ${{ matrix.dockerfile }} | |
- name: Save Docker image layer cache | |
run: docker save isucon-itamae:latest -o /tmp/image.tar | |
- run: docker run --privileged -d --name isucon-itamae_app_1 isucon-itamae:latest /sbin/init | |
- run: bundle exec rake test:itamae | |
env: | |
LOG_LEVEL: info | |
- run: bundle exec rake test:clean | |
if: always() | |
- name: Slack Notification (not success) | |
uses: act10ns/slack@v2 | |
if: "! success()" | |
continue-on-error: true | |
with: | |
status: ${{ job.status }} | |
webhook-url: ${{ secrets.SLACK_WEBHOOK }} | |
matrix: ${{ toJson(matrix) }} | |
build_ruby: | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
fail-fast: false | |
matrix: | |
runner: | |
# - ubuntu-20.04 | |
- ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
- run: .github/workflows/build_ruby.sh | |
env: | |
XBUILD_RUBY_VERSION: ruby-dev | |
- name: Print build log when build is failed | |
run: cat /tmp/*.log | |
if: "! success()" | |
continue-on-error: true | |
- name: Slack Notification (not success) | |
uses: act10ns/slack@v2 | |
if: "! success()" | |
continue-on-error: true | |
with: | |
status: ${{ job.status }} | |
webhook-url: ${{ secrets.SLACK_WEBHOOK }} | |
matrix: ${{ toJson(matrix) }} | |
notify: | |
needs: | |
- test | |
- build_ruby | |
runs-on: ubuntu-latest | |
steps: | |
- name: Slack Notification (success) | |
uses: act10ns/slack@v2 | |
if: always() | |
continue-on-error: true | |
with: | |
status: ${{ job.status }} | |
webhook-url: ${{ secrets.SLACK_WEBHOOK }} |