Skip to content

Commit 13f039d

Browse files
ci: build artifacts for firefox and ms edge submission (#1894)
* ci: update firefox release workflow * ci: build and upload ms edge artifact
1 parent e5fd7ec commit 13f039d

File tree

5 files changed

+581
-691
lines changed

5 files changed

+581
-691
lines changed

.github/actions/build/app/action.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ inputs:
6767
required: false
6868
default: ''
6969
BROWSER_TARGET:
70-
description: 'Browser target to build for. Options are [firefox | chromium]'
70+
description: 'Browser target to build for. Options are [chromium | firefox]'
7171
required: false
7272
default: 'chromium'
7373

@@ -103,14 +103,27 @@ runs:
103103
SENTRY_ENVIRONMENT: ${{ inputs.SENTRY_ENVIRONMENT }}
104104
BROWSER: ${{ inputs.BROWSER_TARGET }}
105105

106-
- name: Upload artifact
107-
if: ${{ inputs.BROWSER_TARGET != 'firefox' }}
106+
- name: Upload Chrome artifact
107+
if: ${{ inputs.BROWSER_TARGET == 'chromium' }}
108108
uses: actions/upload-artifact@v4
109109
with:
110-
name: ${{ inputs.NAME }}
110+
name: lace-chrome-browser-extension
111+
path: ${{ inputs.DIR }}/dist
112+
113+
- name: Prepare MS Edge
114+
if: ${{ inputs.BROWSER_TARGET == 'chromium' }}
115+
run: 'sed -i "s/\"key\": \"[^\"]*\",//" manifest.json'
116+
shell: bash
117+
working-directory: ${{ inputs.DIR }}/dist
118+
119+
- name: Upload MS Edge artifact
120+
if: ${{ inputs.BROWSER_TARGET == 'chromium' }}
121+
uses: actions/upload-artifact@v4
122+
with:
123+
name: lace-edge-browser-extension
111124
path: ${{ inputs.DIR }}/dist
112125

113-
- name: Pack Firefox
126+
- name: Prepare Firefox
114127
if: ${{ inputs.BROWSER_TARGET == 'firefox' }}
115128
run: yarn pack:firefox
116129
shell: bash

.github/workflows/ci.yml

Lines changed: 70 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ concurrency:
1717
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
1818

1919
env:
20-
BUILD_ARTIFACT_NAME: 'lace-dev-${{ github.sha }}'
20+
BUILD_ARTIFACT_NAME: 'lace-chrome-browser-extension-for-smoke-tests-${{ github.sha }}'
2121

2222
jobs:
2323
prepare:
@@ -148,8 +148,8 @@ jobs:
148148
- name: Execute unit tests
149149
uses: ./.github/actions/test/unit
150150

151-
release-pkg:
152-
name: Release package
151+
release-chromium-pkg:
152+
name: Release Chromium package
153153
runs-on: ubuntu-22.04
154154
needs: prepare
155155

@@ -210,7 +210,7 @@ jobs:
210210
with:
211211
comment_on_pr: false
212212

213-
- name: Build Lace browser extension
213+
- name: Build Lace Chromium browser extension
214214
uses: ./.github/actions/build/app
215215
with:
216216
BLOCKFROST_PROJECT_ID_MAINNET: ${{ secrets.BLOCKFROST_PROJECT_ID_MAINNET }}
@@ -219,7 +219,7 @@ jobs:
219219
MAESTRO_PROJECT_ID_MAINNET: ${{ secrets.MAESTRO_PROJECT_ID_MAINNET }}
220220
MAESTRO_PROJECT_ID_TESTNET: ${{ secrets.MAESTRO_PROJECT_ID_TESTNET }}
221221
DIR: apps/browser-extension-wallet
222-
NAME: lace-browser-extension
222+
NAME: lace-chrome-browser-extension
223223
LACE_EXTENSION_KEY: ${{ secrets.MANIFEST_PUBLIC_KEY }}
224224
POSTHOG_PRODUCTION_TOKEN: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.POSTHOG_PRODUCTION_TOKEN || '' }}
225225
PRODUCTION_MODE_TRACKING: ${{ startsWith(github.ref, 'refs/heads/release') && 'true' || 'false' }}
@@ -231,7 +231,69 @@ jobs:
231231
SENTRY_ENVIRONMENT: 'production'
232232
DAPP_RADAR_API_KEY: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.DAPP_RADAR_API_KEY || '' }}
233233

