This repository has been archived by the owner on Dec 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
161 lines (161 loc) · 5.57 KB
/
CI.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
name: CI
on: push
jobs:
rspec:
runs-on: ubuntu-latest
container: j4yav/ruby-yarn:3.1.0-1.22.18-1
services:
postgres:
image: postgres:13-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: asyncgo_test
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
name: Cache bundler dependencies
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install bundler dependencies
run:
bundle config set without 'development production' && bundle config
set path 'vendor/bundle' && bundle install --jobs 4 --retry 3
- name: Install node dependencies
run: bin/yarn install
- name: Run rspec
run: bundle exec rspec --tag ~type:system
env:
DATABASE_URL: postgres://postgres:postgres@postgres/asyncgo_test
rspec-system:
runs-on: ubuntu-latest
container: j4yav/ruby-yarn-chromium:3.1.0-1.22.18-1-99.0.4844.51-1
services:
postgres:
image: postgres:13-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: asyncgo_test
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
name: Cache bundler dependencies
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install bundler dependencies
run:
bundle config set without 'development production' && bundle config
set path 'vendor/bundle' && bundle install --jobs 4 --retry 3
- name: Install node dependencies
run: bin/yarn install
- name: Run rspec system specs
run: bundle exec rspec --tag type:system
env:
DATABASE_URL: postgres://postgres:postgres@postgres/asyncgo_test
rubocop:
runs-on: ubuntu-latest
container: ruby:3.1.0
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
name: Cache bundler dependencies
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Install bundler dependencies
run:
bundle config set without 'development production' && bundle config
set path 'vendor/bundle' && bundle install --jobs 4 --retry 3
- name: Run rubocop
run: bundle exec rubocop
haml-lint:
runs-on: ubuntu-latest
container: ruby:3.1.0
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v2
name: Cache bundler dependencies
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Install bundler dependencies
run:
bundle config set without 'development production' && bundle config
set path 'vendor/bundle' && bundle install --jobs 4 --retry 3
- name: Run haml-lint
run: bundle exec haml-lint
standard:
runs-on: ubuntu-latest
container: node:current-buster
steps:
- uses: actions/checkout@v3
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install node dependencies
run: yarn install
- name: Run standard
run: yarn standard
markdownlint:
runs-on: ubuntu-latest
container: node:current-buster
steps:
- uses: actions/checkout@v3
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install node dependencies
run: yarn install
- name: Run markdownlint
run: yarn markdownlint "*.md"