ci(build-crx): add step to prepare extension files before packaging #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |