uBlock/.github/workflows/main.yml

91 lines
3.6 KiB
YAML
Raw Normal View History

2022-09-19 09:31:04 -06:00
name: uBO release
on:
create:
2020-12-08 10:37:09 -07:00
branches: master
2022-08-30 23:26:57 -06:00
permissions:
contents: read
2020-12-10 06:26:03 -07:00
# I used the following project as template to get started:
# https://github.com/dessant/search-by-image/blob/master/.github/workflows/ci.yml
2020-12-08 10:37:09 -07:00
jobs:
build:
2022-08-30 23:26:57 -06:00
permissions:
contents: write # for creating release
2020-12-08 10:37:09 -07:00
name: Build packages
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Clone repository
2022-09-10 12:38:38 -06:00
uses: actions/checkout@v3
2020-12-10 06:26:03 -07:00
with:
persist-credentials: false
- name: Clone uAssets
run: |
tools/pull-assets.sh
2020-12-10 06:26:03 -07:00
# https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
- name: Get release information
id: release_info
run: |
echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- name: Assemble release notes
run: |
> release.body.txt
2023-11-05 17:26:02 -07:00
grep -m1 -B10000 -- "----------" CHANGELOG.md >> release.body.txt
sed -e 's/%version%/${{ steps.release_info.outputs.VERSION }}/g' RELEASE.HEAD.md >> release.body.txt
- name: Create GitHub release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
tag_name: ${{ steps.release_info.outputs.VERSION }}
release_name: ${{ steps.release_info.outputs.VERSION }}
2023-11-22 08:33:21 -07:00
draft: true
prerelease: true
body_path: release.body.txt
- name: Build MV2 packages
run: |
tools/make-chromium.sh ${{ steps.release_info.outputs.VERSION }}
tools/make-firefox.sh ${{ steps.release_info.outputs.VERSION }}
tools/make-thunderbird.sh ${{ steps.release_info.outputs.VERSION }}
tools/make-npm.sh ${{ steps.release_info.outputs.VERSION }}
- name: Upload Chromium package
uses: actions/upload-release-asset@v1
2020-12-08 10:37:09 -07:00
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/build/uBlock0_${{ steps.release_info.outputs.VERSION }}.chromium.zip
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.chromium.zip
asset_content_type: application/octet-stream
- name: Upload Firefox 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/uBlock0_${{ steps.release_info.outputs.VERSION }}.firefox.xpi
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.firefox.xpi
asset_content_type: application/octet-stream
- name: Upload Thunderbird 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/uBlock0_${{ steps.release_info.outputs.VERSION }}.thunderbird.xpi
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.thunderbird.xpi
asset_content_type: application/octet-stream
- name: Upload NodeJS 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/uBlock0_${{ steps.release_info.outputs.VERSION }}.npm.tgz
asset_name: uBlock0_${{ steps.release_info.outputs.VERSION }}.npm.tgz
asset_content_type: application/octet-stream