Add 'Global Options' caption when appropriate #1122
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: Test | |
on: | |
pull_request: | |
push: { branches: master } | |
jobs: | |
test: | |
name: Ruby ${{ matrix.ruby }} | |
runs-on: ubuntu-latest | |
env: | |
# For consistent sort order | |
LC_ALL: en_US.UTF-8 | |
strategy: | |
matrix: { ruby: ['3.1', '3.2', '3.3'] } | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install OS dependencies | |
run: sudo apt-get -y install mandoc | |
# Rush needed for easy installation of stuff | |
- name: Install rush | |
run: curl -Ls http://get.dannyb.co/rush/setup | bash | |
- name: Connect rush repo | |
run: rush clone dannyben --shallow --default | |
- name: Install pandoc | |
run: rush get pandoc | |
# libyaml needed for Ruby's YAML library | |
- name: Install OS dependencies | |
run: sudo apt-get -y install libyaml-dev | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '${{ matrix.ruby }}' | |
bundler-cache: true | |
- name: Run tests | |
run: bundle exec rspec | |
static_analysis: | |
name: Example files static analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Rush needed for easy installation of latest shfmt | |
- name: Install rush | |
run: curl -Ls http://get.dannyb.co/rush/setup | bash | |
- name: Connect rush repo | |
run: rush clone dannyben --shallow --default | |
- name: Install shfmt | |
run: rush get shfmt | |
# libyaml needed for Ruby's YAML library | |
- name: Install OS dependencies | |
run: sudo apt-get -y install libyaml-dev | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.1' | |
bundler-cache: true | |
- name: Generate all subjects | |
run: bundle exec run examples regen | |
- name: Run shellcheck tests | |
run: bundle exec run shellcheck | |
- name: Run shfmt tests | |
run: bundle exec run shfmt | |
json_schema: | |
name: JSON schemas validation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Rush needed for easy installation of check-jsonschema | |
- name: Install rush | |
run: curl -Ls http://get.dannyb.co/rush/setup | bash | |
- name: Connect rush repo | |
run: rush clone dannyben --shallow --default | |
- name: Install check-jsonschema | |
run: rush get check-jsonschema | |
# libyaml needed for Ruby's YAML library | |
- name: Install OS dependencies | |
run: sudo apt-get -y install libyaml-dev | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.1' | |
bundler-cache: true | |
- name: Generate all subjects | |
run: bundle exec run examples regen | |
- name: Run schema tests | |
run: bundle exec run schema all | |
codespell: | |
name: Spell check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install OS dependencies | |
run: sudo apt-get -y install codespell | |
- name: Run codespell | |
run: codespell | |
docker: | |
name: Docker smoke test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build the image | |
run: docker compose build bash | |
- name: Test pandoc presence | |
run: docker compose run pandoc-test |