name: Upload Release Build on: release: types: [published] jobs: build: name: Upload Release runs-on: ubuntu-latest steps: # Initialization - uses: actions/checkout@v4 with: submodules: recursive - uses: actions/setup-node@v4 with: node-version: '18' - name: Copy configuration run: cp config.json.example config.json # Create source artifact with submodule - name: Create directory run: cd ..; mkdir ./builds - name: Zip Source code run: zip -r ../builds/SourceCodeUseThisOne.zip * - name: Upload Source to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: ../builds/SourceCodeUseThisOne.zip name: SourceCodeUseThisOne.zip path: ../builds/SourceCodeUseThisOne.zip repo-token: ${{ secrets.GITHUB_TOKEN }} - run: npm ci # Create Chrome artifacts - name: Create Chrome artifacts run: npm run build:chrome - run: mkdir ./builds - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/ChromeExtension.zip * - name: Upload ChromeExtension to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: builds/ChromeExtension.zip name: ChromeExtension.zip path: ./builds/ChromeExtension.zip repo-token: ${{ secrets.GITHUB_TOKEN }} # Create Firefox artifacts - name: Create Firefox artifacts run: npm run build:firefox - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/FirefoxExtension.zip * - name: Upload FirefoxExtension to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: builds/FirefoxExtension.zip name: FirefoxExtension.zip path: ./builds/FirefoxExtension.zip repo-token: ${{ secrets.GITHUB_TOKEN }} # Create Beta artifacts (Builds with the name changed to beta) - name: Create Chrome Beta artifacts run: npm run build:chrome -- --env stream=beta - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/ChromeExtensionBeta.zip * - name: Upload ChromeExtensionBeta to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: builds/ChromeExtensionBeta.zip name: ChromeExtensionBeta.zip path: ./builds/ChromeExtensionBeta.zip repo-token: ${{ secrets.GITHUB_TOKEN }} # Create Safari artifacts - name: Create Safari artifacts run: npm run build:safari - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/SafariExtension.zip * - name: Upload SafariExtension to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: builds/SafariExtension.zip name: SafariExtension.zip path: ./builds/SafariExtension.zip repo-token: ${{ secrets.GITHUB_TOKEN }} # Create Edge artifacts - name: Clear dist for Edge run: rm -rf ./dist - name: Create Edge artifacts run: npm run build:edge - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/EdgeExtension.zip * - name: Upload EdgeExtension to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: builds/EdgeExtension.zip name: EdgeExtension.zip path: ./builds/EdgeExtension.zip repo-token: ${{ secrets.GITHUB_TOKEN }} # Firefox Beta - name: Create Firefox Beta artifacts run: npm run build:firefox -- --env stream=beta - uses: actions/upload-artifact@v4 with: name: FirefoxExtensionBeta path: dist - name: Zip Artifacts run: cd ./dist ; zip -r ../builds/FirefoxExtensionBeta.zip * # Create Firefox Signed Beta version - name: Create Firefox Signed Beta artifacts run: npm run web-sign env: WEB_EXT_API_KEY: ${{ secrets.WEB_EXT_API_KEY }} WEB_EXT_API_SECRET: ${{ secrets.WEB_EXT_API_SECRET }} - name: Install rename run: sudo apt-get install rename - name: Rename signed file run: cd ./web-ext-artifacts ; rename 's/.*/FirefoxSignedInstaller.xpi/' * - uses: actions/upload-artifact@v4 with: name: FirefoxExtensionSigned.xpi path: ./web-ext-artifacts/FirefoxSignedInstaller.xpi - name: Upload FirefoxSignedInstaller.xpi to release uses: Shopify/upload-to-release@07611424e04f1475ddf550e1c0dd650b867d5467 with: args: web-ext-artifacts/FirefoxSignedInstaller.xpi name: FirefoxSignedInstaller.xpi path: ./web-ext-artifacts/FirefoxSignedInstaller.xpi repo-token: ${{ secrets.GITHUB_TOKEN }}