88jobs :
99 build :
1010 runs-on : ${{ matrix.os }}
11- continue-on-error : true # Allow other matrix jobs to continue if one fails
11+ continue-on-error : true
1212 strategy :
13- fail-fast : false # Don't fail all jobs if one fails
13+ fail-fast : false
1414 matrix :
1515 os : [ubuntu-latest, windows-latest, macos-latest]
1616 include :
@@ -50,15 +50,19 @@ jobs:
5050 if : matrix.os == 'ubuntu-latest'
5151 run : |
5252 sudo apt-get update
53- sudo apt-get install -y dpkg-dev libssl-dev
53+ sudo apt-get install -y dpkg-dev libssl-dev pkg-config
5454
5555 - name : Install dependencies (macOS)
5656 if : matrix.os == 'macos-latest'
5757 run : |
5858 brew update
59- brew install openssl@3 rustup-init pkg-config
59+ brew install openssl@3 rustup-init pkg-config llvm
6060 echo "OPENSSL_DIR=$(brew --prefix openssl@3)" >> $GITHUB_ENV
61+ echo "OPENSSL_LIB_DIR=$(brew --prefix openssl@3)/lib" >> $GITHUB_ENV
62+ echo "OPENSSL_INCLUDE_DIR=$(brew --prefix openssl@3)/include" >> $GITHUB_ENV
6163 echo "MACOSX_DEPLOYMENT_TARGET=10.12" >> $GITHUB_ENV
64+ echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
65+ echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
6266
6367 - name : Install dependencies (Windows)
6468 if : matrix.os == 'windows-latest'
6771 choco install openssl -y
6872
6973 - name : Build Rust project
70- run : cargo build --release --target ${{ matrix.target }} --manifest-path app/Cargo.toml
74+ run : cargo build --release --locked -- target ${{ matrix.target }} --manifest-path app/Cargo.toml
7175 env :
7276 PKG_CONFIG_ALLOW_CROSS : 1
7377
8488 run : |
8589 cargo install cargo-wix --force
8690 cd app
87- cargo wix init
88- cargo wix --release --target ${{ matrix.target }}
91+ cargo wix -- --release --target ${{ matrix.target }}
8992 shell : bash
9093
9194 - name : Package macOS (.dmg)
@@ -98,14 +101,16 @@ jobs:
98101 BUNDLE_NAME : gitswift
99102 MACOSX_DEPLOYMENT_TARGET : 10.12
100103 OPENSSL_DIR : ${{ env.OPENSSL_DIR }}
101- OPENSSL_LIB_DIR : ${{ env.OPENSSL_DIR }}/lib
102- OPENSSL_INCLUDE_DIR : ${{ env.OPENSSL_DIR }}/include
104+ OPENSSL_LIB_DIR : ${{ env.OPENSSL_LIB_DIR }}
105+ OPENSSL_INCLUDE_DIR : ${{ env.OPENSSL_INCLUDE_DIR }}
106+ CC : ${{ env.CC }}
107+ CXX : ${{ env.CXX }}
103108
104109 - name : Upload Artifacts
105110 uses : actions/upload-artifact@v4
106111 with :
107112 name : packages-${{ matrix.os }}
108113 path : |
109114 app/target/${{ matrix.target }}/release/*.deb
110- app/ target/wix/msi /*.msi
115+ target/wix/*.msi
111116 app/target/release/bundle/dmg/*.dmg
0 commit comments