One note tracker reads the input and Lathe, Temper and Knurl follow it as modules, in any of six orders, each on or off. Every module gets the tracker's events delayed by the latency of the modules in front of it. - One module alone matches its standalone plugin sample for sample in every order. - With Knurl's sub-octave pattern in front, Lathe in Forge follows the played note; a standalone Lathe after Knurl reads it an octave low. - About 72 ms latency against about 206 ms for the three in a row. The module pages reuse the standalone editors. Register Forge in the catalog, CI, README, docs and website, and drop the built Ballast from the site's idea list.
114 lines
5.3 KiB
YAML
114 lines
5.3 KiB
YAML
name: Check and Windows preview
|
|
on:
|
|
push:
|
|
branches: ["**"]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CARGO_HOME: ${{ gitea.workspace }}/.cargo-ci
|
|
RUSTUP_HOME: ${{ gitea.workspace }}/.rustup-ci
|
|
CARGO_TERM_COLOR: always
|
|
# Incremental data is not reused between CI runs; it only inflates the cache.
|
|
CARGO_INCREMENTAL: "0"
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
plugin: [rivet, patina, anvil, crucible, lathe, temper, weld, knurl, planish, braze, quench, ballast, forge]
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITEA_TOKEN }}
|
|
persist-credentials: false
|
|
- uses: ./.gitea/actions/setup
|
|
with:
|
|
cache-name: check-${{ matrix.plugin }}
|
|
target-paths: |
|
|
target
|
|
plugins/${{ matrix.plugin }}/plugin/target
|
|
- run: python3 -m unittest discover -s scripts/tests -v
|
|
- run: python3 scripts/check-plugin.py --plugin "${{ matrix.plugin }}"
|
|
|
|
previews:
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.GITEA_TOKEN }}
|
|
persist-credentials: false
|
|
- uses: ./.gitea/actions/setup
|
|
with:
|
|
cache-name: previews
|
|
target-paths: tools/editor-check/target
|
|
- run: |
|
|
cargo fmt --all -- --check
|
|
cargo fmt --manifest-path tools/editor-check/Cargo.toml -- --check
|
|
mkdir -p target/editor
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/rivet.png --plugin rivet
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/patina.png --plugin patina
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/patina-compact.png --plugin patina --compact
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/anvil.png --plugin anvil
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/crucible.png --plugin crucible
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/lathe.png --plugin lathe
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/temper.png --plugin temper
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/weld.png --plugin weld
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/knurl.png --plugin knurl
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/planish.png --plugin planish
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/braze.png --plugin braze
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/quench.png --plugin quench
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/ballast.png --plugin ballast
|
|
cargo run --manifest-path tools/editor-check/Cargo.toml --locked -- target/editor/forge.png --plugin forge
|
|
- uses: https://github.com/actions/upload-artifact@v3-node20
|
|
with:
|
|
name: editor-previews
|
|
path: target/editor/*.png
|
|
retention-days: 7
|
|
|
|
windows:
|
|
needs: [check, previews]
|
|
runs-on: ubuntu-latest
|
|
container: node:22-bookworm
|
|
env:
|
|
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"
|
|
cache-name: windows-preview
|
|
target-paths: target/windows
|
|
- run: |
|
|
python3 scripts/build-plugin.py --plugin rivet --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin patina --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin anvil --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin crucible --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin lathe --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin temper --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin weld --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin knurl --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin planish --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin braze --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin quench --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin ballast --target x86_64-pc-windows-gnu
|
|
python3 scripts/build-plugin.py --plugin forge --target x86_64-pc-windows-gnu
|
|
python3 scripts/package-windows.py
|
|
- uses: https://github.com/actions/upload-artifact@v3-node20
|
|
with:
|
|
name: bass-foundry-windows-x86_64
|
|
path: |
|
|
dist/bass-foundry-windows-x86_64.zip
|
|
dist/bass-foundry-windows-x86_64.zip.sha256
|
|
retention-days: 30
|