ci: simplify build_and_release.yml workflow - #62
Open
markmybytes wants to merge 8 commits into
Open
Conversation
- Replace silent-no-op 'set GOARCH=...' (cmd syntax, no effect under pwsh default shell) with step-level env: so Go picks up the target arch in any shell - Drop redundant 'shell: pwsh' annotations (already default on windows-latest runners) - Convert PCI download step to pwsh-native commands (Set-Location, New-Item, Invoke-WebRequest) for consistency with other steps
- Combine PCI ID and PawnIO downloads into single 'Download internal data files' pwsh step - Unify on Invoke-WebRequest for all data downloads - Collapse two Move-Item calls into one comma-separated array call (Move-Item accepts string[] Path + single Destination)
Per commit 935dfa1, UPX was disabled during Windows binary build. The 'Install UPX' step is no longer used by wails build. Kept in build-updater where PyInstaller may still benefit from compression.
Replace 'cd frontend', 'Set-Location build\\bin' and 'cd build\\bin' with step-level 'working-directory'. Keeps run blocks focused on the task rather than path manipulation.
The matrix include blocks for build and build-updater were pure mappings (goarch/architecture -> build-name, wv2arch). Replace with env expressions at job level. Mapping logic stays single-sourced instead of duplicated across include and usage sites.
- Single source of truth for WebView2 version (was duplicated in path and query parameter) - Drop stray double blank line between Node setup and npm install
modernc.org/sqlite does not support windows/386 (only windows/amd64 and windows/arm64 are documented). The previous matrix 386 entry silently produced amd64 binaries under pwsh due to a no-op 'set GOARCH='. With env-based GOARCH now actually applied, the 386 build fails to compile. Drop goarch: '386' and architecture: x86 from both matrices. With single-arch builds the env derivations collapse to constants.
With goarch/architecture pinned to a single value, the matrix adds no parallelism and creates invalid YAML syntax (bare 'amd64'/'x64' instead of arrays). Drop both strategy.matrix blocks and inline the values where referenced.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Workflow simplifications and fixes for
build_and_release.yml:Bug fix
set GOARCH=${{ matrix.goarch }}(cmd.exe syntax) silently no-op'd in PowerShell. Replaced with step-levelenv:so Go actually receives the target arch.Simplifications
shell: pwshannotations (default on windows-latest)cd/Set-Locationwith step-levelworking-directoryArchitecture change
Result
Commits
8 commits stacked on
ci/workflow-fixes:8cf3ad4set GOARCH via step env (bug fix)6824d0amerge internal data downloads + compress Move-Item7700aefdrop dead UPX stepd4111b3use step working-directory9c65c29derive matrix from job env94bc922extract WV2_VERSION + drop blank line70f6c9fdrop 32-bit Windows builds22ffcc8remove unnecessary matrixNotes