mirror of
https://github.com/momenbasel/keyFinder.git
synced 2026-07-18 19:07:19 +02:00
ci: add release + validation workflows
- release.yml: on v* tag, build Chrome + Firefox zips, compute SHA256, upload artifacts, attach to GitHub Release with auto generated notes - ci.yml: on PR/master push, validate manifest JSON, enforce version parity, build, web-ext lint Firefox bundle
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Validate manifest JSON
|
||||
run: |
|
||||
python3 -c "import json,sys; json.load(open('manifest.json'))"
|
||||
python3 -c "import json,sys; json.load(open('manifest.firefox.json'))"
|
||||
|
||||
- name: Manifest versions must match
|
||||
run: |
|
||||
C=$(python3 -c "import json; print(json.load(open('manifest.json'))['version'])")
|
||||
F=$(python3 -c "import json; print(json.load(open('manifest.firefox.json'))['version'])")
|
||||
[ "$C" = "$F" ] || { echo "Chrome=$C Firefox=$F"; exit 1; }
|
||||
|
||||
- name: Build runs cleanly
|
||||
run: bash scripts/build.sh
|
||||
|
||||
- name: Install web-ext
|
||||
run: npm install -g web-ext
|
||||
|
||||
- name: web-ext lint (Firefox)
|
||||
run: web-ext lint --source-dir dist/firefox --self-hosted
|
||||
Reference in New Issue
Block a user