-
-
Notifications
You must be signed in to change notification settings - Fork 28
116 lines (94 loc) · 3.46 KB
/
test-publish.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
name: Test publish
on:
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: '${{ secrets.TOLGEE_MACHINE_PAT }}'
- uses: actions/setup-node@v3
with:
node-version: '18'
- uses: pnpm/[email protected]
name: Install pnpm
id: pnpm-install
with:
version: 7.16.0
run_install: false
- name: Create branch
run: git checkout -b test.$(git rev-parse --short HEAD)
- name: Install root and packages dependencies
run: |
pnpm install --ignore-workspace
pnpm install --no-frozen-lockfile --filter='./packages/*'
- name: Update version with lerna
run: |
lerna version prerelease --yes --conventional-prerelease --preid test.$(git rev-parse --short HEAD) --ignore-scripts \
--force-publish --no-push --no-git-tag-version --exact
- name: Set TOLGEE_UI_VERSION
run: |
echo "TOLGEE_UI_VERSION=$(pnpm run --silent ui-version)" >> $GITHUB_ENV
pnpm run --silent ui-version
- name: Build packages
run: pnpm build-packages
- name: Set npm registry to GitHub Packages
run: |
echo "" >> .npmrc
echo "//npm.pkg.github.com/:_authToken=${{ secrets.TOLGEE_MACHINE_PAT }}" >> .npmrc
echo "@tolgee:registry=https://npm.pkg.github.com" >> .npmrc
- name: Publish to GitHub Packages
run: pnpm publish -r --no-git-checks --tag test
env:
NODE_AUTH_TOKEN: ${{secrets.TOLGEE_MACHINE_PAT}}
- id: set-dirs
run: echo "dirs=$(ls | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
working-directory: e2e/cypress/e2e
outputs:
dirs: ${{ steps.set-dirs.outputs.dirs }}
cypress:
needs: prepare
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
app: ${{ fromJson(needs.prepare.outputs.dirs) }}
steps:
- uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: '18'
- uses: pnpm/[email protected]
name: Install pnpm
id: pnpm-install
with:
version: 7.16.0
run_install: false
- name: Set npm registry to GitHub Packages and prevent linking to local packages
run: |
echo "" >> .npmrc
echo "link-workspace-packages=false" >> .npmrc
echo "//npm.pkg.github.com/:_authToken=${{ secrets.TOLGEE_MACHINE_PAT }}" >> .npmrc
echo "@tolgee:registry=https://npm.pkg.github.com" >> .npmrc
- name: Install for root and for testapps
run: |
pnpm install --ignore-workspace
pnpm install --no-frozen-lockfile --filter='./testapps/*'
pnpm install --no-frozen-lockfile --filter='./e2e'
- name: Create branch
run: git checkout -b test.$(git rev-parse --short HEAD)
- name: Update version with lerna
run: |
lerna version prerelease --yes --conventional-prerelease --preid test.$(git rev-parse --short HEAD) --ignore-scripts \
--force-publish --no-push --no-git-tag-version --exact
- name: Run e2e tests
run: pnpm run e2e run --headed ${{matrix.app}} --stdout prod,dev
- uses: actions/upload-artifact@v2
if: failure()
with:
name: cypress
path: |
e2e/cypress/videos/**/*
e2e/cypress/screenshots/**/*