-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrate from CircleCI to GitHub Actions; add Cucumber features to CI (#…
…2132) * Use ubuntu-20.04 for old versions of Ruby * Add API token needed by Danger * Remove CircleCI * Switch README badge from CircleCI to GitHub Actions * Cucumber features now run in CI! * Aggregate both spec matrices into a single pass/fail job
- Loading branch information
1 parent
0af1336
commit 31e142d
Showing
4 changed files
with
89 additions
and
140 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: CI | ||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
jobs: | ||
spec: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "head"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ matrix.ruby }} | ||
bundler-cache: true | ||
- name: rake spec | ||
run: bundle exec rake spec | ||
spec-legacy: | ||
runs-on: ubuntu-20.04 | ||
strategy: | ||
matrix: | ||
ruby: ["2.0", "2.1", "2.2"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ matrix.ruby }} | ||
bundler-cache: true | ||
- name: rake spec | ||
run: bundle exec rake spec | ||
spec-all: | ||
runs-on: ubuntu-latest | ||
needs: [spec, spec-legacy] | ||
if: always() | ||
steps: | ||
- name: All tests ok | ||
if: ${{ !(contains(needs.*.result, 'failure')) }} | ||
run: exit 0 | ||
- name: Some tests failed | ||
if: ${{ contains(needs.*.result, 'failure') }} | ||
run: exit 1 | ||
rubocop: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: "ruby" # latest-stable | ||
bundler-cache: true | ||
- name: rake rubocop | ||
run: bundle exec rake rubocop | ||
danger: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: "ruby" # latest-stable | ||
bundler-cache: true | ||
- name: danger | ||
env: | ||
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} | ||
run: bundle exec danger | ||
features: | ||
needs: [spec, spec-legacy] | ||
runs-on: macos-12 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Cache Vagrant boxes | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/.vagrant.d/boxes | ||
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }} | ||
restore-keys: | | ||
${{ runner.os }}-vagrant- | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: "ruby" # latest-stable | ||
bundler-cache: true | ||
- name: rake features | ||
run: bundle exec rake features |
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
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