Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
185 commits
Select commit Hold shift + click to select a range
5789e8f
Implemented drag to reorder tracks in media clipboard
Feb 27, 2026
98a9d63
Gradio error handling and status updates
saumya-pailwan Mar 2, 2026
216e96c
Initial copy-paste implementation for MacOS.
Mar 4, 2026
ed56787
Upgraded to latest version of JUCE.
cwitkowitz Mar 5, 2026
3cd192f
Fixed downward drag offset and out-of-bounds drag.
Mar 6, 2026
790ca8e
Initial attempt to implement time axis
2cylu2 Mar 17, 2026
4441387
Second attempt to add time axis
2cylu2 Mar 17, 2026
89b5c38
gradio info error handling and non-modal error popup
saumya-pailwan Mar 19, 2026
0aea58f
Third attempt to add time axis
2cylu2 Mar 19, 2026
d33ab53
Add cross-platform copy to clipboard implementation
JEYuhas Mar 20, 2026
b7f91e7
Replace email error reporting with gitHub template
saumya-pailwan Mar 20, 2026
2f61963
Update host.md
ella-granger Mar 20, 2026
5cba27a
Fix Windows runtime DLL path for VS BuildTools installs
derekllanes Mar 25, 2026
02330b7
Implemented visual drag and drop with gap logic using an overlay that…
Mar 27, 2026
58987dc
Fourth attempt to add time axis
2cylu2 Mar 30, 2026
4e5fd2e
Fifth attempt to fix time axis
2cylu2 Mar 30, 2026
557ecd8
Sixth attempt to fix time axis
2cylu2 Apr 1, 2026
e8e6e09
Merge pull request #398 from TEAMuP-dev/fc/upgrade_juce
cwitkowitz Apr 3, 2026
12ece40
Update TIGER document and the hosting document.
ella-granger Apr 3, 2026
0dc94eb
Stability error handling
saumya-pailwan Apr 3, 2026
194565f
Add <Shlobj.h> header to copyWindows
JEYuhas Apr 3, 2026
81d1606
Add save AND copy buttons to GUI
JEYuhas Apr 3, 2026
ba45d20
zerogpu error handling fixes
saumya-pailwan Apr 3, 2026
4731627
info and warning logs added
saumya-pailwan Apr 3, 2026
81cf846
Merge branch 'develop' into new_347
saumya-pailwan Apr 3, 2026
7ee2d95
Working copy/paste on linux using xclip and reorganization.
cwitkowitz Apr 8, 2026
998c804
Copy icon, removed non-loaded file status message, and formatting.
cwitkowitz Apr 8, 2026
600e3a7
More general X11 copy implementation for linux.
cwitkowitz Apr 8, 2026
aa80e33
Implement Ticket 377 drum MIDI visualization
derekllanes Apr 8, 2026
53fa7ef
Add audio format conversion when sending to DAW
Apr 9, 2026
103cebc
Add audio format conversion when sending to DAW
Apr 9, 2026
2b5622f
Added initial check for attempt to convert audio to midi and some min…
cwitkowitz Apr 9, 2026
c7d277e
Attempt to generalize Windows-specific build steps.
cwitkowitz Apr 9, 2026
bb4d68c
Attempt to simplify Windows-specific build steps.
cwitkowitz Apr 9, 2026
e42e81d
Seventh attempt to fix time axis
2cylu2 Apr 9, 2026
8919dea
Merge pull request #410 from TEAMuP-dev/issue-323
cwitkowitz Apr 16, 2026
3f4e5eb
Merge pull request #396 from TEAMuP-dev/ey/copy-paste
cwitkowitz Apr 16, 2026
7af8b60
Merge pull request #407 from TEAMuP-dev/derek/ticket-377
cwitkowitz Apr 16, 2026
7f08c71
Merge branch 'develop' into feature/375-time-axis-horizontal-zoom
cwitkowitz Apr 16, 2026
cfa5294
Fixed merge conflict, improved feel of zoom anchoring, and some minor…
cwitkowitz Apr 16, 2026
35eabbf
Merge pull request #401 from TEAMuP-dev/feature/375-time-axis-horizon…
cwitkowitz Apr 16, 2026
1e9b57f
Protect against $<TARGET_RUNTIME_DLLS:...> returning empty.
cwitkowitz Apr 16, 2026
9f6df12
Switch to install-time packaging.
cwitkowitz Apr 16, 2026
615886d
restore settings default
saumya-pailwan Apr 17, 2026
d3827a6
CMakeLists.txt update. #288
ella-granger Apr 17, 2026
e8bddbe
Merge branch 'develop' into fc/simplified-windows11-build-fix
cwitkowitz Apr 17, 2026
4939e3b
Merge pull request #411 from TEAMuP-dev/fc/simplified-windows11-build…
cwitkowitz Apr 17, 2026
4a47f17
Track gap remains and resets to origin position if track dragged outs…
Apr 17, 2026
2c9ef26
ghost track when dragging outside of media clipboard implemented
Apr 17, 2026
502b3ee
Merge remote-tracking branch 'origin/develop' into issue_318
Apr 17, 2026
a59c709
Fix Ticket 378: Add banner for optional input tracks
derekllanes Apr 28, 2026
6e93d71
Add support for file_track inputs and integrate pyharp updates
derekllanes Apr 29, 2026
9d7028e
First Draft for MultiTabs in HARP
JEYuhas Apr 29, 2026
cea85ba
Add ModelTabContainer class for multi-tab support
JEYuhas Apr 29, 2026
61de9c8
Minor updates to pyharp web documentation.
cwitkowitz Apr 30, 2026
8824e8a
Merge pull request #406 from TEAMuP-dev/ella-granger-pyharp-doc
cwitkowitz Apr 30, 2026
8a23494
Merge pull request #392 from TEAMuP-dev/issue_318
cwitkowitz Apr 30, 2026
2e3e81f
review changes final
saumya-pailwan May 1, 2026
ae1cc85
keep popup open until ok
saumya-pailwan May 2, 2026
8f66497
Refine optional input banner text and color
derekllanes May 8, 2026
edf8000
Implemented media clipboard drag to resize. Main window doesn't have …
May 8, 2026
cc058b4
add debug messages to mouse actions
May 15, 2026
2f4ba35
Was a huge mess, but fixed all drag logic. Only issue is that there's…
NatalieElizabeth May 15, 2026
fa372d0
Files now copy when dragged outside the app into a different folder r…
NatalieElizabeth May 15, 2026
fe6a1a1
Removed debug log lines.
NatalieElizabeth May 15, 2026
333aa72
Update requirements.txt instructions in example.md
ella-granger May 15, 2026
585f1f1
Adapted banner to current flexbox layout.
cwitkowitz May 15, 2026
890dc43
Merge pull request #420 from TEAMuP-dev/derek/ticket-378
cwitkowitz May 15, 2026
623e80b
Updated references to netlify url.
cwitkowitz May 15, 2026
15b7814
Added netlify.toml
cwitkowitz May 15, 2026
6660b46
Python version constraint
ella-granger May 15, 2026
cfb5959
Add generic file picker control for file inputs
derekllanes May 15, 2026
53e2ddb
review changes: improved on error reporting, SSE log handling, and UI…
saumya-pailwan May 18, 2026
d5f856c
code review fixes: error popup position and status history fields
saumya-pailwan May 18, 2026
e600424
Fix error classification, messaging, and status history incremental a…
saumya-pailwan May 25, 2026
71e9866
Add home tab model loading flow
2cylu2 May 26, 2026
3b23fe8
Improve home tab model loading flow
2cylu2 May 26, 2026
4aada19
Restore background color for model UI and clean up warnings
2cylu2 May 26, 2026
3fe8f37
Replace dropdown with a model browser and search bar
2cylu2 May 26, 2026
784ed04
Improved naming scheme and consistency for file chooser component.
cwitkowitz May 28, 2026
3ae801e
model dropdown minor fix
saumya-pailwan May 29, 2026
38541f3
Cleaned up display of file chooser component.
cwitkowitz May 29, 2026
7e4eecb
Implemented file upload for generic files and made them required by d…
cwitkowitz May 29, 2026
8304d71
Fleshed out support for generic file outputs.
cwitkowitz Jun 1, 2026
ce29c24
Edited tab appearance
2cylu2 Jun 2, 2026
11400ca
Fix Open URL for local and Gradio path types
saumya-pailwan Jun 5, 2026
697581b
clear logs confirmation
saumya-pailwan Jun 5, 2026
e0a94b1
Fix Windows CI
saumya-pailwan Jun 5, 2026
c54cd1e
Merge branch 'develop' into new_347
saumya-pailwan Jun 5, 2026
414cba5
Remove redundant setSize call in openErrorPopup
saumya-pailwan Jun 5, 2026
b240ed5
simplifying the error classification
saumya-pailwan Jun 5, 2026
944d49c
Add model taxonomy categorization
2cylu2 Jun 12, 2026
0330af4
Merge pull request #426 from TEAMuP-dev/fc/new-netlify
cwitkowitz Jul 11, 2026
cc68fda
Merge branch 'main' into develop
cwitkowitz Jul 11, 2026
65dda43
Fix for empty (all supported) file extensions.
cwitkowitz Jul 12, 2026
323b5a4
Added banner for optional input files consistent with banner for opti…
cwitkowitz Jul 12, 2026
0750b54
Slight rearrangement and fixed model card in README.
cwitkowitz Jul 12, 2026
974eb1e
Updated pyharp submodule.
cwitkowitz Jul 12, 2026
4892253
Merge pull request #427 from TEAMuP-dev/derek/ticket-379
cwitkowitz Jul 12, 2026
6dc7bd7
Set up model validation infrastructure, script, and workflow from scr…
cwitkowitz Jul 15, 2026
516d720
Refactored model validation into modules; added ZeroGPU-aware quota t…
cwitkowitz Jul 17, 2026
a269009
Updates to structure, documentation, and expect/validator checks.
cwitkowitz Jul 21, 2026
3f3ea00
Minor README cleanup.
cwitkowitz Jul 21, 2026
8943f84
Fixed bug with reports/ path, transcoding synthesized WAV when necess…
cwitkowitz Jul 21, 2026
786bca2
No longer attempting to track ZeroGPU quota explicitly, skip-zerogpu …
cwitkowitz Jul 23, 2026
bdbaf1b
Added MIDI output rules and reusable test cases, lowered timeout for …
cwitkowitz Jul 24, 2026
359ba55
Added ability to set number of ZeroGPU workers, added ability to spec…
cwitkowitz Jul 31, 2026
3b2a792
Fix model loading UI behavior and failed reload state
2cylu2 Aug 4, 2026
9eec641
Added default prefixes for command line, infrastructure to retry mode…
cwitkowitz Aug 12, 2026
f57f9b6
Minor fixes and documentation improvements.
cwitkowitz Aug 12, 2026
0f18988
Cleaned up reporting and documentation, removed budget references, an…
cwitkowitz Aug 13, 2026
0b4e45b
More thorough config documentation and stricter parsing.
cwitkowitz Aug 14, 2026
384fe2f
Further config cleanup and stricter checking on names for example ent…
cwitkowitz Aug 14, 2026
08f5856
Fixed bug with sleeping spaces and further smoothing out of README.
cwitkowitz Aug 14, 2026
59e853f
Added token checking.
cwitkowitz Aug 15, 2026
7995f4a
Now restarting sleeping spaces that refuse to wake.
cwitkowitz Aug 17, 2026
2535e47
Moved expect rule code to separate file and some final polishing.
cwitkowitz Aug 17, 2026
476c97b
Improved error handling / communication, support for multi-select dro…
cwitkowitz Aug 21, 2026
53854b3
Added IncompleteResponse error to handle timeouts from slow processin…
cwitkowitz Aug 22, 2026
e36c1b3
Rebased to develop, fixed merge conflicts, and some minor simplificat…
cwitkowitz Aug 22, 2026
7cabe64
Fixed error path bug, improved messages and logging for errors, fixed…
cwitkowitz Aug 24, 2026
101c05d
Adapted FileChooserWithLabel and MultiSelectWithLabel to match other …
cwitkowitz Aug 25, 2026
477b618
Merge pull request #432 from TEAMuP-dev/fc/model_validation2
cwitkowitz Aug 26, 2026
daf3ff8
Caching X display for efficiency and updated a few comments.
cwitkowitz Aug 26, 2026
6486ec4
Minor improvements to error handling / communication, fixed failed do…
cwitkowitz Aug 27, 2026
c4b961d
Removed redundant error reporting.
cwitkowitz Aug 27, 2026
a5dc39d
Merge pull request #395 from TEAMuP-dev/new_347
cwitkowitz Aug 27, 2026
dbdeece
Fixed clipboard copy (trailing newline, spaces, and ownership) on Linux.
cwitkowitz Aug 27, 2026
e22f1b5
Added button and linkage to open settings directly from error popups …
cwitkowitz Aug 28, 2026
42eb608
Merge pull request #425 from TEAMuP-dev/ella-granger-doc-patch-1
cwitkowitz Aug 28, 2026
e8a0171
Added ability to fix MIDI instrument number and channels for synthesi…
cwitkowitz Aug 29, 2026
71b75db
Fix crash/hang on tab close + shutdown, and tutorial UI bugs (found i…
VedMistry42 Aug 29, 2026
2f5dbd6
Added initial reviewer guidelines and checklist.
cwitkowitz Sep 1, 2026
e9be61e
Minor README update.
cwitkowitz Sep 4, 2026
6e5eef3
Merge pull request #441 from TEAMuP-dev/fc/model_validation_midi_inst…
cwitkowitz Sep 4, 2026
ce13086
Added test cases and validators for 11 remote models.
imChuling Sep 16, 2026
e9ebb2d
Added test cases for DDSP-Piano, micro-TCN, DeepAFx-ST, and MelBandRo…
imChuling Sep 17, 2026
9de9086
Removed redundant test cases covered by the framework defaults.
imChuling Sep 18, 2026
113772c
Added DeepAFx-ST to config for CI input length fix.
imChuling Sep 18, 2026
161194f
added test cases and files
ChughVansh Sep 18, 2026
6aba0b7
Merge origin/develop into EY/MultiTabs
cwitkowitz Sep 24, 2026
e1541e9
Home page cleanup, dynamic model display, and incorporation of tags.
cwitkowitz Sep 29, 2026
98cab60
Decoupled / refactored tutorial.
cwitkowitz Sep 29, 2026
84d42ed
Merge pull request #446 from TEAMuP-dev/fc/home-page-refactor
cwitkowitz Sep 30, 2026
49bb24e
Generalized widget view control during tutorial, improved sizing of l…
cwitkowitz Sep 30, 2026
75a3241
Added SongFormer to config for CI input length fix.
imChuling Sep 30, 2026
6e27fdd
Merge pull request #416 from TEAMuP-dev/EY/MultiTabs
cwitkowitz Oct 1, 2026
9195639
Add text_box handling in validate_outputs
imChuling Sep 19, 2026
8bfc845
Added model deployment guidelines.
cwitkowitz Oct 8, 2026
351ebbe
Merge remote-tracking branch 'origin/develop' into issue_422
NatalieElizabeth Oct 8, 2026
081aca9
Merge remote-tracking branch 'origin/issue_417' into issue_422
NatalieElizabeth Oct 8, 2026
5cf859b
Restore LF line endings in MainComponent.h
NatalieElizabeth Oct 8, 2026
75eabd5
Preview Pane Box
NatalieElizabeth Oct 8, 2026
e8d3206
Basic preview pane functionality
NatalieElizabeth Oct 8, 2026
4b6c224
Busted implementation of piano roll label fixes, going to need to fix…
NatalieElizabeth Oct 8, 2026
66be02d
Piano roll labels fixed, they now scale properly
NatalieElizabeth Oct 9, 2026
ebe85ee
Modified time axis labels so that they show fragments of a second pro…
NatalieElizabeth Oct 9, 2026
cf08d51
Minimize and close functionality implemented
NatalieElizabeth Oct 9, 2026
321e5bc
Fixed filename escape character parsing
NatalieElizabeth Oct 9, 2026
39d14dd
Implemented Click to Rename
NatalieElizabeth Oct 9, 2026
dde3709
Merge branch 'nes/time_axis_format' into nes/media_clipboard_fixes
NatalieElizabeth Oct 9, 2026
b260c9b
Fixed rename drag bug
NatalieElizabeth Oct 9, 2026
bcaa13c
Fixed drag and drop file crashes
NatalieElizabeth Oct 9, 2026
90caf9c
Adding client ID to requests.
cwitkowitz Oct 9, 2026
d62ac95
Draft resize minimum fix
NatalieElizabeth Oct 9, 2026
7f91e4d
Window resize minimums fixed
NatalieElizabeth Oct 9, 2026
437954d
Merge branch 'fc/reviewer-guidelines' into fc/model-standardization
cwitkowitz Oct 9, 2026
8890a7a
Renamed build workflow file, merged reviewer guidelines, and moved al…
cwitkowitz Oct 10, 2026
bb99385
Consolidated build files, fixed paths, and added guidelines for codes…
cwitkowitz Oct 10, 2026
f7149ab
Cleaned up Windows instructions and moved Linux build information.
cwitkowitz Oct 10, 2026
f0b96f3
Updated pyharp to v0.4.0.
cwitkowitz Oct 10, 2026
1fec709
Merge pull request #443 from TEAMuP-dev/chuling/model-tests-clean
cwitkowitz Oct 10, 2026
bea9354
Merge branch 'fc/model-standardization' into vc/model_validation_test…
cwitkowitz Oct 10, 2026
adcd24e
Merge pull request #445 from TEAMuP-dev/vc/model_validation_test_fixt…
cwitkowitz Oct 10, 2026
6e13bc9
Merge pull request #448 from imChuling/fix-textbox-output
cwitkowitz Oct 10, 2026
e8f33cc
Merged auto-open branch.
cwitkowitz Oct 12, 2026
e99e5cf
Added license tag to Stable Audio metadata.
cwitkowitz Oct 12, 2026
9f5157a
Updated pyharp submodule to v0.4.1.
cwitkowitz Oct 12, 2026
d42e3e7
Added license badge to model card, made sure proxy spaces calling a d…
cwitkowitz Oct 13, 2026
c608566
Pointed pyharp to re-tagged v0.4.1.
cwitkowitz Oct 13, 2026
fb04a0a
Merged preview pane changes.
cwitkowitz Oct 13, 2026
00791d2
A few small improvements on top of media clipboard / preview pane.
cwitkowitz Oct 13, 2026
7692a67
Forgot to check in CMakeLists.txt
cwitkowitz Oct 13, 2026
f28c77a
Thorough review and refactor of src/ with Claude Opus 5.5.
cwitkowitz Oct 13, 2026
5a2ea0c
Merge pull request #450 from TEAMuP-dev/fc/model-standardization
cwitkowitz Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/runtime_error_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Runtime error report
description: Report an error that HARP showed while loading or running a model
title: "HARP runtime error report"
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
HARP fills in the error, endpoint, and environment fields for you when
this form is opened from its error popup. Please add what you were doing
and how to reproduce it. If you can, attach the log file, which the
popup's Open Logs button reveals.

- type: textarea
id: summary
attributes:
label: Summary
description: The error reported by HARP.
validations:
required: true

- type: input
id: endpoint
attributes:
label: Endpoint
description: The model or Space involved, if any.

- type: textarea
id: notes
attributes:
label: User notes
description: What were you doing when this happened?

- type: textarea
id: environment
attributes:
label: Environment
description: HARP version, operating system, and local time.
render: markdown

- type: textarea
id: reproduction
attributes:
label: Reproduction steps
value: |
1.
2.
3.

- type: textarea
id: expected
attributes:
label: Expected behavior

- type: textarea
id: actual
attributes:
label: Actual behavior
23 changes: 23 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Summary

<!-- What does this change do, and why? One or two sentences is usually enough. -->

## Related Issues

<!-- e.g. Closes #123. Link every issue this addresses, and mention anyone involved. -->

## How to Test

<!-- Steps for a reviewer: what to run, which model or media file to use, what to look for. -->

## Author Checklist

- [ ] The title and description make the intent clear
- [ ] Relevant issues are linked
- [ ] This pull request addresses one issue
- [ ] I read my own diff end to end and reviewed it as though someone else wrote it
- [ ] I built and tested this branch, including functionality the change could affect
- [ ] Code is formatted and CI passes

Reviewers: see the [Reviewing Guidelines](https://github.com/TEAMuP-dev/HARP/blob/main/docs/REVIEWING.md)
for how to review this and for the reviewer checklist.
177 changes: 177 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# Builds and packages HARP for each platform, and publishes a GitHub release for v* tags.
# The macOS and Windows packages are code signed with the credentials described in docs/SIGNING.md.
# Originally adapted from pamplejuce (https://github.com/sudara/pamplejuce, MIT License).

name: HARP

on:
push:
paths-ignore:
- '**.md'
- 'website/**'
- 'model_validation/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/workflows/model_validation.yml'
pull_request:
workflow_dispatch:

permissions:
contents: read

# Cancel running builds of a branch when new commits are pushed to it
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

env:
# Forks cannot access the signing credentials, so their packages are left unsigned
SIGN_MACOS: ${{ secrets.MACOS_CERTIFICATE != '' }}
SIGN_WINDOWS: ${{ secrets.AZURE_CLIENT_SECRET != '' }}

jobs:
build:
name: ${{ matrix.name }}
# Pull requests from branches of this repository are already built on push
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false # show all errors for each platform (vs. cancel jobs on error)
matrix:
include:
- name: macOS
os: macos-26
cache: ccache
# Universal binary, for both Apple silicon and Intel Macs
cmake-args: '-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"'
- name: Windows-x64
os: windows-2025
cache: sccache
# Linux binaries require at least the glibc version used to build them, so build on the oldest Ubuntu
- name: Linux-x64
os: ubuntu-22.04
cache: ccache
- name: Linux-arm64
os: ubuntu-22.04-arm
cache: ccache

steps:
- uses: actions/checkout@v7
with:
submodules: recursive

# See JUCE/docs/Linux Dependencies.md (WebKit, OpenGL and JACK are not used)
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev libcurl4-openssl-dev libfontconfig1-dev libfreetype-dev \
libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev

- name: Set up MSVC
if: runner.os == 'Windows'
uses: TheMrMilchmann/setup-msvc-dev@v4
with:
arch: x64

- name: Set up compiler cache
uses: hendrikmuhs/[email protected]
with:
key: ${{ matrix.name }}
variant: ${{ matrix.cache }}

- name: Configure
run: |
cmake -B Builds -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.cache }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.cache }} \
${{ matrix.cmake-args }}

