Skip to content

Commit ce49cac

Browse files
authored
Merge branch 'main' into dependabot/bundler/demo/hotwire-livereload-2.1.1
2 parents 6c9df98 + 5f384bc commit ce49cac

File tree

12 files changed

+423
-319
lines changed

12 files changed

+423
-319
lines changed

.github/version-matrix.json

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
[
22
{
3+
"label": "last",
34
"rails_version": "8.0.0",
4-
"ruby_version": "3.3",
5-
"label": "last"
5+
"ruby_version": "3.3"
66
},
77
{
8+
"label": "dotcom",
89
"rails_version": "8.1.0.beta1",
9-
"ruby_version": "3.4",
10-
"label": "dotcom"
10+
"ruby_version": "3.4"
1111
},
1212
{
13+
"label": "latest",
1314
"rails_version": "latest",
14-
"ruby_version": "3.4",
15-
"label": "latest"
16-
},
17-
{
18-
"rails_version": "main",
19-
"ruby_version": "3.4",
20-
"label": "main"
15+
"ruby_version": "3.4"
2116
}
2217
]
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: test-accessibility
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
branches:
7+
- main
8+
types:
9+
- checks_requested
10+
11+
permissions:
12+
contents: read
13+
14+
concurrency:
15+
group: test-accessibility-${{ github.head_ref || github.run_id }}
16+
cancel-in-progress: true
17+
18+
jobs:
19+
accessibility:
20+
name: Accessibility
21+
runs-on: ubuntu-latest-8-cores
22+
steps:
23+
- uses: actions/checkout@v6
24+
- uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: "3.4"
27+
bundler-cache: true
28+
- uses: actions/setup-node@v5
29+
with:
30+
node-version: 20
31+
cache: "npm"
32+
cache-dependency-path: |
33+
package-lock.json
34+
demo/package-lock.json
35+
- name: Build
36+
run: |
37+
npm ci
38+
cd demo && npm ci
39+
- name: Test
40+
run: bundle exec rake test:accessibility
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: test-components
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
branches:
7+
- main
8+
types:
9+
- checks_requested
10+
11+
permissions:
12+
contents: read
13+
14+
concurrency:
15+
group: test-components-${{ github.head_ref || github.run_id }}
16+
cancel-in-progress: true
17+
18+
env:
19+
FERRUM_PROCESS_TIMEOUT: 30
20+
21+
jobs:
22+
load-matrix:
23+
name: Load test matrix
24+
runs-on: ubuntu-latest
25+
outputs:
26+
matrix: ${{ steps.set-matrix.outputs.matrix }}
27+
steps:
28+
- uses: actions/checkout@v6
29+
- id: set-matrix
30+
run: echo "matrix=$(cat .github/version-matrix.json | jq -c .)" >> $GITHUB_OUTPUT
31+
components:
32+
name: Components (${{ matrix.label }})
33+
runs-on: ubuntu-latest
34+
needs: load-matrix
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
include: ${{ fromJson(needs.load-matrix.outputs.matrix) }}
39+
steps:
40+
- uses: actions/checkout@v6
41+
- uses: ruby/setup-ruby@v1
42+
with:
43+
ruby-version: ${{ matrix.ruby_version }}
44+
bundler-cache: true
45+
cache-version: ${{ matrix.rails_version }}-${{ matrix.ruby_version }}
46+
- uses: actions/setup-node@v5
47+
with:
48+
node-version: 20
49+
cache: "npm"
50+
- name: Build
51+
run: |
52+
npm ci
53+
bundle config unset deployment
54+
bundle install --jobs 4 --retry 3
55+
env:
56+
RUBY_VERSION: ${{ matrix.ruby_version }}
57+
RAILS_VERSION: ${{ matrix.rails_version }}
58+
- name: Test
59+
run: |
60+
bundle exec rake test:components
61+
bundle exec rake test:coverage
62+
env:
63+
COVERAGE: 1
64+
RUBY_VERSION: ${{ matrix.ruby_version }}
65+
RAILS_VERSION: ${{ matrix.rails_version }}

.github/workflows/test-lib.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: test-lib
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
branches:
7+
- main
8+
types:
9+
- checks_requested
10+
11+
permissions:
12+
contents: read
13+
14+
concurrency:
15+
group: test-lib-${{ github.head_ref || github.run_id }}
16+
cancel-in-progress: true
17+
18+
env:
19+
FERRUM_PROCESS_TIMEOUT: 30
20+
21+
jobs:
22+
load-matrix:
23+
name: Load test matrix
24+
runs-on: ubuntu-latest
25+
outputs:
26+
matrix: ${{ steps.set-matrix.outputs.matrix }}
27+
steps:
28+
- uses: actions/checkout@v6
29+
- id: set-matrix
30+
run: echo "matrix=$(cat .github/version-matrix.json | jq -c .)" >> $GITHUB_OUTPUT
31+
lib:
32+
name: Lib (${{ matrix.label }})
33+
runs-on: ubuntu-latest
34+
needs: load-matrix
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
include: ${{ fromJson(needs.load-matrix.outputs.matrix) }}
39+
steps:
40+
- uses: actions/checkout@v6
41+
- uses: ruby/setup-ruby@v1
42+
with:
43+
ruby-version: ${{ matrix.ruby_version }}
44+
bundler-cache: true
45+
cache-version: ${{ matrix.rails_version }}-${{ matrix.ruby_version }}
46+
- uses: actions/setup-node@v5
47+
with:
48+
node-version: 20
49+
cache: "npm"
50+
- name: Build
51+
run: |
52+
npm ci
53+
bundle config unset deployment
54+
bundle install --jobs 4 --retry 3
55+
env:
56+
RUBY_VERSION: ${{ matrix.ruby_version }}
57+
RAILS_VERSION: ${{ matrix.rails_version }}
58+
- name: Test
59+
run: |
60+
bundle exec rake test:lib
61+
bundle exec rake test:coverage
62+
env:
63+
COVERAGE: 1
64+
RUBY_VERSION: ${{ matrix.ruby_version }}
65+
RAILS_VERSION: ${{ matrix.rails_version }}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: test-performance
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
branches:
7+
- main
8+
types:
9+
- checks_requested
10+
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
15+
concurrency:
16+
group: test-performance-${{ github.head_ref || github.run_id }}
17+
cancel-in-progress: true
18+
19+
env:
20+
FERRUM_PROCESS_TIMEOUT: 30
21+
22+
jobs:
23+
load-matrix:
24+
name: Load test matrix
25+
runs-on: ubuntu-latest
26+
outputs:
27+
matrix: ${{ steps.set-matrix.outputs.matrix }}
28+
steps:
29+
- uses: actions/checkout@v6
30+
- id: set-matrix
31+
run: echo "matrix=$(cat .github/version-matrix.json | jq -c .)" >> $GITHUB_OUTPUT
32+
performance:
33+
name: Performance (${{ matrix.label }})
34+
runs-on: ubuntu-latest
35+
needs: load-matrix
36+
strategy:
37+
fail-fast: false
38+
matrix:
39+
include: ${{ fromJson(needs.load-matrix.outputs.matrix) }}
40+
steps:
41+
- uses: actions/checkout@v6
42+
- uses: ruby/setup-ruby@v1
43+
with:
44+
ruby-version: ${{ matrix.ruby_version }}
45+
bundler-cache: true
46+
cache-version: ${{ matrix.rails_version }}-${{ matrix.ruby_version }}
47+
- name: Build
48+
run: |
49+
bundle config unset deployment
50+
bundle install --jobs 4 --retry 3
51+
env:
52+
RUBY_VERSION: ${{ matrix.ruby_version }}
53+
RAILS_VERSION: ${{ matrix.rails_version }}
54+
- name: Test
55+
run: |
56+
bundle exec rake test:performance
57+
env:
58+
RUBY_VERSION: ${{ matrix.ruby_version }}
59+
RAILS_VERSION: ${{ matrix.rails_version }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: test-selectors
2+
3+
on:
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
concurrency:
10+
group: test-selectors-${{ github.head_ref || github.run_id }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
selectors:
15+
name: CSS coverage
16+
runs-on: ubuntu-latest-8-cores
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v6
20+
- name: Setup Ruby
21+
uses: ruby/setup-ruby@v1
22+
with:
23+
ruby-version: "3.2"
24+
bundler-cache: true
25+
- name: Setup Node
26+
uses: actions/setup-node@v5
27+
with:
28+
node-version: 20
29+
cache: "npm"
30+
- name: NPM Build
31+
run: npm ci
32+
env:
33+
# Disable CSS minification for tests
34+
CI: "false"
35+
- name: Test CSS
36+
run: bundle exec rake test:component_css

.github/workflows/test-system.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: test-system
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
branches:
7+
- main
8+
types:
9+
- checks_requested
10+
11+
permissions:
12+
contents: read
13+
14+
concurrency:
15+
group: test-system-${{ github.head_ref || github.run_id }}
16+
cancel-in-progress: true
17+
18+
env:
19+
FERRUM_PROCESS_TIMEOUT: 30
20+
21+
jobs:
22+
system:
23+
name: System (${{ matrix.browser }})
24+
runs-on: ubuntu-latest
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
browser:
29+
- chrome
30+
# - firefox # Firefox is currently disabled due to intermittent CI failures.
31+
steps:
32+
- uses: actions/checkout@v6
33+
- uses: ruby/setup-ruby@v1
34+
with:
35+
ruby-version: "3.2"
36+
bundler-cache: true
37+
- uses: actions/setup-node@v5
38+
with:
39+
node-version: 20
40+
cache: "npm"
41+
cache-dependency-path: |
42+
package-lock.json
43+
demo/package-lock.json
44+
- name: Build
45+
run: |
46+
npm ci
47+
cd demo && npm ci
48+
- name: Test
49+
run: |
50+
USE_BROWSER=${{ matrix.browser }} bundle exec rake test:system

0 commit comments

Comments
 (0)