Skip to content

0.3.1

0.3.1 #5

Workflow file for this run

name: Release
on:
push:
tags: ["v*.*.*"]
jobs:
lint-node:
name: Run Node.js lint
uses: kuba2k2/kuba2k2/.github/workflows/lint-node.yml@master
build-node:
name: Build Node.js project
needs:
- lint-node
uses: kuba2k2/kuba2k2/.github/workflows/build-node.yml@master
with:
files: |
dist/
manifest.json
LICENSE
output-artifact: firefox-webserial
lint-clang:
name: Run Clang lint
uses: kuba2k2/kuba2k2/.github/workflows/lint-clang.yml@master
build-pio:
name: Build PlatformIO project
needs:
- lint-clang
uses: kuba2k2/kuba2k2/.github/workflows/build-pio.yml@master
strategy:
matrix:
os:
- runs-on: windows-latest
pio-env: windows_x86
post-build: ""
output-bin: firefox-webserial.exe
- runs-on: ubuntu-latest
pio-env: linux_x86_64
post-build: |
cd .pio/build/linux_x86_64/
cp firefox-webserial firefox-webserial-linux-x86-64
output-bin: firefox-webserial-linux-x86-64
with:
runs-on: ${{ matrix.os.runs-on }}
project-directory: ./native/
args: -e ${{ matrix.os.pio-env }}
post-build: ${{ matrix.os.post-build }}
files: |
native/.pio/build/${{ matrix.os.pio-env }}/${{ matrix.os.output-bin }}
output-artifact: native-${{ matrix.os.pio-env }}
build-nsis:
name: Build NSIS installer
needs:
- build-pio
uses: kuba2k2/kuba2k2/.github/workflows/build-nsis.yml@master
with:
input-artifact: native-windows_x86
input-path: native/install/
script-file: native/install/windows_x86.nsi
files: |
native/install/firefox-webserial-v*.exe
output-artifact: firefox-webserial
release-amo:
name: Publish addons.mozilla.org release
runs-on: ubuntu-latest
needs:
- build-node
- build-nsis
permissions:
contents: write
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: firefox-webserial
path: src
- name: Build Firefox extension
id: build
uses: kewisch/action-web-ext@v1
with:
cmd: build
source: src
filename: "{name}-{version}.xpi"
- name: Sign Firefox extension
id: sign
uses: kewisch/action-web-ext@v1
with:
cmd: sign
source: ${{ steps.build.outputs.target }}
channel: listed
apiKey: ${{ secrets.AMO_SIGN_KEY }}
apiSecret: ${{ secrets.AMO_SIGN_SECRET }}
timeout: 900000
- name: Publish GitHub release
uses: softprops/action-gh-release@v1
with:
files: |
src/*.exe
src/firefox-webserial-*
${{ steps.sign.outputs.target }}
fail_on_unmatched_files: false
generate_release_notes: true