diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8cd3b36..62b31de 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: outputs: version: ${{ steps.read.outputs.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - id: read run: | VERSION=$(jq -r '.version' src-tauri/tauri.conf.json) @@ -39,7 +39,7 @@ jobs: target: x86_64-unknown-linux-gnu label: linux-x64 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }} @@ -60,7 +60,6 @@ jobs: - name: Build Tauri app uses: tauri-apps/tauri-action@v0 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # macOS signing (configure secrets in repo settings): # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} @@ -69,9 +68,47 @@ jobs: # APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} # APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} with: - tagName: v${{ needs.get-version.outputs.version }} - releaseName: Conduit v${{ needs.get-version.outputs.version }} - releaseBody: "See CHANGELOG.md for details." - releaseDraft: true - prerelease: false args: --target ${{ matrix.target }} + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: artifacts-${{ matrix.label }} + if-no-files-found: ignore + path: | + src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg + src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi + src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*-setup.exe + src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb + src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm + src-tauri/target/${{ matrix.target }}/release/bundle/appimage/*.AppImage + + release: + needs: [get-version, build] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts + merge-multiple: true + - name: List downloaded artifacts + run: find artifacts -type f | sort + - name: Create GitHub Release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + VERSION="${{ needs.get-version.outputs.version }}" + TAG="v${VERSION}" + FILES=$(find artifacts -type f \( -name '*.dmg' -o -name '*.msi' -o -name '*-setup.exe' -o -name '*.deb' -o -name '*.rpm' -o -name '*.AppImage' \)) + if [ -z "$FILES" ]; then + echo "::error::No release artifacts found" + exit 1 + fi + echo "Creating draft release ${TAG} with artifacts:" + echo "$FILES" + # shellcheck disable=SC2086 + gh release create "$TAG" $FILES \ + --draft \ + --title "Conduit ${TAG}" \ + --notes "Built from \`$(git rev-parse --short HEAD)\` on $(date -u +%Y-%m-%d)" diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e4f40cc..7d7f68b 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,7 +1,6 @@ name: unit-tests on: - push: pull_request: jobs: @@ -11,7 +10,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable - uses: swatinem/rust-cache@v2 with: @@ -29,7 +28,7 @@ jobs: test-frontend: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: 22 @@ -43,7 +42,7 @@ jobs: typecheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: 22 @@ -54,8 +53,9 @@ jobs: audit-rust: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: rustsec/audit-check@v2.0.0 + - uses: actions/checkout@v6 + - uses: actions-rust-lang/audit@v1 with: - token: ${{ secrets.GITHUB_TOKEN }} - working-directory: src-tauri + denyWarnings: false + createIssues: false + workingDirectory: src-tauri diff --git a/README.md b/README.md index d96ec59..3a3ed27 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Conduit -A cross-platform desktop application that bridges OSC (Open Sound Control) and MIDI protocols. Very much written with a lot of help from AI, but this is tested and will be actively maintained. +A cross-platform desktop application that bridges OSC (Open Sound Control) and MIDI protocols. Very much written with a lot of help from AI, but this is tested and will be actively maintained, and we use it #dogfooding. We made this because we were sad osculator went away. RIP. @@ -28,15 +28,15 @@ Download the `windows-x64` installer and run it. Windows may show a SmartScreen Download the `linux-x64` AppImage or deb file. For AppImage, make it executable with `chmod +x` and run it. For deb, install with your package manager. -[!NOTE] -I only currently have a Mac with an ARM processor easily available. Please open an issue if it doesn't work on your OS. +> [!NOTE] +> I only currently have a Mac with an ARM processor easily available. Please open an issue if it doesn't work on your OS. ## Settings In the top right corner, there's a settings icon. Click on that to open it. -[!IMPORTANT] -You cannot change the settings while the app is running. Please click stop to edit the settings. +> [!IMPORTANT] +> You cannot change the settings while the app is running. Please click stop to edit the settings. ### OSC diff --git a/spec.md b/spec.md index e2efe37..b0e77af 100644 --- a/spec.md +++ b/spec.md @@ -478,7 +478,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable - name: Install Linux deps if: runner.os == 'Linux' @@ -493,7 +493,7 @@ jobs: test-frontend: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 with: version: 9 @@ -508,7 +508,7 @@ jobs: typecheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 with: version: 9 @@ -550,7 +550,7 @@ jobs: outputs: version: ${{ steps.read.outputs.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - id: read run: | VERSION=$(jq -r '.version' src-tauri/tauri.conf.json) @@ -575,7 +575,7 @@ jobs: target: x86_64-unknown-linux-gnu label: linux-x64 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.target }}