uBlock/.github/workflows/mv3.yml

69 lines
2.5 KiB
YAML

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