Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: arm64 releases #3493

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

ci: arm64 releases #3493

wants to merge 1 commit into from

Conversation

bussyjd
Copy link

@bussyjd bussyjd commented Feb 3, 2025

This workflow handles the automated build and release process for Charon binaries. Key features include:

  1. Cross-Platform Build Support:

    • Builds for both AMD64 (x86_64) and ARM64 (aarch64) architectures
    • Uses Docker-based build environment for consistent compilation
    • Enables CGO with appropriate cross-compilation toolchains
    • Includes netgo and osusergo tags for better portability
  2. Version Management:

    • Extracts version information from code or git tags
    • Injects version information during compilation via ldflags
    • Maintains consistent version naming across artifacts
  3. Release Artifacts:

    • Generates compressed archives (.tar.gz) for each architecture
    • Creates a detailed checksums.txt with architecture-specific labels
    • Preserves both compressed and uncompressed binaries as build artifacts
  4. Release Process:

    • Integrates with the main release workflow
    • Attaches binaries to draft releases for review
    • Uses Ubuntu 24.04 for stable and modern build environment

The workflow ensures reliable, reproducible builds while maintaining a clear and organized release process.

category: fixbuild
ticket: none

Copy link

sonarqubecloud bot commented Feb 3, 2025

Copy link

codecov bot commented Feb 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 57.40%. Comparing base (1eedefd) to head (25b95e6).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3493      +/-   ##
==========================================
- Coverage   57.44%   57.40%   -0.05%     
==========================================
  Files         217      217              
  Lines       32245    32245              
==========================================
- Hits        18524    18511      -13     
- Misses      11814    11826      +12     
- Partials     1907     1908       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@bussyjd bussyjd changed the title feat: add arm releases ARM64 Releases Feb 3, 2025
@bussyjd bussyjd changed the title ARM64 Releases ci: arm64 releases Feb 3, 2025
@bussyjd bussyjd requested a review from pinebit February 4, 2025 07:12
Copy link
Collaborator

@KaloyanTanev KaloyanTanev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you considered using goreleaser, I find it easier to maintain and straight forward? We've discussed it before, but we had some incompatibilities with it, which now are fixed afaik.

runs:
using: 'composite'
steps:
- name: Setup go
id: setup-go
uses: actions/setup-go@v4
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we are on it, we can probably bump this version as well

Suggested change
uses: actions/setup-go@v4
uses: actions/setup-go@v5

sha256sum charon-${{ env.RELEASE_VERSION }}-linux-arm64.tar.gz >> checksums.txt

- name: Upload artifacts
uses: actions/upload-artifact@v3
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4


- name: Attach to GitHub Release
if: github.event.workflow_run.conclusion == 'success'
uses: softprops/action-gh-release@v1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2

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.

3 participants