name: test on: push: branches: - master pull_request: types: - opened - synchronize - reopened schedule: - cron: "0 10 * * 5" # JST 19:00 (Fri) jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: - "2.3" image: - centos:7 - centos:8 - debian:jessie - debian:stretch - debian:buster steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true cache-version: ${{ matrix.gemfile }} - run: bundle update --jobs $(nproc) --retry 3 - name: Run Itamae run: | set -xe bundle exec itamae docker --node-yaml=spec/recipes/node.yml spec/recipes/install.rb --image=$IMAGE --tag itamae-plugin:latest env: IMAGE: ${{ matrix.image }} - name: Run Serverspec run: | set -xe bundle exec rspec env: DOCKER_IMAGE: itamae-plugin:latest - name: Slack Notification (not success) uses: lazy-actions/slatify@master if: "! success()" continue-on-error: true with: job_name: ${{ format('*build* ({0}, {1})', matrix.ruby, matrix.image) }} type: ${{ job.status }} icon_emoji: ":octocat:" url: ${{ secrets.SLACK_WEBHOOK }} token: ${{ secrets.GITHUB_TOKEN }} notify: needs: - test runs-on: ubuntu-latest steps: - name: Slack Notification (success) uses: lazy-actions/slatify@master if: always() continue-on-error: true with: job_name: '*build*' type: ${{ job.status }} icon_emoji: ":octocat:" url: ${{ secrets.SLACK_WEBHOOK }} token: ${{ secrets.GITHUB_TOKEN }}