Files
bass-foundry/.gitea/workflows/release.yml
T
nvrl e3286f9094 feat(weld): add sidechain test build
Weld will phase-align a bass layer to another layer it hears through the
sidechain. This first build only checks that FL Studio delivers the
sidechain to a CLAP aux port: it passes the main layer through unchanged,
meters the sidechain and offers Layer/Sum/Sum dry listening. No latency.
2026-11-06 07:53:20 +01:00

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*", "weld-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"