-
Notifications
You must be signed in to change notification settings - Fork 730
Add Ubuntu 22.04 builds #11412
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
base: master
Are you sure you want to change the base?
Add Ubuntu 22.04 builds #11412
Changes from all commits
6aa0fa6
74b8525
5f9f531
2df80e9
dd2164e
2714df9
8bd00b3
c65d9ad
d1a5f0e
a5ae162
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -100,6 +100,10 @@ jobs: | |
| target: '' | ||
| - platform: ubuntu-24.04-arm # [linux, ARM64] | ||
| target: '' | ||
| - platform: ubuntu-22.04 # [linux, x64] | ||
| target: '' | ||
| - platform: ubuntu-22.04-arm # [linux, ARM64] | ||
| target: '' | ||
| - platform: windows-latest # [windows, x64] | ||
| target: '' | ||
|
|
||
|
|
@@ -141,7 +145,7 @@ jobs: | |
| - name: Rust Cache ${{ matrix.target }} | ||
| uses: Swatinem/[email protected] | ||
| with: | ||
| shared-key: app-release-build-${{ github.event.inputs.channel || 'nightly' }}${{ matrix.target }} | ||
| shared-key: app-release-build-${{ github.event.inputs.channel || 'nightly' }}${{ matrix.target }}${{ matrix.platform }} | ||
| - name: Init Node Environment | ||
| uses: ./.github/actions/init-env-node | ||
|
|
||
|
|
@@ -183,13 +187,25 @@ jobs: | |
| librsvg2-dev \ | ||
| xdg-utils; | ||
|
|
||
| if [ $(lsb_release -cs) = "jammy" ]; then | ||
| webkit_version='2.50.*' | ||
| elif [ $(lsb_release -cs) = "noble" ]; then | ||
| # For noble, we use this older version (that is not available on jammy) for the webkit libs as it | ||
| # seems to provide better AppImage compatibility. See https://github.com/gitbutlerapp/gitbutler/issues/5282 | ||
| webkit_version='2.44.*' | ||
| else | ||
| echo "Unknown Linux distribution" | ||
| lsb_release -a | ||
| exit 1 | ||
| fi | ||
|
|
||
| sudo apt install -y \ | ||
| libwebkit2gtk-4.1-0=2.44.0-2 \ | ||
| libwebkit2gtk-4.1-dev=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-0=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-dev=2.44.0-2 \ | ||
| gir1.2-javascriptcoregtk-4.1=2.44.0-2 \ | ||
| gir1.2-webkit2-4.1=2.44.0-2; | ||
| libwebkit2gtk-4.1-0="$webkit_version" \ | ||
| libwebkit2gtk-4.1-dev="$webkit_version" \ | ||
| libjavascriptcoregtk-4.1-0="$webkit_version" \ | ||
| libjavascriptcoregtk-4.1-dev="$webkit_version" \ | ||
| gir1.2-javascriptcoregtk-4.1="$webkit_version" \ | ||
| gir1.2-webkit2-4.1="$webkit_version"; | ||
|
|
||
| - uses: actions/download-artifact@v6 | ||
| name: Download SvelteKit build output | ||
|
|
@@ -352,6 +368,10 @@ jobs: | |
| target: '' | ||
| - platform: ubuntu-24.04-arm # [linux, ARM64] | ||
| target: '' | ||
| - platform: ubuntu-22.04 # [linux, x64] | ||
| target: '' | ||
| - platform: ubuntu-22.04-arm # [linux, ARM64] | ||
| target: '' | ||
| - platform: windows-latest # [windows, x64] | ||
| target: '' | ||
| steps: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -227,7 +227,19 @@ else | |
| BUNDLE_DIR=$(readlink -f "$PWD/../target/release/bundle") | ||
| fi | ||
|
|
||
| # The release dir determines a (significant portion of) the S3 object keys for | ||
| # the artifacts. | ||
| RELEASE_DIR="$DIST/$OS/$ARCH" | ||
| if [ "$OS" = "linux" ] && [ $(lsb_release -cs) = "noble" ]; then | ||
| # Our default Linux build is Ubuntu jammy (22.04). We still build for noble | ||
| # (24.04) but put the builds in a hidden-away part of the S3 bucket. The | ||
| # primary reason for this build existing is that the noble-built AppImage | ||
| # tends to work better with newer distros than the jammy-built AppImage. | ||
| RELEASE_DIR="$DIST/$OS-$(lsb_release -cs)/$ARCH" | ||
| fi | ||
|
|
||
| echo "Resolved RELEASE_DIR=$RELEASE_DIR" | ||
|
Comment on lines
+230
to
+241
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Byron I figured we could do something of a middleground. We make the Ubuntu 22.04 build the "default" Linux build, which will be linked from the website without any changes to any infra. But we still build the Ubuntu 24.04 (noble) build, and just stash it away under a different S3 key. So we can direct users to "try that AppImage instead" if they report issues. At least it'll be accessible. Depending on how the S3 access control is configured, there may be a need for some updates there, but the items should be uploaded at least. Seems like a good middleground, don't you think? Could you try making a nightly and we'll see what happens?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lemme know if you feel like "nah, let's just go with the Ubuntu 22.04 build alone", and we'll do that. |
||
|
|
||
| mkdir -p "$RELEASE_DIR" | ||
|
|
||
| if [ "$OS" = "macos" ]; then | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.