Merge pull request #373 from padloc/feature/build-crx-web-extension

Build Signed CRX Web Extension
This commit is contained in:
Martin Kleinschrodt 2022-01-05 08:35:35 +01:00 committed by GitHub
commit 98a59e8824
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 3 deletions

View File

@ -36,10 +36,13 @@ jobs:
- name: Build
env:
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
PL_BUILD_ENV: ${{ secrets.PL_BUILD_ENV }}
run: npm run web-extension:build
- name: Sign for Firefox
run: cd packages/extension/dist && web-ext sign --channel=unlisted --api-key=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_KEY }} --api-secret=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_SECRET }}
if: github.event.inputs.environment == 'Beta' || github.event.inputs.environment == 'Production'
run: cd packages/extension/dist && web-ext sign --id="{9e5ca7e8-2073-49d1-a93f-ac2f2088ff14}" --channel=unlisted --api-key=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_KEY }} --api-secret=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_SECRET }}
- name: Archive Signed Web Extension (Firefox)
if: github.event.inputs.environment == 'Beta' || github.event.inputs.environment == 'Production'
uses: actions/upload-artifact@v2
with:
name: padloc-web-extension-${{ github.sha }}-signed.xpi
@ -54,3 +57,20 @@ jobs:
!packages/extension/dist/web-ext-artifacts
!packages/extension/dist/*.xpi
if-no-files-found: error
- name: Build ZIP for signing Chrome Extension
uses: cardinalby/webext-buildtools-pack-extension-dir-action@v1
with:
extensionDir: packages/extension/dist
zipFilePath: packages/extension/padloc.zip
zipIgnore: web-ext-artifacts/**|*.xpi
- uses: cardinalby/webext-buildtools-chrome-crx-action@v2
with:
zipFilePath: packages/extension/padloc.zip
crxFilePath: packages/extension/padloc-signed.crx
privateKey: ${{ secrets.PL_WEB_EXTENSION_CHROME_CRX_PRIVATE_KEY }}
- name: Archive Signed Web Extension (Chrome)
uses: actions/upload-artifact@v2
with:
name: padloc-web-extension-${{ github.sha }}-signed.crx
path: packages/extension/padloc-signed.crx
if-no-files-found: error

View File

@ -11,11 +11,15 @@ jobs:
with:
node-version: 16.13.1
- name: Install dependencies
run: npm ci
run: |
npm i -g npm@8.2.0
npm ci
- name: Run prettier check
run: npm run prettier:check
- name: Run pwa test build
run: npm run pwa:build
- name: Run web extention test build
run: npm run web-extension:build
- name: Test starting zero-config server
run: npm run server:start-dry
#- name: Run tests

View File

@ -84,10 +84,15 @@ module.exports = {
{
apply(compiler) {
compiler.hooks.emit.tapPromise("Web Extension Manifest", async (compilation) => {
const devBuildVersion = parseInt(new Date().getTime().toString().slice(-3), 10).toString();
const jsonString = JSON.stringify(
{
...manifest,
version: build,
version:
process.env.PL_BUILD_ENV === "Production"
? build
: `${vendorVersion}.${devBuildVersion}`,
version_name: vendorVersion,
name,
description: `${name} Browser Extension`,