Skip to content

Commit 15b3fb8

Browse files
authored
linux builds with old glibc (#927)
* update release workflow to include release-test branch and conditional execution for tag events * update release workflow to use GNU target and simplify Rust toolchain installation * refactor release workflow to separate Linux build job and streamline macOS/Windows builds * update release workflow to use manylinux_2_28_x86_64 container for Linux builds
1 parent dbdd820 commit 15b3fb8

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,33 @@ on:
44
# Sequence of patterns matched against refs/tags
55
tags:
66
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
7+
branches:
8+
- "release-test"
79

810
name: Create Release
911

1012
permissions:
1113
contents: write
1214

1315
jobs:
14-
build:
15-
name: Build sqlpage binaries
16+
build-macos-windows:
17+
name: Build sqlpage binaries (macOS & Windows)
1618
runs-on: ${{ matrix.os }}
1719
strategy:
1820
matrix:
19-
os: [macos-latest, windows-latest, ubuntu-latest]
21+
os: [macos-latest, windows-latest]
2022
include:
2123
- os: windows-latest
2224
binary_extension: .exe
2325
target: x86_64-pc-windows-msvc
2426
- os: macos-latest
2527
target: x86_64-apple-darwin
26-
- os: ubuntu-latest
27-
target: x86_64-unknown-linux-musl
2828
steps:
2929
- uses: actions/checkout@v4
3030
- name: Install Rust toolchain
31-
run: rustup toolchain install --target ${{ matrix.target }} --profile minimal stable
32-
- name: Install musl toolchain
33-
if: matrix.os == 'ubuntu-latest'
34-
run: sudo apt-get install -y musl-tools
31+
uses: dtolnay/rust-toolchain@stable
32+
with:
33+
targets: ${{ matrix.target }}
3534
- name: Set up cargo cache
3635
uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
3736
- name: Build
@@ -41,6 +40,27 @@ jobs:
4140
name: sqlpage ${{ matrix.os }}
4241
path: target/${{ matrix.target }}/superoptimized/sqlpage${{ matrix.binary_extension }}
4342
if-no-files-found: error
43+
44+
build-linux:
45+
name: Build sqlpage binaries (Linux)
46+
runs-on: ubuntu-latest
47+
container: quay.io/pypa/manylinux_2_28_x86_64
48+
steps:
49+
- uses: actions/checkout@v4
50+
- name: Install Rust toolchain
51+
uses: dtolnay/rust-toolchain@stable
52+
with:
53+
targets: x86_64-unknown-linux-gnu
54+
- name: Set up cargo cache
55+
uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
56+
- name: Build
57+
run: cargo build --profile superoptimized --locked --target x86_64-unknown-linux-gnu
58+
- uses: actions/upload-artifact@v4
59+
with:
60+
name: sqlpage ubuntu-latest
61+
path: target/x86_64-unknown-linux-gnu/superoptimized/sqlpage
62+
if-no-files-found: error
63+
4464
build-aws:
4565
name: Build AWS Lambda Serverless zip image
4666
runs-on: ubuntu-latest
@@ -52,10 +72,12 @@ jobs:
5272
with:
5373
name: sqlpage aws lambda serverless image
5474
path: sqlpage-aws-lambda.zip
75+
5576
create_release:
5677
name: Create Github Release
57-
needs: [build, build-aws]
78+
needs: [build-macos-windows, build-linux, build-aws]
5879
runs-on: ubuntu-latest
80+
if: startsWith(github.ref, 'refs/tags/')
5981
steps:
6082
- uses: actions/checkout@v4
6183
- uses: actions/download-artifact@v4
@@ -81,9 +103,11 @@ jobs:
81103
sqlpage-linux.tgz
82104
sqlpage-macos.tgz
83105
sqlpage aws lambda serverless image/sqlpage-aws-lambda.zip
106+
84107
cargo_publish:
85108
name: Publish to crates.io
86109
runs-on: ubuntu-latest
110+
if: startsWith(github.ref, 'refs/tags/')
87111
steps:
88112
- uses: actions/checkout@v4
89113
- name: Set up cargo cache

0 commit comments

Comments
 (0)