677344f24d
- README, CHANGELOG, DISCLAIMER, SECURITY auf Englisch übersetzen - Projekt-Docs (architecture, patterns, widget-schema, style-guide) übersetzen - CODEOWNERS für Master-Branch-Schutz hinzufügen - release.yml auf Englisch übersetzen - STYLE_GUIDE von src/css/ nach docs/ verschieben
76 lines
2.9 KiB
YAML
76 lines
2.9 KiB
YAML
# Release — creates ZIP packages for Chrome, Firefox and Opera on new tag
|
|
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build-release:
|
|
name: Build & Release
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Extract version from tag
|
|
id: version
|
|
run: echo "tag=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Create Chrome/Edge ZIP (Manifest V3)
|
|
run: |
|
|
mkdir -p dist
|
|
zip -r "dist/hellion-newtab-${{ steps.version.outputs.tag }}-chrome.zip" \
|
|
manifest.json newtab.html src/js/*.js src/css/ assets/ \
|
|
-x "*.git*" "dist/*" ".github/*" "src/js/opera/*"
|
|
|
|
- name: Create Firefox ZIP (Manifest V3)
|
|
run: |
|
|
cp manifest.json manifest.chrome-backup.json
|
|
cp manifest.firefox.json manifest.json
|
|
zip -r "dist/hellion-newtab-${{ steps.version.outputs.tag }}-firefox.zip" \
|
|
manifest.json newtab.html src/js/*.js src/css/ assets/ \
|
|
-x "*.git*" "dist/*" ".github/*" "manifest.chrome-backup.json" "manifest.firefox.json" "src/js/opera/*"
|
|
mv manifest.chrome-backup.json manifest.json
|
|
|
|
- name: Create Opera/Opera GX ZIP (Manifest V3 + workaround)
|
|
run: |
|
|
cp manifest.json manifest.chrome-backup.json
|
|
cp manifest.opera.json manifest.json
|
|
zip -r "dist/hellion-newtab-${{ steps.version.outputs.tag }}-opera.zip" \
|
|
manifest.json newtab.html src/js/*.js src/js/opera/ src/css/ assets/ \
|
|
-x "*.git*" "dist/*" ".github/*" "manifest.chrome-backup.json" "manifest.opera.json"
|
|
mv manifest.chrome-backup.json manifest.json
|
|
|
|
- name: Generate SHA256 checksums
|
|
run: |
|
|
cd dist
|
|
sha256sum *.zip > checksums-sha256.txt
|
|
cat checksums-sha256.txt
|
|
|
|
- name: Create GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
name: "Hellion NewTab ${{ steps.version.outputs.tag }}"
|
|
body: |
|
|
## Hellion NewTab ${{ steps.version.outputs.tag }}
|
|
|
|
### Installation
|
|
- **Chrome / Edge / Brave / Vivaldi:** `hellion-newtab-${{ steps.version.outputs.tag }}-chrome.zip`
|
|
- **Firefox:** `hellion-newtab-${{ steps.version.outputs.tag }}-firefox.zip`
|
|
- **Opera / Opera GX:** `hellion-newtab-${{ steps.version.outputs.tag }}-opera.zip`
|
|
|
|
See [README](README.md) for the full installation instructions.
|
|
|
|
### Checksums
|
|
See `checksums-sha256.txt` to verify file integrity.
|
|
files: |
|
|
dist/hellion-newtab-${{ steps.version.outputs.tag }}-chrome.zip
|
|
dist/hellion-newtab-${{ steps.version.outputs.tag }}-firefox.zip
|
|
dist/hellion-newtab-${{ steps.version.outputs.tag }}-opera.zip
|
|
dist/checksums-sha256.txt
|
|
generate_release_notes: true |