Skip to content

Commit 0737ecb

Browse files
committed
release: v0.9.11 - integrate installer signing and updates
1 parent 4f75314 commit 0737ecb

11 files changed

Lines changed: 360 additions & 635 deletions

File tree

.github/workflows/macos.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,14 @@ jobs:
129129
"RustTracker-MacOS-Installer.dmg" \
130130
"RustTracker.app"
131131
132+
- name: Codesign DMG
133+
env:
134+
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
135+
if: ${{ env.MACOS_CERTIFICATE != '' }}
136+
run: |
137+
echo "Signing the DMG container..."
138+
codesign --force --sign "Developer ID Application" RustTracker-MacOS-Installer.dmg
139+
132140
- name: Notarize DMG
133141
env:
134142
APPLE_ID: ${{ secrets.APPLE_ID }}

.github/workflows/windows-build.yml

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,54 @@ jobs:
5454
VERSION=$(grep -m 1 '^version' Cargo.toml | cut -d '"' -f 2)
5555
echo "VERSION=$VERSION" >> $GITHUB_ENV
5656
57+
- name: Sign Executable
58+
shell: pwsh
59+
env:
60+
AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
61+
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
62+
AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
63+
VAULT_URL: ${{ secrets.AZURE_SIGNING_VAULT_URL }}
64+
CERT_NAME: ${{ secrets.AZURE_SIGNING_CERT_NAME }}
65+
if: ${{ secrets.AZURE_SIGNING_CLIENT_ID != '' }}
66+
run: |
67+
dotnet tool install --global AzureSignTool
68+
azuresigntool sign `
69+
-kvu "$env:VAULT_URL" `
70+
-kvi "$env:AZURE_CLIENT_ID" `
71+
-kvs "$env:AZURE_CLIENT_SECRET" `
72+
-kct "$env:AZURE_TENANT_ID" `
73+
-kco "$env:CERT_NAME" `
74+
-tr http://timestamp.digicert.com `
75+
-td sha256 `
76+
-fd sha256 `
77+
release/rusttracker.exe
78+
5779
- name: Build Installer
5880
shell: cmd
5981
run: |
6082
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "/DMyAppVersion=%VERSION%" installer.iss
61-
83+
84+
- name: Sign Installer
85+
shell: pwsh
86+
env:
87+
AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
88+
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
89+
AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
90+
VAULT_URL: ${{ secrets.AZURE_SIGNING_VAULT_URL }}
91+
CERT_NAME: ${{ secrets.AZURE_SIGNING_CERT_NAME }}
92+
if: ${{ secrets.AZURE_SIGNING_CLIENT_ID != '' }}
93+
run: |
94+
azuresigntool sign `
95+
-kvu "$env:VAULT_URL" `
96+
-kvi "$env:AZURE_CLIENT_ID" `
97+
-kvs "$env:AZURE_CLIENT_SECRET" `
98+
-kct "$env:AZURE_TENANT_ID" `
99+
-kco "$env:CERT_NAME" `
100+
-tr http://timestamp.digicert.com `
101+
-td sha256 `
102+
-fd sha256 `
103+
setup/RustTracker-Setup.exe
104+
62105
- name: Upload Artifact
63106
uses: actions/upload-artifact@v5
64107
with:

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rusttracker"
3-
version = "0.9.10"
3+
version = "0.9.11"
44
edition = "2024"
55
default-run = "rusttracker"
66
description = "High-Performance Vulkan Tracker Module Visualizer"

TODO.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,11 @@ Once the native 3D pipeline is established, the first 3D visualizer will be base
4343
* **Asset Pipeline:** Requires integrating a loader (e.g., the `gltf` or `blend-rs` crate) to import the 3D object data and material properties into our new `wgpu` vertex buffers.
4444
* **Lighting Strategy:** Instead of full hardware raytracing (which is too computationally intense for 120Hz on lower-end hardware), we will use standard 3D rasterization with dynamic point/spot lights linked to the `AudioUniforms` data.
4545
* **Remaining Concerns:** Binary file size bloat from embedding 3D assets will need to be actively managed by optimizing model exports.
46+
47+
## Future Target: Vaporwave Fountain Visualizer
48+
49+
**Feature Request:**
50+
Implement a Vaporwave Fountain visualizer.
51+
* **Concept:** A retro 3D fountain utilizing instanced particles for water droplets, with water jets that spray and change height/angle dynamically in reaction to audio frequencies.
52+
* **Styling:** A classic Black & White (B&W) film tone.
53+
* **Concerns:** Achieving an authentic B&W film look (film grain, bloom, vignette, proper contrast curves) alongside high-performance instanced particle updates on the GPU can be challenging and will require careful optimization.

0 commit comments

Comments
 (0)