name: uBO Lite release on: workflow_dispatch permissions: contents: read # I used the following project as template to get started: # https://github.com/dessant/search-by-image/blob/master/.github/workflows/ci.yml jobs: build: permissions: contents: write # for creating release name: Build packages runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v3 with: persist-credentials: false # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html # Chromium - name: Build Chromium uBOLite MV3 packages run: | tools/make-mv3.sh chromium full echo "PACKAGE=$(basename $(ls dist/build/uBOLite_*.chromium.mv3.zip))" >> $GITHUB_ENV echo "TAGNAME=$(basename $(ls dist/build/uBOLite_*.chromium.mv3.zip) .chromium.mv3.zip)" >> $GITHUB_ENV RELEASENAME=${TAGNAME/_/ } echo "RELEASENAME=$RELEASENAME" >> $GITHUB_ENV cp dist/build/mv3-data/log.txt dist/mv3/ - name: Commit uBOLite MV3 build log file # https://github.com/marketplace/actions/github-action-for-committing-changes-to-a-repository uses: devops-infra/action-commit-push@master with: github_token: ${{ secrets.GITHUB_TOKEN }} commit_message: Update build log file - name: Create GitHub release id: create_release uses: ncipollo/release-action@v1 env: GITHUB_TOKEN: ${{ github.token }} with: tag: ${{ env.TAGNAME }} prerelease: true - name: Upload Chromium uBOLite MV3 package uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: dist/build/${{ env.PACKAGE }} asset_name: ${{ env.PACKAGE }} asset_content_type: application/octet-stream # Firefox - name: Build Firefox uBOLite MV3 packages run: | tools/make-mv3.sh firefox full echo "PACKAGE=$(basename $(ls dist/build/uBOLite_*.firefox.mv3.xpi))" >> $GITHUB_ENV - name: Upload Firefox uBOLite MV3 package uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: dist/build/${{ env.PACKAGE }} asset_name: ${{ env.PACKAGE }} asset_content_type: application/octet-stream