Check and Windows preview / check (anvil) (push) Successful in 2m8s
Check and Windows preview / check (crucible) (push) Successful in 1m32s
Check and Windows preview / check (lathe) (push) Successful in 2m13s
Check and Windows preview / check (patina) (push) Successful in 2m5s
Check and Windows preview / check (rivet) (push) Successful in 1m34s
Check and Windows preview / check (temper) (push) Successful in 2m12s
Check and Windows preview / previews (push) Successful in 1m19s
Check and Windows preview / windows (push) Successful in 2m13s
Independent plugin release / publish (push) Successful in 8s
Independent plugin release / plan (push) Successful in 6s
Independent plugin release / build (push) Successful in 2m57s
Lathe places EQ bands on harmonics 1-32 of the played note, so a cut on harmonic 3 stays on harmonic 3 on every note. Temper normalises each note's level before an oversampled shaper and tunes its floor, push and bright filters to the note, so every note distorts the same. The note tracker moves from Anvil into common-dsp, together with a state-variable filter, 4x oversampler and harmonic meter. Anvil's behaviour and editor render are unchanged. docs/ideas.md collects all plugin ideas and their status.
89 lines
3.1 KiB
YAML
89 lines
3.1 KiB
YAML
name: Independent plugin release
|
|
on:
|
|
push:
|
|
tags: ["rivet-v*", "patina-v*", "anvil-v*", "crucible-v*", "lathe-v*", "temper-v*"]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CARGO_HOME: ${{ gitea.workspace }}/.cargo-ci
|
|
RUSTUP_HOME: ${{ gitea.workspace }}/.rustup-ci
|
|
CARGO_TERM_COLOR: always
|
|
CARGO_INCREMENTAL: "0"
|
|
RELEASE_REF: ${{ gitea.ref }}
|
|
|
|
jobs:
|
|
plan:
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
outputs:
|
|
plugin: ${{ steps.metadata.outputs.plugin }}
|
|
version: ${{ steps.metadata.outputs.version }}
|
|
tag: ${{ steps.metadata.outputs.tag }}
|
|
archive: ${{ steps.metadata.outputs.archive }}
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITEA_TOKEN }}
|
|
persist-credentials: false
|
|
- run: apt-get update && apt-get install -y --no-install-recommends python3
|
|
- id: metadata
|
|
run: python3 scripts/release.py plan --tag "$RELEASE_REF"
|
|
|
|
build:
|
|
needs: plan
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
env:
|
|
PLUGIN: ${{ needs.plan.outputs.plugin }}
|
|
CARGO_TARGET_DIR: ${{ gitea.workspace }}/target/windows
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITEA_TOKEN }}
|
|
persist-credentials: false
|
|
- uses: ./.gitea/actions/setup
|
|
with:
|
|
windows: "true"
|
|
# CARGO_TARGET_DIR holds both the native checks and the Windows build.
|
|
# Kept apart from branch builds; a release never reuses preview output.
|
|
cache-name: release-${{ needs.plan.outputs.plugin }}
|
|
target-paths: target/windows
|
|
- run: |
|
|
python3 -m unittest discover -s scripts/tests -v
|
|
python3 scripts/check-plugin.py --plugin "$PLUGIN"
|
|
python3 scripts/build-plugin.py --plugin "$PLUGIN" --target x86_64-pc-windows-gnu
|
|
python3 scripts/package-windows.py --plugin "$PLUGIN"
|
|
- uses: https://github.com/actions/upload-artifact@v3-node20
|
|
with:
|
|
name: ${{ needs.plan.outputs.plugin }}-windows-${{ needs.plan.outputs.version }}
|
|
path: |
|
|
dist/${{ needs.plan.outputs.archive }}
|
|
dist/${{ needs.plan.outputs.archive }}.sha256
|
|
retention-days: 30
|
|
|
|
publish:
|
|
needs: [plan, build]
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITEA_TOKEN }}
|
|
persist-credentials: false
|
|
- run: apt-get update && apt-get install -y --no-install-recommends python3 ca-certificates
|
|
- uses: https://github.com/actions/download-artifact@v3
|
|
with:
|
|
name: ${{ needs.plan.outputs.plugin }}-windows-${{ needs.plan.outputs.version }}
|
|
path: dist
|
|
- name: Publish Gitea release and attachments
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
|
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
|
GITEA_REPOSITORY: ${{ gitea.repository }}
|
|
GITEA_REF: ${{ gitea.ref }}
|
|
run: python3 scripts/release.py publish --tag "$RELEASE_REF"
|