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: Allow a single CI run to build & release for both x86-64 and arm64 #142

Merged
merged 22 commits into from
Jan 23, 2024

Conversation

Cubik65536
Copy link
Member

@Cubik65536 Cubik65536 commented Jan 13, 2024

This PR changes the ci process and allows one GitHub Action run to build both x86-64 and arm64 builds for ungoogled-chromium macOS.

It also uses the actions/setup-python action to setup Python 3.11 environment. This is an attempt to permanently "fix" the bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library? issue when building with GitHub CI and when Python 3.12 (and above, prehaps?) is used.

TODO List:

  • Lock in Python 3.11 environment for building
  • Allow the same action run to build both x86-64 and arm64 builds (TESTING)
  • Prevent the same action run from downloading the source assets twice before building for each arch.
  • Publish binaries for both x86-64 and arm64 in an single release. (TESTING)

@Cubik65536
Copy link
Member Author

A related question @networkException , will we still have two individual releases (for two arch) or a single release that contains binaries for both x86-64 and arm64?

@networkException
Copy link
Member

Whatever is easier for you

@Cubik65536
Copy link
Member Author

I'll try to put it in a single release then. We might also have to change something with our brew cask (not very familiar with that, will take a deeper look later).

@Cubik65536 Cubik65536 changed the title ci: Build both x86-64 and arm64 builds in one action ci: Allow a single CI run to build & release for both x86-64 and arm64 Jan 14, 2024
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
This change is made so that x86-64 and arm64 builds can be executed at the same time, which saves significantly CI run times.

Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
@Cubik65536
Copy link
Member Author

@jorgehezd
Copy link

jorgehezd commented Jan 15, 2024 via email

@Cubik65536
Copy link
Member Author

Hi, I still receive the error: An error occurred. (Error code: 9) (Extra code: 0) Learn more <support.9oo91e.qjz9zk/chrome?p=update_error> Version 120.0.6099.216 (Official Build, ungoogled-chromium) (arm64) On 14 Jan 2024, at 20:51, Cubik65536 @.***> wrote: Testing here (just a manual trigger, w/o a release) <iXORTech/ungoogled-chromium-macos/actions/runs/7523608741> and here (push to a tag, w/ a release) <iXORTech/ungoogled-chromium-macos/actions/runs/7523617042>. — Reply to this email directly, view it on GitHub <#142 (comment)>, or unsubscribe <github.com/notifications/unsubscribe-auth/AWR5O3EVHNDQFZ53KF3YMCLYOSKRNAVCNFSM6AAAAABBZSJ4M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJRGIZDENZSGE>. You are receiving this because you are subscribed to this thread.

First, this is probably the least place you should report this issue.
Second, check description of #134.

@jorgehezd
Copy link

jorgehezd commented Jan 15, 2024 via email

Signed-off-by: Qian Qian "Cubik"‎ <[email protected]>
@Cubik65536
Copy link
Member Author

The test without release worked.
A second with release test here.

@PF4Public
Copy link
Contributor

A second with release test here.

Did it work in the end? There is an error:

Annotations
1 error
Release macOS binaries of Ungoogled Chromium
ENOENT: no such file or directory, open './github_release_note.md'

@Cubik65536
Copy link
Member Author

A second with release test here.

Did it work in the end? There is an error:

Annotations
1 error
Release macOS binaries of Ungoogled Chromium
ENOENT: no such file or directory, open './github_release_note.md'

No it didn’t, will have a fix.

@Cubik65536
Copy link
Member Author

The action w/ release worked (finally!) and here's the corresponding test release.

Now ready for review.

@Cubik65536 Cubik65536 marked this pull request as ready for review January 21, 2024 01:09
@Cubik65536
Copy link
Member Author

I think I will skip 120.0.6099.224 and directly update to 121.0.6167.75 after this PR have been merged and when 121.0.6167.75 gets released.

@PF4Public
Copy link
Contributor

@networkException any objections to merging?

Copy link
Member

@networkException networkException left a comment

Choose a reason for hiding this comment

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

no

@PF4Public PF4Public merged commit ff4b019 into ungoogled-software:master Jan 23, 2024
1 check passed
@PF4Public
Copy link
Contributor

Thanks @Cubik65536

@claudiodekker
Copy link

claudiodekker commented Jan 24, 2024

Figured I'd mention that this PR also changed the release names to Ungoogled-Chromium macOS <tag>, since that wasn't necessarily an expected change.

Not really a big deal, and some might actually prefer it this way, but arguably it's slightly less descriptive on the project overview page or anywhere else the releases might be displayed where space is limited:
CleanShot 2024-01-24 at 18 41 37@2x

@Cubik65536
Copy link
Member Author

Figured I'd mention that this does change the release names to "Ungoogled-Chromium macOS " as well.

While it's not really a big deal and some might actually prefer it, it is arguably slightly less distinctive on the project overview page. In either case, it's a change that wasn't necessarily requested, so I figured I'd bring it up just in case: CleanShot 2024-01-24 at 18 41 37@2x

I made that change on purpose because usually the version is after the software name, and it is not a very big deal (in my opinion) because usually what we want to download from there is definitely just the "latest", and if someone is looking for a specific version, they'd rather look at the release list, where the version number would not be hidden.

We might want still to change that - considering the ungoogled-chromium macOS repo is the only one who put the software name in the release title (the others use only the version number), I'm open to any opinion.

@Cubik65536 Cubik65536 deleted the ci/multi-arch-build branch January 24, 2024 17:54
@claudiodekker
Copy link

claudiodekker commented Jan 24, 2024

Yeah, you're absolutely right, and my apologies for my initial wording on that comment. I didn't intend to come across as biased for or against the change either way. It was just something that stood out to me as an unexpected change when I was preparing my automated signing builds to be compatible with this change, and something that might've easily slipped through with others as well.

As for the version-number only argument: This is also my experience, as generally projects consider it kind of a given that you're aware as to what project you're looking at / are browsing in anyway, but I'll leave it up to the maintainers to make those kinds of decisions :)

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.

5 participants