Skip to content

Commit 924fe87

Browse files
committed
Add GitHub Actions for CI
Make sure we test if the apps actually work.
1 parent 0ce623e commit 924fe87

19 files changed

Lines changed: 75547 additions & 19 deletions

File tree

.github/workflows/ci.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Frontend test setups tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types:
9+
- opened
10+
- reopened
11+
- synchronize
12+
schedule:
13+
- cron: "0 0 * * 1-5"
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: ${{ !contains(github.ref, 'main') }}
18+
19+
env:
20+
RUNNING_IN_CI: "true"
21+
22+
jobs:
23+
test:
24+
name: "Test ${{ matrix.app }}"
25+
runs-on: ubuntu-latest
26+
timeout-minutes: 15
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
app:
31+
- angular/13
32+
- angular/14
33+
- react/cra-16
34+
- react/cra-17
35+
- react/cra-17-typescript
36+
- react/cra-18
37+
- react/vite-18
38+
- react/vite-19
39+
- stimulus/3
40+
- vue/2
41+
- vue/3
42+
- vue/3-class-component
43+
steps:
44+
- name: Checkout
45+
uses: actions/checkout@v4
46+
47+
- name: Setup Node.js
48+
uses: actions/setup-node@v4
49+
with:
50+
node-version-file: .tool-versions
51+
52+
- name: Setup Ruby
53+
uses: ruby/setup-ruby@v1
54+
with:
55+
ruby-version: "3.3"
56+
bundler-cache: true
57+
58+
- name: Install yarn
59+
run: npm install -g yarn
60+
61+
- name: Setup Chrome
62+
uses: browser-actions/setup-chrome@v1
63+
with:
64+
chrome-version: stable
65+
66+
- name: Run tests
67+
env:
68+
CI: "true"
69+
TEST_APP: ${{ matrix.app }}
70+
run: bundle exec rspec

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ node_modules
33
.pnp
44
.pnp.js
55
package-lock.json
6-
yarn.lock
76
coverage
87
build
98
dist
109
appsignal.js
1110
appsignal.ts
1211
*.log
1312
.DS_Store
14-
Gemfile.lock

Gemfile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
source 'https://rubygems.org'
1+
source "https://rubygems.org"
22

3-
gem 'rake'
4-
gem 'capybara'
5-
gem 'multipart-post'
6-
gem 'pry'
7-
gem 'rspec'
8-
gem 'selenium-webdriver'
9-
gem 'sinatra'
10-
gem 'webrick'
3+
gem "rake"
4+
gem "capybara"
5+
gem "multipart-post"
6+
gem "pry"
7+
gem "rspec"
8+
gem "selenium-webdriver"
9+
gem "sinatra"
10+
gem "webrick"
11+
gem "puma"
12+
gem "rackup"

Gemfile.lock

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.4)
5+
public_suffix (>= 2.0.2, < 6.0)
6+
capybara (3.39.2)
7+
addressable
8+
matrix
9+
mini_mime (>= 0.1.3)
10+
nokogiri (~> 1.8)
11+
rack (>= 1.6.0)
12+
rack-test (>= 0.6.3)
13+
regexp_parser (>= 1.5, < 3.0)
14+
xpath (~> 3.2)
15+
coderay (1.1.3)
16+
diff-lcs (1.5.0)
17+
matrix (0.4.2)
18+
method_source (1.0.0)
19+
mini_mime (1.1.2)
20+
mini_portile2 (2.8.9)
21+
multipart-post (2.3.0)
22+
mustermann (3.0.0)
23+
ruby2_keywords (~> 0.0.1)
24+
nio4r (2.7.5)
25+
nokogiri (1.15.2)
26+
mini_portile2 (~> 2.8.2)
27+
racc (~> 1.4)
28+
pry (0.14.2)
29+
coderay (~> 1.1)
30+
method_source (~> 1.0)
31+
public_suffix (5.0.1)
32+
puma (7.2.0)
33+
nio4r (~> 2.0)
34+
racc (1.7.1)
35+
rack (2.2.7)
36+
rack-protection (3.0.6)
37+
rack
38+
rack-test (2.1.0)
39+
rack (>= 1.3)
40+
rackup (1.0.1)
41+
rack (< 3)
42+
webrick
43+
rake (13.3.1)
44+
regexp_parser (2.8.1)
45+
rexml (3.2.5)
46+
rspec (3.12.0)
47+
rspec-core (~> 3.12.0)
48+
rspec-expectations (~> 3.12.0)
49+
rspec-mocks (~> 3.12.0)
50+
rspec-core (3.12.2)
51+
rspec-support (~> 3.12.0)
52+
rspec-expectations (3.12.3)
53+
diff-lcs (>= 1.2.0, < 2.0)
54+
rspec-support (~> 3.12.0)
55+
rspec-mocks (3.12.5)
56+
diff-lcs (>= 1.2.0, < 2.0)
57+
rspec-support (~> 3.12.0)
58+
rspec-support (3.12.0)
59+
ruby2_keywords (0.0.5)
60+
rubyzip (2.3.2)
61+
selenium-webdriver (4.10.0)
62+
rexml (~> 3.2, >= 3.2.5)
63+
rubyzip (>= 1.2.2, < 3.0)
64+
websocket (~> 1.0)
65+
sinatra (3.0.6)
66+
mustermann (~> 3.0)
67+
rack (~> 2.2, >= 2.2.4)
68+
rack-protection (= 3.0.6)
69+
tilt (~> 2.0)
70+
tilt (2.2.0)
71+
webrick (1.8.1)
72+
websocket (1.2.9)
73+
xpath (3.2.0)
74+
nokogiri (~> 1.8)
75+
76+
PLATFORMS
77+
arm64-darwin-22
78+
arm64-darwin-25
79+
x86_64-linux
80+
81+
DEPENDENCIES
82+
capybara
83+
multipart-post
84+
pry
85+
puma
86+
rackup
87+
rake
88+
rspec
89+
selenium-webdriver
90+
sinatra
91+
webrick
92+
93+
BUNDLED WITH
94+
2.4.10

0 commit comments

Comments
 (0)