tauri-build
tauri-build copied to clipboard
NSIS Installer Output not picked up as output
Hi,
I have the following issue when trying to upload the artifacts of this action when using a a Nsis installer output (the upload works fine for macOS and linux builds btw).
The build for windows works fine, we can see that the artifacts are created in the github log:
Finished 1 bundle at:
D:\a\projectname\projectname\src-tauri\target\release\bundle\nsis\projectname_0.7.0-BETA_x64-setup.exe
D:\a\projectname\projectname\src-tauri\target\release\bundle\nsis\projectname_0.7.0-BETA_x64-setup.nsis.zip (updater)
Finished 1 updater signature at:
D:\a\projectname\projectname\src-tauri\target\release\bundle\nsis\projectname_0.7.0-BETA_x64-setup.nsis.zip.sig
But the upload artifact action fails:
Run actions/upload-artifact@v3
Error: Input required and not supplied: path
The github workflow code was taken from the README.md and modified to only produce the nsis &updater output (-b nsis,updater
), the relevant sections look like this:
- uses: JonasKruckenberg/tauri-build@main
id: tauri_build
with:
args: "${{ matrix.platform == 'windows-latest' && '-b nsis,updater --ci' || '' }}"
- uses: actions/upload-artifact@v3
with:
name: artifacts
path: "${{ join(fromJSON(steps.tauri_build.outputs.artifacts), '\n') }}"
My assumption is, that the output variable of tauri_build is not correctly set for the nsis installer output.
I've found issue: https://github.com/JonasKruckenberg/tauri-build/issues/266 which mentions that the output of the nsis installer should be fixed - I've tried out main and v1.4 and verified that the problem persists.
I've cloned the tauri-build action and took a look at the code and found the windows extensions code in build-projects.ts
:
const windowsExts = ['exe', 'exe.zip', 'exe.zip.sig', 'msi', 'msi.zip', 'msi.zip.sig']
Which is IMHO missing some relevant entries for the nsis output as shown in the github action log above, like nsis.zip
and nsis.zip.sig
.
For comparison, I've looked at the "official" github action tauri-action
, the relevant code in build.ts looks like:
...
winArtifacts.push(
join(
artifactsPath,
`bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.exe`
)
);
winArtifacts.push(
join(
artifactsPath,
`bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.nsis.zip`
)
);
winArtifacts.push(
join(
artifactsPath,
`bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.nsis.zip.sig`
)
);
I think that at least nsis.zip
and nsis.zip.sig
are missing in the windowsExts
variable.
What I don't yet understand is, why is the output completely empty? Shouldn't at least the nsis .exe
be picked up?
I just started using the github ci yesterday and I am new to github actions don't know how I would go about testing a potential fix of the action?
Any pointers are welcome, thanks!
Take care, Martin