Skip to content

Commit 505a55a

Browse files
committed
refactor release workflow to separate Linux build job and streamline macOS/Windows builds
1 parent 9471fce commit 505a55a

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

.github/workflows/release.yml

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,18 @@ permissions:
1313
contents: write
1414

1515
jobs:
16-
build:
17-
name: Build sqlpage binaries
16+
build-macos-windows:
17+
name: Build sqlpage binaries (macOS & Windows)
1818
runs-on: ${{ matrix.os }}
1919
strategy:
2020
matrix:
21-
os: [macos-latest, windows-latest, ubuntu-latest]
21+
os: [macos-latest, windows-latest]
2222
include:
2323
- os: windows-latest
2424
binary_extension: .exe
2525
target: x86_64-pc-windows-msvc
2626
- os: macos-latest
2727
target: x86_64-apple-darwin
28-
- os: ubuntu-latest
29-
target: x86_64-unknown-linux-gnu
30-
container: quay.io/pypa/manylinux2014_x86_64
3128
steps:
3229
- uses: actions/checkout@v4
3330
- name: Install Rust toolchain
@@ -43,6 +40,27 @@ jobs:
4340
name: sqlpage ${{ matrix.os }}
4441
path: target/${{ matrix.target }}/superoptimized/sqlpage${{ matrix.binary_extension }}
4542
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/manylinux2014_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+
4664
build-aws:
4765
name: Build AWS Lambda Serverless zip image
4866
runs-on: ubuntu-latest
@@ -54,9 +72,10 @@ jobs:
5472
with:
5573
name: sqlpage aws lambda serverless image
5674
path: sqlpage-aws-lambda.zip
75+
5776
create_release:
5877
name: Create Github Release
59-
needs: [build, build-aws]
78+
needs: [build-macos-windows, build-linux, build-aws]
6079
runs-on: ubuntu-latest
6180
if: startsWith(github.ref, 'refs/tags/')
6281
steps:
@@ -84,6 +103,7 @@ jobs:
84103
sqlpage-linux.tgz
85104
sqlpage-macos.tgz
86105
sqlpage aws lambda serverless image/sqlpage-aws-lambda.zip
106+
87107
cargo_publish:
88108
name: Publish to crates.io
89109
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)