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

build: release ppc64le/riscv64 and improve reproducibility #1118

Merged
merged 3 commits into from
Sep 28, 2023
Merged

build: release ppc64le/riscv64 and improve reproducibility #1118

merged 3 commits into from
Sep 28, 2023

Conversation

katexochen
Copy link
Contributor

What this PR does / why we need it:

Release for more architectures, as oras is getting more popular 🎉 and some use cases require more exotic architectures.

Also improving the reproducibility of release artifacts by

  • trimming paths (making the build independent from the current directory)
  • set build ID to empty string
  • set binary timestamp to commit timestamp
  • strip binary (reduces size from 9.2MB to 8.5MB)

Which issue(s) this PR fixes:
Fixes #1111

Please check the following list:

  • Does the affected code have corresponding tests, e.g. unit test, E2E test? does not apply
  • Does this change require a documentation update? no
  • Does this introduce breaking changes that would require an announcement or bumping the major version? no
  • Do all new files have an appropriate license header? does not apply

Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
@katexochen katexochen changed the title Release binaries for ppc64/ppc64le/riscv64 and improve release reproducibility Release binaries for ppc64le/riscv64 and improve release reproducibility Sep 12, 2023
@qweeah qweeah changed the title Release binaries for ppc64le/riscv64 and improve release reproducibility build: release ppc64le/riscv64 and improve reproducibility Sep 12, 2023
Copy link
Contributor

@qweeah qweeah left a comment

Choose a reason for hiding this comment

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

LGTM. I have verified that Linux and Windows amd64 binaries built are working as expected.

Copy link
Contributor

@shizhMSFT shizhMSFT left a comment

Choose a reason for hiding this comment

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

LGTM with nit questions.

.goreleaser.yml Show resolved Hide resolved
@shizhMSFT
Copy link
Contributor

@katexochen Could you rebase the branch so that we can merge?

@codecov-commenter
Copy link

Codecov Report

Merging #1118 (25a8475) into main (8cf946f) will not change coverage.
The diff coverage is n/a.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

@@           Coverage Diff           @@
##             main    #1118   +/-   ##
=======================================
  Coverage   80.10%   80.10%           
=======================================
  Files          57       57           
  Lines        2991     2991           
=======================================
  Hits         2396     2396           
  Misses        410      410           
  Partials      185      185           

Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
- trim paths
- set build ID to empty string
- set binary timestamp to commit timestamp
- strip binary (reduces size from 9.2MB to 8.5MB)

Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
@katexochen
Copy link
Contributor Author

@shizhMSFT I rebased again, could you approve the CI?

Copy link
Contributor

@shizhMSFT shizhMSFT left a comment

Choose a reason for hiding this comment

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

LGTM

@shizhMSFT shizhMSFT merged commit a59ab32 into oras-project:main Sep 28, 2023
6 checks passed
@katexochen katexochen deleted the feat/release-ppc branch September 28, 2023 04:00
@FeynmanZhou FeynmanZhou mentioned this pull request Nov 20, 2023
1 task
@FeynmanZhou FeynmanZhou added this to the v1.2.0 milestone Jan 11, 2024
@rpardini
Copy link

rpardini commented Mar 3, 2024

Just sayin', this enabled Armbian building on riscv64. Armbian uses ghcr.io + ORAS for distributed builds. Thank you! 👍

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.

Binaries are missing for ppc64le and riscv64
8 participants