234-
- name: Build Lace Firefox addon
234+
release-firefox-pkg:
235+
name: Release Firefox package
236+
runs-on: ubuntu-22.04
237+
needs: prepare
238+
239+
steps:
240+
- name: Checkout repository
241+
uses: actions/checkout@v4
242+
243+
- name: Setup Node.js and install dependencies
244+
uses: ./.github/actions/install
245+
with:
246+
WALLET_PASSWORD: ${{ secrets.WALLET_PASSWORD_TESTNET }}
247+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
248+
249+
- name: Download packages-common
250+
uses: actions/download-artifact@v4
251+
with:
252+
name: packages-common
253+
path: packages/common/dist
254+
255+
- name: Download packages-cardano
256+
uses: actions/download-artifact@v4
257+
with:
258+
name: packages-cardano
259+
path: packages/cardano/dist
260+
261+
- name: Download packages-translation
262+
uses: actions/download-artifact@v4
263+
with:
264+
name: packages-translation
265+
path: packages/translation/dist
266+
267+
- name: Download packages-core
268+
uses: actions/download-artifact@v4
269+
with:
270+
name: packages-core
271+
path: packages/core/dist
272+
273+
- name: Download packages-staking
274+
uses: actions/download-artifact@v4
275+
with:
276+
name: packages-staking
277+
path: packages/staking/dist
278+
279+
- name: Download packages-nami
280+
uses: actions/download-artifact@v4
281+
with:
282+
name: packages-nami
283+
path: packages/nami/dist
284+
285+
- name: Download packages-bitcoin
286+
uses: actions/download-artifact@v4
287+
with:
288+
name: packages-bitcoin
289+
path: packages/bitcoin/dist
290+
291+
- name: Collect Workflow Telemetry Smoke Tests
292+
uses: catchpoint/workflow-telemetry-action@v2
293+
with:
294+
comment_on_pr: false
295+
296+
- name: Build Lace Firefox browser extension
235297
uses: ./.github/actions/build/app
236298
with:
237299
BROWSER_TARGET: 'firefox'
@@ -241,7 +303,7 @@ jobs:
241303
MAESTRO_PROJECT_ID_MAINNET: ${{ secrets.MAESTRO_PROJECT_ID_MAINNET }}
242304
MAESTRO_PROJECT_ID_TESTNET: ${{ secrets.MAESTRO_PROJECT_ID_TESTNET }}
243305
DIR: apps/browser-extension-wallet
244-
NAME: lace-firefox-addon
306+
NAME: lace-firefox-browser-extension
245307
LACE_EXTENSION_KEY: ${{ secrets.MANIFEST_PUBLIC_KEY }}
246308
POSTHOG_PRODUCTION_TOKEN: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.POSTHOG_PRODUCTION_TOKEN || '' }}
247309
PRODUCTION_MODE_TRACKING: ${{ startsWith(github.ref, 'refs/heads/release') && 'true' || 'false' }}
@@ -254,7 +316,7 @@ jobs:
254316
DAPP_RADAR_API_KEY: ${{ startsWith(github.ref, 'refs/heads/release') && secrets.DAPP_RADAR_API_KEY || '' }}
255317

256318
build:
257-
name: Build Lace
319+
name: Build Lace for E2E Tests
258320
runs-on: ubuntu-22.04
259321

260322
steps:

apps/browser-extension-wallet/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@
3737
"cleanup:firefox-artifacts": "rm -rf artifacts-firefox",
3838
"cleanup:node_modules": "rm -rf node_modules",
3939
"dev": "run-s cleanup:dist dev:project",
40-
"dev:firefox": "BROWSER=firefox run-s cleanup:dist dev:project ",
40+
"dev:firefox": "BROWSER=firefox run-s cleanup:dist dev:project ",
4141
"dev:project": "run-p watch:sw serve:app",
4242
"format-check": "echo \"@lace/browser-extension-wallet: no format-check command specified\"",
4343
"lint": "cd ../.. && yarn extension:lint",
4444
"prepack": "yarn build",
45-
"pack:firefox": "run-s cleanup:firefox-artifacts && web-ext build --source-dir=dist --artifacts-dir=artifacts-firefox",
45+
"pack:firefox": "run-s cleanup:firefox-artifacts && web-ext build --source-dir=./dist/ --filename=lace-firefox-browser-extension.zip --artifacts-dir=artifacts-firefox && unzip -o artifacts-firefox/lace-firefox-browser-extension.zip -d artifacts-firefox && rm -rf artifacts-firefox/lace-firefox-browser-extension.zip",
4646
"prepare": "ts-patch install -s",
4747
"prettier": "run -T prettier --write .",
4848
"serve:app": "NODE_OPTIONS='--openssl-legacy-provider' run -T webpack serve --config webpack.app.dev.js --env RUN_DEV_SERVER=true",

apps/browser-extension-wallet/webpack-utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const transformManifest = (content, mode, jsAssets = []) => {
6060
if (process.env.BROWSER === 'firefox') {
6161
manifest.browser_specific_settings = {
6262
gecko: {
63-
id: 'lace-wallet@lace.io',
63+
id: 'lace-wallet-ext@lace.io',
6464
strict_min_version: '134.0'
6565
}
6666
};

0 commit comments

Comments
 (0)