From dbd0b7b7cb98598cfa309debea4810976d6239d4 Mon Sep 17 00:00:00 2001 From: Grace Nakiyemba Date: Fri, 6 Nov 2026 09:06:09 +0300 Subject: [PATCH 1/2] fix(synkronus-cli): generate architecture-specific Windows resources --- .github/workflows/synkronus-cli.yml | 246 ++++++++++-------- .gitignore | 3 + .../cmd/synkronus/resource_windows_amd64.syso | Bin 72880 -> 0 bytes 3 files changed, 138 insertions(+), 111 deletions(-) delete mode 100644 synkronus-cli/cmd/synkronus/resource_windows_amd64.syso diff --git a/.github/workflows/synkronus-cli.yml b/.github/workflows/synkronus-cli.yml index 9aa7d062f..58a3d0b15 100644 --- a/.github/workflows/synkronus-cli.yml +++ b/.github/workflows/synkronus-cli.yml @@ -1,111 +1,135 @@ -name: Synkronus CLI Build & Release - -on: - push: - branches: - - main - - dev - paths: - - 'synkronus-cli/**' - - '.github/workflows/synkronus-cli.yml' - pull_request: - paths: - - 'synkronus-cli/**' - - '.github/workflows/synkronus-cli.yml' - release: - types: [published] - -jobs: - build-cli: - name: Build synkronus-cli (CI) - if: github.event_name != 'release' - runs-on: ubuntu-latest - - strategy: - matrix: - include: ${{ fromJSON( - github.event_name == 'pull_request' - && '[{"goos":"linux","goarch":"amd64"}]' - || '[{"goos":"linux","goarch":"amd64"},{"goos":"linux","goarch":"arm64"},{"goos":"windows","goarch":"amd64"},{"goos":"windows","goarch":"arm64"},{"goos":"darwin","goarch":"amd64"},{"goos":"darwin","goarch":"arm64"}]' - ) }} - - env: - CGO_ENABLED: 0 - - steps: - - name: Checkout repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - - name: Set up Go - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7 - with: - go-version: '1.25.x' - cache-dependency-path: synkronus-cli/go.sum - - - name: Build synkronus-cli - working-directory: synkronus-cli - run: | - mkdir -p dist - FILENAME=synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }} - EXT="" - if [ "${{ matrix.goos }}" = "windows" ]; then EXT=".exe"; fi - - GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \ - go build -o dist/${FILENAME}${EXT} ./cmd/synkronus - - if [ "${{ matrix.goos }}" = "windows" ]; then - (cd dist && zip -r ${FILENAME}.zip ${FILENAME}${EXT}) - else - tar -C dist -czf dist/${FILENAME}.tar.gz ${FILENAME} - fi - rm dist/${FILENAME}${EXT} - - - name: Upload build artifact - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 - with: - name: synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }} - path: synkronus-cli/dist/synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }}* - archive: false - - release-cli: - name: Build & attach release assets - if: github.event_name == 'release' - runs-on: ubuntu-latest - permissions: - contents: write - - strategy: - matrix: - goos: [linux, windows, darwin] - goarch: [amd64, arm64] - - env: - CGO_ENABLED: 0 - - steps: - - name: Checkout repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - - name: Set up Go - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7 - with: - go-version: '1.25.x' - cache-dependency-path: synkronus-cli/go.sum - - - name: Build synkronus-cli binaries - working-directory: synkronus-cli - run: | - mkdir -p dist - EXT="" - if [ "${{ matrix.goos }}" = "windows" ]; then EXT=".exe"; fi - GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \ - go build -o dist/synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }}${EXT} ./cmd/synkronus - ls -R dist - - - name: Upload assets to GitHub Release - uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3 - with: - files: | - synkronus-cli/dist/synkronus-cli-* - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +name: Synkronus CLI Build & Release + +on: + push: + branches: + - main + - dev + paths: + - 'synkronus-cli/**' + - '.github/workflows/synkronus-cli.yml' + pull_request: + paths: + - 'synkronus-cli/**' + - '.github/workflows/synkronus-cli.yml' + release: + types: [published] + +jobs: + build-cli: + name: Build synkronus-cli (CI) + if: github.event_name != 'release' + runs-on: ubuntu-latest + + strategy: + matrix: + include: ${{ fromJSON( + github.event_name == 'pull_request' + && '[{"goos":"linux","goarch":"amd64"},{"goos":"windows","goarch":"amd64"},{"goos":"windows","goarch":"arm64"}]' + || '[{"goos":"linux","goarch":"amd64"},{"goos":"linux","goarch":"arm64"},{"goos":"windows","goarch":"amd64"},{"goos":"windows","goarch":"arm64"},{"goos":"darwin","goarch":"amd64"},{"goos":"darwin","goarch":"arm64"}]' + ) }} + + env: + CGO_ENABLED: 0 + + steps: + - name: Checkout repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Set up Go + uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7 + with: + go-version: '1.25.x' + cache-dependency-path: synkronus-cli/go.sum + + - name: Generate Windows resources + if: matrix.goos == 'windows' + working-directory: synkronus-cli + run: | + case "${{ matrix.goarch }}" in + amd64) RESOURCE_FLAGS="-64" ;; + arm64) RESOURCE_FLAGS="-64 -arm" ;; + *) echo "Unsupported Windows architecture" >&2; exit 1 ;; + esac + go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.5.0 \ + ${RESOURCE_FLAGS} -o cmd/synkronus/resource_windows_${{ matrix.goarch }}.syso versioninfo.json + + - name: Build synkronus-cli + working-directory: synkronus-cli + run: | + mkdir -p dist + FILENAME=synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }} + EXT="" + if [ "${{ matrix.goos }}" = "windows" ]; then EXT=".exe"; fi + + GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \ + go build -o dist/${FILENAME}${EXT} ./cmd/synkronus + + if [ "${{ matrix.goos }}" = "windows" ]; then + (cd dist && zip -r ${FILENAME}.zip ${FILENAME}${EXT}) + else + tar -C dist -czf dist/${FILENAME}.tar.gz ${FILENAME} + fi + rm dist/${FILENAME}${EXT} + + - name: Upload build artifact + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + with: + name: synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }} + path: synkronus-cli/dist/synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }}* + archive: false + + release-cli: + name: Build & attach release assets + if: github.event_name == 'release' + runs-on: ubuntu-latest + permissions: + contents: write + + strategy: + matrix: + goos: [linux, windows, darwin] + goarch: [amd64, arm64] + + env: + CGO_ENABLED: 0 + + steps: + - name: Checkout repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Set up Go + uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7 + with: + go-version: '1.25.x' + cache-dependency-path: synkronus-cli/go.sum + + - name: Generate Windows resources + if: matrix.goos == 'windows' + working-directory: synkronus-cli + run: | + case "${{ matrix.goarch }}" in + amd64) RESOURCE_FLAGS="-64" ;; + arm64) RESOURCE_FLAGS="-64 -arm" ;; + *) echo "Unsupported Windows architecture" >&2; exit 1 ;; + esac + go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.5.0 \ + ${RESOURCE_FLAGS} -o cmd/synkronus/resource_windows_${{ matrix.goarch }}.syso versioninfo.json + + - name: Build synkronus-cli binaries + working-directory: synkronus-cli + run: | + mkdir -p dist + EXT="" + if [ "${{ matrix.goos }}" = "windows" ]; then EXT=".exe"; fi + GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \ + go build -o dist/synkronus-cli-${{ matrix.goos }}-${{ matrix.goarch }}${EXT} ./cmd/synkronus + ls -R dist + + - name: Upload assets to GitHub Release + uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3 + with: + files: | + synkronus-cli/dist/synkronus-cli-* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 923b5b760..3b09d511c 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,6 @@ sbom-dist/ # pnpm store .pnpm-store/ + +# Generated Go Windows resource objects +*.syso diff --git a/synkronus-cli/cmd/synkronus/resource_windows_amd64.syso b/synkronus-cli/cmd/synkronus/resource_windows_amd64.syso deleted file mode 100644 index 3d1bd9a0d7fa454045be33c20d7d3281f9eaf658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72880 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®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 Date: Fri, 6 Nov 2026 09:06:29 +0300 Subject: [PATCH 2/2] docs(synkronus-cli): document Windows resource generation --- synkronus-cli/README.md | 25 ++++++++++++++++++++++++- synkronus/README.md | 4 +++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/synkronus-cli/README.md b/synkronus-cli/README.md index 3b33a62c4..8a90c59a3 100644 --- a/synkronus-cli/README.md +++ b/synkronus-cli/README.md @@ -209,7 +209,30 @@ ticket-ready summary. Build with: `go build -o bin/synk.exe ./cmd/synkronus` Run with: `bin/synk.exe` -Icon: configured in versioninfo.json and built with goversioninfo `goversioninfo -o cmd/synkronus/resource.syso` to create a syso file next to main go file. +### Windows resources + +Normal developer builds do not require a resource object. CI and release builds +for Windows generate the icon and file properties from `versioninfo.json` and +`synk.ico` with pinned `goversioninfo v1.5.0` before compiling. + +To include these resources locally, run the generator from `synkronus-cli/` +using the flags for your target architecture: + +```sh +# Windows AMD64 +go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.5.0 -64 -o cmd/synkronus/resource_windows_amd64.syso versioninfo.json + +# Windows ARM64 +go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.5.0 -64 -arm -o cmd/synkronus/resource_windows_arm64.syso versioninfo.json +``` + +Run the generator on the host before setting `GOOS` / `GOARCH` for a cross-build. +Then build `./cmd/synkronus` for the matching Windows target. The generated objects +must sit beside `main.go`; their `_windows_amd64` and `_windows_arm64` suffixes +make Go include only the matching object and exclude both from Linux/macOS builds. +Do not rename an i386 object to target another architecture. Generated `.syso` +files are ignored and must not be committed. Regenerate them after changing +`versioninfo.json` or the icon. ### Regenerating the OpenAPI client diff --git a/synkronus/README.md b/synkronus/README.md index 05cb9249f..506b1851b 100644 --- a/synkronus/README.md +++ b/synkronus/README.md @@ -164,4 +164,6 @@ Run with: `./bin/synkronus.exe` or `go run cmd/synkronus/main.go` On Windows PowerShell, you can use `./build.ps1` to build with version metadata from git. Without `-ldflags` version injection, `/health` reports the default fallback version (`1.0.0`). -Icon: configured in versioninfo.json and built with goversioninfo `goversioninfo -o cmd/synkronus/resource.syso` to create a syso file next to main go file. \ No newline at end of file +Windows resource objects are not tracked or generated by the server build. +The CLI has a separate architecture-specific resource generation process; see +[its Windows resource instructions](../synkronus-cli/README.md#windows-resources).