Merge pull request #446 from DannyBen/fix/strict-mode #948
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.0', '3.1', '3.2'] } | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- 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: Static analysis of Example files | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# 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: Validate JSON schemas | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# 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 |