- name: Build
run: cmake --build Builds

- name: Set package name
run: |
echo "PACKAGE=HARP-$(cat VERSION)-${{ matrix.name }}" >> "$GITHUB_ENV"
echo "ARTEFACTS=Builds/HARP_artefacts/Release" >> "$GITHUB_ENV"

- name: Import Developer ID certificate (macOS)
if: runner.os == 'macOS' && env.SIGN_MACOS == 'true'
uses: apple-actions/import-codesign-certs@v7
with:
p12-file-base64: ${{ secrets.MACOS_CERTIFICATE }}
p12-password: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}

- name: Package (macOS)
if: runner.os == 'macOS'
env:
# The imported certificate is the only identity on the runner, so part of its name selects it
MACOS_SIGNING_IDENTITY: ${{ env.SIGN_MACOS == 'true' && 'Developer ID Application' || '' }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }}
run: |
pipx install dmgbuild==1.6.7
packaging/package.sh "$ARTEFACTS/HARP.app" "dist/$PACKAGE.dmg"

- name: Sign (Windows)
if: runner.os == 'Windows' && env.SIGN_WINDOWS == 'true'
uses: azure/artifact-signing-action@v2
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ vars.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ vars.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ vars.AZURE_CERTIFICATE_PROFILE }}
files: ${{ github.workspace }}\Builds\HARP_artefacts\Release\HARP.exe
file-digest: SHA256
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256

- name: Package (Windows)
if: runner.os == 'Windows'
run: |
mkdir -p dist
7z a "dist/$PACKAGE.zip" "$ARTEFACTS/HARP.exe"

# A tarball keeps the executable permission, which zip archives made here would lose
- name: Package (Linux)
if: runner.os == 'Linux'
run: |
mkdir -p dist
tar -czf "dist/$PACKAGE.tar.gz" -C "$ARTEFACTS" HARP

- name: Upload package
uses: actions/upload-artifact@v7
with:
path: dist/*
archive: false # the package is already compressed
if-no-files-found: error
overwrite: true

release:
if: startsWith(github.ref, 'refs/tags/v')
needs: build
runs-on: ubuntu-latest
permissions:
contents: write

steps:
# For RELEASE.md
- uses: actions/checkout@v7

- uses: actions/download-artifact@v8
with:
path: dist
merge-multiple: true

# If the release already exists (e.g. on a re-run), its packages are replaced instead
- name: Publish release
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release create "$GITHUB_REF_NAME" dist/* --title "HARP $GITHUB_REF_NAME" --notes-file RELEASE.md \
|| gh release upload "$GITHUB_REF_NAME" dist/* --clobber
Loading
Loading