Skip to content

ci: provide arm64 image build #83907

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

Merged
merged 15 commits into from
Jun 13, 2025
Merged

Conversation

aldy505
Copy link
Contributor

@aldy505 aldy505 commented Jan 23, 2025

Effort for getsentry/self-hosted#1585

See the GHA results here: https://github.com/getsentry/sentry/actions/runs/12928078209?pr=83907

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

@aldy505 aldy505 requested review from a team as code owners January 23, 2025 11:19
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jan 23, 2025
@aldy505
Copy link
Contributor Author

aldy505 commented Jan 24, 2025

Ping so this won't get lost @hubertdeng123 @BYK @bc-sentry

@BYK
Copy link
Member

BYK commented Jan 25, 2025

Since we are exclusively on Docker Compose 2 now, I think we should use this as an opportunity to get rid of gosu and tini. For tini, we can just use the init parameter: https://stackoverflow.com/a/50357065/90297

And guessing for gosu we just need to set user on the image or something?

Copy link
Contributor

@bc-sentry bc-sentry left a comment

Choose a reason for hiding this comment

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

@aldy505 While arm64 runners are in beta, the global pool of runners is severely constrained and will result in job queuing. We would like to wait to add the arm64 image until runners is prod and sufficient capacity exists. Thanks.

@asottile-sentry
Copy link
Member

Since we are exclusively on Docker Compose 2 now, I think we should use this as an opportunity to get rid of gosu and tini. For tini, we can just use the init parameter: https://stackoverflow.com/a/50357065/90297

And guessing for gosu we just need to set user on the image or something?

slightly easier patch woudl be to install them from apt instead of curl anyway

@bc-sentry
Copy link
Contributor

@aldy505 While arm64 runners are in beta, the global pool of runners is severely constrained and will result in job queuing. We would like to wait to add the arm64 image until runners is prod and sufficient capacity exists. Thanks.

Comment on lines 65 to 76
- run: docker login --username '${{ github.actor }}' --password-stdin ghcr.io <<< "$GHCR_TOKEN"
env:
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: github.event_name != 'pull_request'
- run: docker login --username '${{ github.actor }}' --password '${{ github.token }}' ghcr.io
if: github.ref_name == 'master' && github.event_name != 'pull_request'
Copy link
Member

Choose a reason for hiding this comment

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

don't change things that are unnecessary to change. for instance this is worse than before since the password ends up in pslogs and you get a new warning

@getsantry getsantry bot added Stale and removed Stale labels Jun 6, 2025
publish-dockerhub:
needs: [assemble]
runs-on: ubuntu-latest
if: ${{ (github.ref_name == 'master') }}
Copy link
Member

Choose a reason for hiding this comment

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

No pull_request limitation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No need, the assemble itself already has this guard:

if: ${{ github.ref_name == 'master' && github.event_name != 'pull_request' }}

Copy link
Member

Choose a reason for hiding this comment

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

Then why this check at all?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Double guard :)

Copy link
Member

Choose a reason for hiding this comment

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

Err, no please. Either have it full or none. No in between stuff.

Copy link
Member

@BYK BYK left a comment

Choose a reason for hiding this comment

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

Have 2 questions, other than that this looks good!

We should probably extract the cross-arch build stuff into its own action as we keep repeating the same pattern across repos at this point.

&& chmod +x /usr/local/bin/tini \
&& apt-get purge -y --auto-remove $buildDeps

SHELL ["/bin/sh", "-c"]
Copy link
Member

Choose a reason for hiding this comment

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

Do we need this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was taken from here master...Sentry-ARM:sentry:arm64

cc @ezhevita

Copy link
Contributor

@ezhevita ezhevita Jun 12, 2025

Choose a reason for hiding this comment

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

No, it's not necessary, I've added this to restore the default shell just to be safe, in practice there should be no behavioural differences and you should be able to run the rest of the dockerfile in bash

@BYK BYK added the Trigger: getsentry tests Once code is reviewed: apply label to PR to trigger getsentry tests label Jun 12, 2025
@BYK BYK requested a review from bc-sentry June 12, 2025 22:24
@BYK BYK dismissed bc-sentry’s stale review June 12, 2025 22:24

Very old review. Will revert or limit if arm64 runners become and issue.

BYK pushed a commit that referenced this pull request Jun 13, 2025
In order to make #83907 works,
we met a failing PR caused by rspack. The issue is here
(web-infra-dev/rspack#10118), and it's fixed
since 1.3.11. I'm bumping it to 1.3.15 just to make it as latest as
possible.

### Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.
@github-actions github-actions bot removed the Trigger: getsentry tests Once code is reviewed: apply label to PR to trigger getsentry tests label Jun 13, 2025
@BYK BYK added the Trigger: getsentry tests Once code is reviewed: apply label to PR to trigger getsentry tests label Jun 13, 2025
@BYK BYK enabled auto-merge (squash) June 13, 2025 11:14
@BYK BYK merged commit cbd9c9a into getsentry:master Jun 13, 2025
30 of 34 checks passed
BYK added a commit that referenced this pull request Jun 13, 2025
@BYK BYK mentioned this pull request Jun 13, 2025
BYK added a commit that referenced this pull request Jun 13, 2025
@@ -19,8 +19,17 @@ env:

jobs:
self-hosted:
runs-on: ubuntu-latest
Copy link
Member

Choose a reason for hiding this comment

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

I believe this change is causing ci builds to fail for the 25.6.0 release:
https://github.com/getsentry/publish/actions/runs/15688973336/job/44199206790

Copy link
Member

Choose a reason for hiding this comment

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

followed up #93640

billyvg pushed a commit that referenced this pull request Jun 18, 2025
In order to make #83907 works,
we met a failing PR caused by rspack. The issue is here
(web-infra-dev/rspack#10118), and it's fixed
since 1.3.11. I'm bumping it to 1.3.15 just to make it as latest as
possible.

### Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.
billyvg pushed a commit that referenced this pull request Jun 18, 2025
Effort for getsentry/self-hosted#1585

See the GHA results here:
https://github.com/getsentry/sentry/actions/runs/12928078209?pr=83907

### Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.

---------

Co-authored-by: Vita Chumakova <[email protected]>
Co-authored-by: Burak Yigit Kaya <[email protected]>
billyvg pushed a commit that referenced this pull request Jun 18, 2025
andrewshie-sentry pushed a commit that referenced this pull request Jun 19, 2025
In order to make #83907 works,
we met a failing PR caused by rspack. The issue is here
(web-infra-dev/rspack#10118), and it's fixed
since 1.3.11. I'm bumping it to 1.3.15 just to make it as latest as
possible.

### Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.
andrewshie-sentry pushed a commit that referenced this pull request Jun 19, 2025
Effort for getsentry/self-hosted#1585

See the GHA results here:
https://github.com/getsentry/sentry/actions/runs/12928078209?pr=83907

### Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.

---------

Co-authored-by: Vita Chumakova <[email protected]>
Co-authored-by: Burak Yigit Kaya <[email protected]>
andrewshie-sentry pushed a commit that referenced this pull request Jun 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Frontend Automatically applied to PRs that change frontend components Trigger: getsentry tests Once code is reviewed: apply label to PR to trigger getsentry tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants