Skip to content

Commit 83d5874

Browse files
authored
refactor(gh-ci): split workflow tasks (#515)
* refactor(gh-ci): delete release-drafter * refactor(gh-ci): split workflow tasks * refactor(gh-ci): split workflow tasks * refactor(gh-ci): split workflow tasks * refactor(gh-ci): split workflow tasks * refactor(gh-ci): split workflow tasks
1 parent b799600 commit 83d5874

2 files changed

Lines changed: 80 additions & 70 deletions

File tree

‎.github/release-drafter.yml‎

Lines changed: 0 additions & 44 deletions
This file was deleted.

‎.github/workflows/main.yml‎

Lines changed: 80 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,97 @@
11
name: CI
2+
env:
3+
NV: 12.x # node version
24

35
on:
46
push:
57
release:
68
types: [published]
79

810
jobs:
9-
build-test:
10-
name: Build and Test
11+
12+
find-ignored-tests:
13+
name: Find ignored tests
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout source
17+
uses: actions/checkout@v2
18+
- name: Run the script
19+
run: ./find-ignored-tests.sh
20+
21+
unit-tests:
22+
name: Run unit tests
23+
needs: [find-ignored-tests]
1124
runs-on: ubuntu-latest
12-
strategy:
13-
matrix:
14-
node-version: [12.x]
1525
steps:
16-
- uses: actions/checkout@v2
17-
- name: Use Node.js ${{ matrix.node-version }}
26+
- name: Checkout source
27+
uses: actions/checkout@v2
28+
- name: Set up Node.js ${{ env.NV }}
1829
uses: actions/setup-node@v1
1930
with:
20-
node-version: ${{ matrix.node-version }}
31+
node-version: ${{ env.NV }}
2132
- name: Install dependencies
2233
run: npm install
23-
- name: Build app in prod mode
24-
run: npm run build-prod
25-
- name: Find ignored tests
26-
run: ./find-ignored-tests.sh
27-
- name: Run unit tests
34+
- name: Run the tests
2835
run: npm run test-ci
2936
env:
3037
TZ: Europe/Zurich
31-
- name: Run e2e tests
32-
run: |
33-
npm run webdriver-update
34-
npm run test-e2e-protractor
35-
- name: Run lint
38+
39+
e2e-tests:
40+
name: Run e2e tests
41+
needs: [find-ignored-tests]
42+
runs-on: ubuntu-latest
43+
steps:
44+
- name: Checkout source
45+
uses: actions/checkout@v2
46+
- name: Set up Node.js ${{ env.NV }}
47+
uses: actions/setup-node@v1
48+
with:
49+
node-version: ${{ env.NV }}
50+
- name: Install dependencies
51+
run: npm install
52+
- name: Webdriver update
53+
run: npm run webdriver-update
54+
- name: Run the tests
55+
run: npm run test-e2e-protractor
56+
57+
lint:
58+
name: Run lint
59+
runs-on: ubuntu-latest
60+
steps:
61+
- name: Checkout source
62+
uses: actions/checkout@v2
63+
- name: Set up Node.js ${{ env.NV }}
64+
uses: actions/setup-node@v1
65+
with:
66+
node-version: ${{ env.NV }}
67+
- name: Install dependencies
68+
run: npm install
69+
- name: Run the script
3670
run: npm run lint-ci
3771

72+
build:
73+
name: Build the app
74+
runs-on: ubuntu-latest
75+
steps:
76+
- name: Checkout source
77+
uses: actions/checkout@v2
78+
- name: Set up Node.js ${{ env.NV }}
79+
uses: actions/setup-node@v1
80+
with:
81+
node-version: ${{ env.NV }}
82+
- name: Install dependencies
83+
run: npm install
84+
- name: Build in prod mode
85+
run: npm run build-prod
86+
3887
release-please:
3988
name: Prepare next release
4089
runs-on: ubuntu-latest
4190
# Automate releases with Conventional Commit Messages as Pull Requests are merged into "main" branch
4291
if: github.ref == 'refs/heads/main'
4392
steps:
44-
- uses: GoogleCloudPlatform/release-please-action@v2
93+
- name: Get release please action
94+
uses: GoogleCloudPlatform/release-please-action@v2
4595
with:
4696
token: ${{ secrets.GH_TOKEN }}
4797
release-type: node
@@ -51,7 +101,12 @@ jobs:
51101
# publish only on release
52102
publish:
53103
name: Publish to Dockerhub
54-
needs: build-test
104+
needs: [
105+
build,
106+
lint,
107+
e2e-tests,
108+
unit-tests
109+
]
55110
runs-on: ubuntu-latest
56111
if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags')
57112
steps:
@@ -80,7 +135,8 @@ jobs:
80135
name: Docs Build Test
81136
runs-on: ubuntu-latest
82137
steps:
83-
- uses: actions/checkout@v2
138+
- name: Checkout source
139+
uses: actions/checkout@v2
84140
with:
85141
fetch-depth: 1
86142
- name: Set up Python 3.8
@@ -97,7 +153,7 @@ jobs:
97153
docker system df
98154
docker system prune --all --force --volumes
99155
df -h
100-
- name: run docs build
156+
- name: Run docs build
101157
run: make docs-build
102158
- name: Disk Free After
103159
run: |
@@ -107,13 +163,11 @@ jobs:
107163
# deploy documentation only on release
108164
deploy-docs:
109165
name: Deploy docs (on release only)
110-
needs: [
111-
docs-build-test
112-
]
166+
needs: [docs-build-test]
113167
runs-on: ubuntu-latest
114168
if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags')
115169
steps:
116-
- name: Checkout main
170+
- name: Checkout source
117171
uses: actions/checkout@v2
118172
- name: Deploy docs
119173
uses: mhausenblas/mkdocs-deploy-gh-pages@1.16

0 commit comments

Comments
 (0)