Skip to content

Commit 28d2cf5

Browse files
committed
fix release pipeline
The problem was that one of the `include` sections contained another 'match' field which essentially removed os information from all other linux builds. Further, linux musl builds don't work with openssl anymore, so we brutally disable it for now, even though we could do better in the performance department if we wanted to enabled faster zlib builds, but for now it was left for the future.
1 parent 33262f4 commit 28d2cf5

File tree

1 file changed

+34
-17
lines changed

1 file changed

+34
-17
lines changed

.github/workflows/release.yml

+34-17
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ on:
1717
push:
1818
# Enable when testing release infrastructure on a branch.
1919
# branches:
20-
# - fix-releases
20+
# - fix-releases
2121
tags:
2222
- "v.*"
2323
jobs:
2424
create-release:
2525
name: create-release
2626
runs-on: ubuntu-latest
27-
# env:
28-
# Set to force version number, e.g., when no tag exists.
29-
# ARTIFACT_VERSION: TEST-0.0.0
27+
# env:
28+
# # Set to force version number, e.g., when no tag exists.
29+
# ARTIFACT_VERSION: TEST-0.0.0
3030
steps:
3131
- name: Create artifacts directory
3232
run: mkdir artifacts
@@ -78,34 +78,49 @@ jobs:
7878
strategy:
7979
matrix:
8080
# build: [ linux, linux-arm, macos, win-msvc, win-gnu, win32-msvc ]
81-
build: [ linux, macos, win-msvc, win-gnu, win32-msvc ]
81+
build: [ linux, linux-arm, macos, win-msvc, win-gnu, win32-msvc ]
8282
feature: [ "small", "lean", "max", "max-pure" ]
8383
include:
8484
- build: linux
8585
os: ubuntu-latest
8686
rust: stable
8787
target: x86_64-unknown-linux-musl
88-
feature: "max-pure"
89-
# - build: linux-arm
90-
# os: ubuntu-latest
91-
# rust: nightly
92-
# target: arm-unknown-linux-gnueabihf
88+
- build: linux-arm
89+
os: ubuntu-latest
90+
rust: nightly
91+
target: arm-unknown-linux-gnueabihf
9392
- build: macos
9493
os: macos-latest
9594
rust: stable
9695
target: x86_64-apple-darwin
9796
- build: win-msvc
98-
os: windows-2019
97+
os: windows-latest
9998
rust: nightly
10099
target: x86_64-pc-windows-msvc
101100
- build: win-gnu
102-
os: windows-2019
101+
os: windows-latest
103102
rust: nightly-x86_64-gnu
104103
target: x86_64-pc-windows-gnu
105104
- build: win32-msvc
106-
os: windows-2019
105+
os: windows-latest
107106
rust: nightly
108107
target: i686-pc-windows-msvc
108+
# on linux we build with musl which causes trouble with open-ssl. For now, just build max-pure there
109+
# even though we could also build with `--features max-control,http-client-reqwest,gitoxide-core-blocking-client,gix-features/fast-sha1` for fast hashing.
110+
# It's a TODO.
111+
exclude:
112+
- build: linux
113+
feature: small
114+
- build: linux
115+
feature: lean
116+
- build: linux
117+
feature: max
118+
- build: linux-arm
119+
feature: small
120+
- build: linux-arm
121+
feature: lean
122+
- build: linux-arm
123+
feature: max
109124

110125
runs-on: ${{ matrix.os }}
111126
steps:
@@ -115,9 +130,11 @@ jobs:
115130
fetch-depth: 1
116131

117132
- name: Install packages (Ubuntu)
118-
if: matrix.os == 'ubuntu-latest'
133+
# Because openssl doesn't work on musl by default, we resort to max-pure. And that won't need any dependency, so we can skip this.continue-on-error
134+
# Once we want to support better zlib performance, we might have to re-add it.
135+
if: matrix.os == 'ubuntu-latest-disabled'
119136
run: |
120-
sudo apt-get update && sudo apt-get install -y --no-install-recommends xz-utils liblz4-tool musl-tools libssl-dev
137+
sudo apt-get update && sudo apt-get install -y --no-install-recommends xz-utils liblz4-tool musl-tools
121138
122139
- name: Install Rust
123140
uses: dtolnay/rust-toolchain@master
@@ -126,7 +143,7 @@ jobs:
126143
targets: ${{ matrix.target }}
127144

128145
- name: Use Cross
129-
# if: matrix.os != 'windows-2019'
146+
# if: matrix.os != 'windows-latest'
130147
run: |
131148
cargo install cross
132149
echo "CARGO=cross" >> $GITHUB_ENV
@@ -179,7 +196,7 @@ jobs:
179196
180197
cp {README.md,LICENSE-*,CHANGELOG.md} "$staging/"
181198
182-
if [ "${{ matrix.os }}" = "windows-2019" ]; then
199+
if [ "${{ matrix.os }}" = "windows-latest" ]; then
183200
cp target/release/${{ env.EXE_NAME }}.exe target/release/gix.exe "$staging/"
184201
7z a "$staging.zip" "$staging"
185202
echo "ASSET=$staging.zip" >> $GITHUB_ENV

0 commit comments

Comments
 (0)