Refactor workflow job names and update Node.js version #206
Workflow file for this run
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: git-fame | |
on: [push] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
rubocop: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Install Ruby and dependencies | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
ruby-version: 2.7.5 | |
- name: Run Rubocop | |
run: bundle exec rubocop | |
rspec: | |
runs-on: ${{ matrix.os }} | |
needs: [rubocop] | |
strategy: | |
matrix: | |
ruby: ["2.7.5", "3.0.3", "3.1.0", "3.2.0", "3.3.0"] | |
os: [ubuntu-latest, macos-latest] | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Ruby and dependencies | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
ruby-version: ${{ matrix.ruby }} | |
- name: Run RSpec | |
run: bundle exec rspec --format RSpec::Github::Formatter --format progress --color --tty | |
- name: Install gem locally | |
run: bundle exec rake install:local | |
- name: Run git-fame | |
run: bundle exec exe/git-fame --log-level debug | |
- name: Upload coverage to CodeClimate | |
if: runner.os != 'macos-latest' | |
uses: paambaati/codeclimate-action@v9 | |
env: | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
CI: true | |
with: | |
coverageLocations: ${{ github.workspace }}/coverage/coverage.xml:cobertura | |
coverageCommand: bundle exec rspec | |
devcontainer: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "20.x" | |
- name: Set up DevContainer CLI | |
run: npm install -g @devcontainers/cli | |
- name: Build and start DevContainer | |
run: | | |
devcontainer build --workspace-folder . | |
devcontainer up --workspace-folder . | |
- name: Run tests inside DevContainer | |
run: devcontainer exec --workspace-folder . bundle exec rspec | |
dockerfile: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Build Docker image | |
run: docker build -t git-fame -f .devcontainer/Dockerfile . | |
- name: Run tests in Docker container | |
run: docker run --rm -v $(pwd):/workspace git-fame bundle exec rspec |