Skip to content

Collect code coverage for rubygems and bundler #15713

Collect code coverage for rubygems and bundler

Collect code coverage for rubygems and bundler #15713

Workflow file for this run

name: ubuntu-lint
on:
pull_request:
push:
branches:
- master
concurrency:
group: ci-${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
jobs:
python_linters:
name: Python linter ${{ matrix.command }}
runs-on: ubuntu-24.04
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
strategy:
fail-fast: false
matrix:
command:
- codespell
- yamllint
- zizmor
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
python-version: "3.13"
activate-environment: true
- name: Install Dependencies
run: uv pip install -r .github/workflows/lint/pylock.toml
- name: Run codespell
run: codespell
if: matrix.command == 'codespell'
- name: Run YAMLlint
run: yamllint .
if: matrix.command == 'yamllint'
- name: Run zizmor 🌈
run: zizmor --format=sarif . > results.sarif
if: matrix.command == 'zizmor'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
if: matrix.command == 'zizmor'
with:
sarif_file: results.sarif
category: zizmor
ruby_linters:
name: Ruby linters
runs-on: ubuntu-24.04
strategy:
fail-fast: false
env:
RUBYOPT: -Ilib
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
ruby-version: ruby
bundler: none
- name: Install Dependencies
run: bin/rake setup
- name: Run Ruby Lint
run: bin/rake rubocop
- name: Run Markdown Lint
run: bin/mdl -g . -r MD001,MD025
- name: Generate docs
run: bin/rake docs
check_misc:
name: Check misc on ${{ matrix.ruby.name }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
ruby:
- { name: ruby, value: 3.4.5 }
- { name: jruby, value: jruby-10.0.2.0 }
- { name: truffleruby, value: truffleruby-24.2.1 }
env:
RUBYOPT: -Ilib
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup ruby
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
with:
ruby-version: ${{ matrix.ruby.value }}
bundler: none
- name: Install & Check Dependencies
run: bin/rake dev:frozen_deps
- name: Misc checks
run: bin/rake man:check vendor:check version:check check_rubygems_integration
if: matrix.ruby.name != 'jruby'
timeout-minutes: 15
all-pass:
name: All ubuntu-lint jobs pass
if: always()
needs:
- python_linters
- ruby_linters
- check_misc
runs-on: ubuntu-latest
steps:
- name: check dependent jobs
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
jobs: ${{ toJSON(needs) }}