Skip to content

Add multi-arch GitHub CI packaging artifacts (amd64 + arm64) - #8

Merged
pavel-odintsov merged 7 commits into
masterfrom
copilot/add-binary-packages-logic
Apr 23, 2026
Merged

Add multi-arch GitHub CI packaging artifacts (amd64 + arm64)#8
pavel-odintsov merged 7 commits into
masterfrom
copilot/add-binary-packages-logic

Conversation

Copilot AI commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

This PR adds GitHub CI logic to produce Linux binary packages for both amd64 and arm64 and publish them as workflow artifacts. Packaging is now automated per architecture instead of relying on manual local commands.

  • CI workflow for package production

    • Added .github/workflows/build-packages.yml
    • Triggers on push (main/master), pull_request, and workflow_dispatch
    • Uses a matrix build for amd64 and arm64
  • Per-arch binary + package build

    • Cross-compiles country_lockdown with GOOS=linux / GOARCH=<matrix arch>
    • Downloads matching gobgp/gobgpd release tarball for each arch
    • Builds both deb and rpm packages via nfpm
  • Artifact publication

    • Uploads generated packages as per-arch artifacts:
      • country-lockdown-packages-amd64
      • country-lockdown-packages-arm64
  • Workflow hardening and maintainability

    • Added explicit job permissions (contents: read, actions: write)
    • Centralized gobgp version via workflow env
    • Generates temporary arch-specific nfpm config in $RUNNER_TEMP before packaging
strategy:
  matrix:
    arch: [amd64, arm64]

- run: CGO_ENABLED=0 GOOS=linux GOARCH=${{ matrix.arch }} go build -mod=vendor -o bin/country_lockdown .
- run: ~/go/bin/nfpm pkg --config "${RUNNER_TEMP}/nfpm.yaml" --packager deb --target dist/
- uses: actions/upload-artifact@v4
  with:
    name: country-lockdown-packages-${{ matrix.arch }}
    path: dist/*

Copilot AI and others added 7 commits April 23, 2026 13:16
Agent-Logs-Url: https://github.com/FastNetMon/country_lockdown/sessions/a6f7dfd3-8af1-4ded-a723-9b8531502b65

Co-authored-by: pavel-odintsov <2744166+pavel-odintsov@users.noreply.github.com>
@pavel-odintsov
pavel-odintsov marked this pull request as ready for review April 23, 2026 14:04
@pavel-odintsov
pavel-odintsov merged commit 502dccd into master Apr 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants