Skip to content

ci(build-crx): add step to prepare extension files before packaging #2

ci(build-crx): add step to prepare extension files before packaging

ci(build-crx): add step to prepare extension files before packaging #2

Workflow file for this run

name: Build Chrome Extension CRX
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: |
npm install -g crx3
- name: Generate private key
run: |
openssl genrsa -out key.pem 2048
- name: Prepare extension files
run: |
# Create a temporary directory for extension files
mkdir -p extension
# Copy all extension files to the temp directory
cp manifest.json background.js content.js popup.html popup.js *.png extension/
- name: Build CRX file
run: |
crx3 --keyPath=key.pem --crxPath=TraeUsageWebExtension.crx extension/
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
TraeUsageWebExtension.crx
TraeUsageWebExtension.zip
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload CRX as artifact
uses: actions/upload-artifact@v4
with:
name: chrome-extension-crx
path: |
TraeUsageWebExtension.crx
TraeUsageWebExtension.zip
retention-days: 30