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