blob: ef256ae6757d718c9c98c90e08bd2e5e5710ee9d (
plain)
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
|
stages:
- compiling
- publishing
image: passwords-webextension-builder
Compile Firefox:
stage: compiling
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- mkdir dist
- npm ci
- npm run build:firefox
- if [ "${CI_COMMIT_REF_NAME}" == "stable" ] ; then sed -i -e "s|.BUILD||g" ./build/manifest.json ; fi
- if [ "${CI_COMMIT_REF_NAME}" != "stable" ] ; then sed -i -e "s|BUILD|${CI_PIPELINE_ID}|g" ./build/manifest.json ; fi
- sed -i -e "s|CI_COMMIT_REF_NAME|${CI_COMMIT_REF_NAME}|g" ./build/html/build.html
- sed -i -e "s|CI_PROJECT_NAME|${CI_PROJECT_NAME}|g" ./build/html/build.html
- sed -i -e "s|CI_PROJECT_URL|${CI_PROJECT_URL}|g" ./build/html/build.html
- sed -i -e "s|CI_PIPELINE_ID|${CI_PIPELINE_ID}|g" ./build/html/build.html
- sed -i -e "s|CI_COMMIT_SHA|${CI_COMMIT_SHA}|g" ./build/html/build.html
- sed -i -e "s|CI__|CI_|g" ./build/html/build.html
- mv build dist/firefox-extension
artifacts:
paths:
- ./dist/firefox-extension
Compile Chrome:
stage: compiling
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- mkdir dist
- npm ci
- npm run build:chrome
- sed -i -e "s|99999|${CI_PIPELINE_ID}|g" ./build/manifest.json
- sed -i -e "s|CI_COMMIT_REF_NAME|${CI_COMMIT_REF_NAME}|g" ./build/html/build.html
- sed -i -e "s|CI_PROJECT_NAME|${CI_PROJECT_NAME}|g" ./build/html/build.html
- sed -i -e "s|CI_PROJECT_URL|${CI_PROJECT_URL}|g" ./build/html/build.html
- sed -i -e "s|CI_PIPELINE_ID|${CI_PIPELINE_ID}|g" ./build/html/build.html
- sed -i -e "s|CI_COMMIT_SHA|${CI_COMMIT_SHA}|g" ./build/html/build.html
- sed -i -e "s|CI__|CI_|g" ./build/html/build.html
- mv build dist/chrome-extension
artifacts:
paths:
- ./dist/chrome-extension
Publish Nightly Firefox:
stage: publishing
script:
- 'export ARTIFACT_URL=${CI_PROJECT_URL}/firefox/${CI_COMMIT_REF_NAME}/FILENAME'
- 'sed -i -e "s|\"gecko\": {|\"gecko\":{\"update_url\":\"ARTIFACT_URL\",|g" ./dist/firefox-extension/manifest.json'
- 'sed -i -e "s|ARTIFACT_URL|${ARTIFACT_URL}|g" ./dist/firefox-extension/manifest.json'
- 'sed -i -e "s|FILENAME|updates.json|g" ./dist/firefox-extension/manifest.json'
- 'web-ext sign --channel unlisted --ignore-files updates.json'
- 'sed -i -e "s|ARTIFACT_URL|${ARTIFACT_URL}|g" ./dist/firefox-extension/updates.json'
- 'export EXT_FILENAME=$(cd ./dist/firefox-extension/ && ls *.xpi)'
- 'sed -i -e "s|FILENAME|${EXT_FILENAME}|g" ./dist/firefox-extension/updates.json'
- 'export EXT_VERSION=$(node -p -e "require(\"./dist/firefox-extension/manifest.json\").version")'
- 'sed -i -e "s|VERSION|${EXT_VERSION}|g" ./dist/firefox-extension/updates.json'
- 'export SHA_512=$(sha512sum ./dist/firefox-extension/${EXT_FILENAME} | cut -d\ -f 1)'
- 'sed -i -e "s|SHA_512|${SHA_512}|g" ./dist/firefox-extension/updates.json'
- 'export CHANGELOG_URL=${CI_PROJECT_URL}/raw/${CI_COMMIT_SHA}/Changelog.md'
- 'sed -i -e "s|CHANGELOG_URL|${CHANGELOG_URL}|g" ./dist/firefox-extension/updates.json'
environment:
name: Testing
only:
- testing
artifacts:
paths:
- ./dist/firefox-extension/updates.json
- ./dist/firefox-extension/*.xpi
Publish Nightly Chrome:
stage: publishing
allow_failure: true
script:
- 'export WEXT_SHIPIT_CHROME_EXTENSION_ID=${CHROME_EXTENSION_ID_TESTING}'
- 'shipit chrome dist/chrome-extension'
environment:
name: Testing
only:
- testing
Publish Stable Firefox:
stage: publishing
script:
- 'rm dist/firefox-extension/updates.json'
- 'web-ext-submit --channel listed'
environment:
name: Stable
only:
- stable
Publish Stable Chrome:
stage: publishing
script:
- 'export WEXT_SHIPIT_CHROME_EXTENSION_ID=${CHROME_EXTENSION_ID_STABLE}'
- 'shipit chrome dist/chrome-extension'
environment:
name: Stable
only:
- stable
|