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
810name : Create Release
911
1012permissions :
1113 contents : write
1214
1315jobs :
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
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