-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4b7d2da
commit 23495e5
Showing
7 changed files
with
265 additions
and
0 deletions.
There are no files selected for viewing
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,33 @@ | ||
name: Run all tests | ||
|
||
on: | ||
pull_request: {} | ||
workflow_call: {} | ||
|
||
jobs: | ||
lint: | ||
uses: ./.github/workflows/lint.yml | ||
|
||
jest: | ||
uses: ./.github/workflows/jest.yml | ||
|
||
engine: | ||
uses: ./.github/workflows/engine.yml | ||
|
||
cypress: | ||
uses: ./.github/workflows/cypress.yml | ||
|
||
backstop: | ||
uses: ./.github/workflows/backstop.yml | ||
|
||
docs-build: | ||
uses: ./.github/workflows/docs-build.yml | ||
|
||
all-tests: | ||
needs: | ||
- lint | ||
- jest | ||
- engine | ||
- cypress | ||
- backstop | ||
- docs-build |
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,47 @@ | ||
name: Backstop | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
backstop: | ||
name: Run Backstop tests | ||
runs-on: ubuntu-latest | ||
env: | ||
RAILS_ENV: test | ||
CYPRESS_INSTALL_BINARY: 0 | ||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: true | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: .nvmrc | ||
|
||
# We link the @citizensadvice/design-system package | ||
# from the root but we only build the lib/ directory | ||
# when we publish to npm, so we need to build it first. | ||
- uses: bahmutov/npm-install@v1 | ||
- run: npm run build | ||
|
||
# Setup demo app | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: '3.3.1' | ||
bundler-cache: true | ||
working-directory: demo | ||
|
||
- uses: bahmutov/npm-install@v1 | ||
with: | ||
working-directory: demo | ||
|
||
- run: npm run backstop:ci | ||
working-directory: demo | ||
|
||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: backstop-report | ||
path: | | ||
demo/visual-regression/backstop_data/html_report | ||
demo/visual-regression/backstop_data/bitmaps_reference | ||
demo/visual-regression/backstop_data/bitmaps_test | ||
retention-days: 3 |
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,62 @@ | ||
name: Cypress | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
cypress: | ||
name: Run Cypress tests | ||
runs-on: ubuntu-latest | ||
env: | ||
RAILS_ENV: test | ||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true | ||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: true | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: .nvmrc | ||
|
||
# We link the @citizensadvice/design-system package | ||
# from the root but we only build the lib/ directory | ||
# when we publish to npm, so we need to build it first. | ||
- uses: bahmutov/npm-install@v1 | ||
- run: npm run build | ||
|
||
# Setup demo app | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: '3.3.1' | ||
bundler-cache: true | ||
working-directory: demo | ||
|
||
# Cache cypress binary | ||
- uses: actions/cache@v4 | ||
with: | ||
path: /home/runner/.cache/Cypress | ||
key: cypress-binary-${{ hashFiles('package-lock.json') }} | ||
|
||
# Npm install | ||
- uses: bahmutov/npm-install@v1 | ||
with: | ||
working-directory: demo | ||
|
||
# Run rubocop against demo app code | ||
- run: bundle exec rubocop --format progress --format github | ||
working-directory: demo | ||
|
||
# Run asset build | ||
- run: ./bin/rails assets:precompile | ||
working-directory: demo | ||
|
||
# Run cypress tests | ||
- run: ./bin/rails cypress:run | ||
working-directory: demo | ||
env: | ||
CYPRESS_RAILS_CYPRESS_OPTS: '--browser chrome' | ||
|
||
# Archive test screenshots | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: cypress-screenshots | ||
path: demo/cypress/screenshots | ||
if: ${{ failure() }} |
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,43 @@ | ||
name: Docs build | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
# Runs a build of the docs website as a smoke test | ||
# to check there's no build failures | ||
# This is in addition to any builds run when adding the | ||
# "docs preview" label to a pull request. | ||
docs-build: | ||
name: Run docs build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: .nvmrc | ||
|
||
# We link the @citizensadvice/design-system package | ||
# from the root but we only build the lib/ directory | ||
# when we publish to npm, so we need to build it first. | ||
- uses: bahmutov/npm-install@v1 | ||
- run: npm run build | ||
|
||
# Setup docs site | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: '3.3.1' | ||
bundler-cache: true | ||
working-directory: design-system-docs | ||
|
||
# Install dependencies | ||
- uses: bahmutov/npm-install@v1 | ||
with: | ||
working-directory: design-system-docs | ||
|
||
# Run rubocop against docs code | ||
- run: bundle exec rubocop --format progress --format github | ||
working-directory: design-system-docs | ||
|
||
# Run a production build to confirm that assets compile correctly | ||
- run: ./bin/bridgetown deploy | ||
working-directory: design-system-docs |
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,50 @@ | ||
name: Engine | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
engine-specs: | ||
name: Run engine specs | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# Active Ruby versions (https://endoflife.date/ruby) | ||
ruby_version: ['3.1', '3.2', '3.3'] | ||
# Last 3 major Rails releases | ||
rails_version: ['~> 6.1', '~> 7.0.0', '~> 7.1.0'] | ||
# Any supported ViewComponent versions | ||
view_component_version: ['~> 2.82', '~> 3'] | ||
env: | ||
RAILS_VERSION: ${{ matrix.rails_version }} | ||
VIEW_COMPONENT_VERSION: ${{ matrix.view_component_version }} | ||
defaults: | ||
run: | ||
working-directory: engine | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ matrix.ruby_version }} | ||
working-directory: engine | ||
- run: | | ||
bundle config path vendor/bundle | ||
bundle update | ||
bundle install --jobs 4 --retry 3 | ||
- run: bundle exec rake spec | ||
|
||
engine-lint: | ||
name: Run engine lint checks | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
working-directory: engine | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
bundler-cache: true | ||
ruby-version: '3.3.1' | ||
working-directory: engine | ||
- run: bundle exec rubocop --format progress --format github | ||
- run: bundle exec erblint --lint-all |
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,15 @@ | ||
name: Jest | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
jest: | ||
name: Run Jest tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: .nvmrc | ||
- uses: bahmutov/npm-install@v1 | ||
- run: npm test |
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,15 @@ | ||
name: Lint | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
jest: | ||
name: Run lint checks | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: .nvmrc | ||
- uses: bahmutov/npm-install@v1 | ||
- run: npm run lint |