diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 09c5790..23b8f10 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,4 @@ -name: Build and Release Windows Client +name: Build and Release Windows Client (Linux Cross-Compile) on: push: @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: windows-latest + runs-on: ubuntu-latest steps: - name: Checkout code @@ -15,38 +15,20 @@ jobs: - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable + with: + targets: x86_64-pc-windows-msvc - - name: Install LLVM - run: choco install llvm --no-progress + - name: Install Mingw-w64 for linking + run: sudo apt-get update && sudo apt-get install -y mingw-w64 - - name: Build Client + - name: Build Client (Cross-Compile) working-directory: ./client - run: cargo build --release - - - name: Prepare Binaries for Installer - shell: pwsh - run: | - New-Item -ItemType Directory -Force -Path bin - Copy-Item "client/target/release/meshvpn-client.exe" "bin/client.exe" - # Download Wintun.dll as it is a driver binary not stored in git - Invoke-WebRequest -Uri "https://github.com/WireGuard/wintun/releases/latest/download/wintun.dll" -OutFile "bin/wintun.dll" - - - name: Install WiX Toolset - run: choco install wixtoolset --no-progress - - - name: Build MSI Installer - shell: pwsh - run: | - # candle.exe compiles .wxs to .wixobj - # light.exe links .wixobj to .msi - candle.exe installer/product.wxs -o installer/product.wixobj - light.exe installer/product.wixobj -o meshvpn-client.msi + run: cargo build --release --target x86_64-pc-windows-msvc - name: Create Gitea Release uses: softprops/action-gh-release@v1 with: files: | - client/target/release/meshvpn-client.exe - meshvpn-client.msi + client/target/x86_64-pc-windows-msvc/release/meshvpn-client.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}