mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-04-04 07:09:14 +00:00
If cached assets exist, they will be downloaded which should be quicker than building them again. Then assets:precompile will build any missing assets, skipping over cached ones. Then finally, all assets are saved to a newer version of the cache. It sounds like GitHub automatically manages cache versions based on branch and time, so new branches will inherit the master cache, rather than cache from another branch. If this works, this generic code should live in a shared module or something.
579 lines
20 KiB
YAML
579 lines
20 KiB
YAML
name: Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches-ignore:
|
|
- 'dependabot/**'
|
|
pull_request:
|
|
|
|
env:
|
|
DISABLE_KNAPSACK_PRO: false
|
|
TIMEZONE: UTC
|
|
COVERAGE: true
|
|
RAILS_ENV: test
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
controllers:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [8]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
# JS is required in order for webpacker to compile, in order to render templates containing image urls
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 864ef557d85ea8e603e086c0387d5154
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/controllers/**/*_spec.rb}"
|
|
run: |
|
|
git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
|
|
bin/rake knapsack_pro:rspec
|
|
|
|
- name: Save cached public assets
|
|
id: cache-public-save
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
models:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [4]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1, 2, 3]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: 09476e2ce491c12083df62768667c674
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/models/**/*_spec.rb}"
|
|
run: |
|
|
bin/rake knapsack_pro:rspec
|
|
|
|
- name: Save cached public assets
|
|
id: cache-public-save
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
system_admin:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [14]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ff2456e64c9f2aa5157eb0daf711d3c3
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/admin/**/*_spec.rb}"
|
|
|
|
run: |
|
|
bin/rake knapsack_pro:queue:rspec
|
|
|
|
- name: Save cached public assets
|
|
id: cache-public-save
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Archive failed tests screenshots
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: failed-tests-screenshots
|
|
path: tmp/capybara/screenshots/*.png
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|
|
|
|
system_consumer:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [12]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e52bd4390c853e6c5bdfe4d0334586c1
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/system/consumer/**/*_spec.rb}"
|
|
|
|
run: |
|
|
bin/rake knapsack_pro:queue:rspec
|
|
|
|
- name: Archive failed tests screenshots
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: failed-tests-screenshots
|
|
path: tmp/capybara/screenshots/*.png
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|
|
|
|
engines:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [2]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: d6ea7ceb766404ccd016c19aa2c81b1c
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_PATTERN: "{spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/serializers/**/*_spec.rb,engines/**/*_spec.rb}"
|
|
|
|
run: |
|
|
bin/rake knapsack_pro:rspec
|
|
|
|
- name: Save cached public assets
|
|
id: cache-public-save
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Archive failed tests screenshots
|
|
if: failure()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: failed-tests-screenshots
|
|
path: tmp/capybara/screenshots/*.png
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|
|
|
|
test_the_rest:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# [n] - where the n is a number of parallel jobs you want to run your tests on.
|
|
# Use a higher number if you have slow tests to split them between more parallel jobs.
|
|
# Remember to update the value of the `ci_node_index` below to (0..n-1).
|
|
ci_node_total: [5]
|
|
# Indexes for parallel jobs (starting from zero).
|
|
# E.g. use [0, 1] for 2 parallel jobs, [0, 1, 2] for 3 parallel jobs, etc.
|
|
ci_node_index: [0, 1, 2, 3, 4]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup redis
|
|
uses: supercharge/redis-github-action@1.4.0
|
|
with:
|
|
redis-version: 6
|
|
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
# JS is required in order for webpacker to compile, in order to render templates linking to mail.css
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Set up database
|
|
run: |
|
|
bin/rake db:create db:schema:load
|
|
|
|
- name: Restore cached public assets
|
|
id: cache-public-restore
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
- name: Run tests
|
|
env:
|
|
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: e3b8800198d2d89b70c7edbdd85f8fd8
|
|
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
|
|
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
|
|
KNAPSACK_PRO_LOG_LEVEL: info
|
|
# if you use Knapsack Pro Queue Mode you must set below env variable
|
|
# to be able to retry CI build and run previously recorded tests
|
|
# https://github.com/KnapsackPro/knapsack_pro-ruby#knapsack_pro_fixed_queue_split-remember-queue-split-on-retry-ci-node
|
|
# KNAPSACK_PRO_FIXED_QUEUE_SPLIT: false
|
|
# RSpec split test files by test examples feature - it's optional
|
|
# https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it
|
|
#KNAPSACK_PRO_RSPEC_SPLIT_BY_TEST_EXAMPLES: true
|
|
KNAPSACK_PRO_TEST_FILE_EXCLUDE_PATTERN: "{engines/**/*_spec.rb,spec/models/**/*_spec.rb,spec/controllers/**/*_spec.rb,spec/serializers/**/*_spec.rb,spec/lib/**/*_spec.rb,spec/migrations/**/*_spec.rb,spec/system/**/*_spec.rb}"
|
|
run: |
|
|
bin/rake knapsack_pro:rspec
|
|
|
|
- name: Save cached public assets
|
|
id: cache-public-save
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
public/assets
|
|
public/packs-test
|
|
key: public
|
|
|
|
non_knapsack_jest_karma:
|
|
runs-on: ubuntu-22.04
|
|
services:
|
|
postgres:
|
|
image: postgres:10
|
|
ports: ["5432:5432"]
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
env:
|
|
POSTGRES_DB: open_food_network_test
|
|
POSTGRES_USER: ofn
|
|
POSTGRES_PASSWORD: f00d
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
# Rails is required for the Karma rake script
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version-file: .node-version
|
|
|
|
- name: Install JS dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Run JS tests
|
|
run: bin/rake karma:run
|
|
|
|
- name: Run jest tests
|
|
run: yarn jest
|