From d9587aa314967ee2454ebe6e6ef9498dcc99add8 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Thu, 21 Nov 2024 13:13:05 -0800 Subject: [PATCH] First attempt at Windows signing --- .github/workflows/release.yml | 39 ++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 356120d7..b4031b05 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - platform: 'macos-latest' # for Intel-based Macs. args: '--target x86_64-apple-darwin' yaak_arch: 'x64' - - platform: 'ubuntu-22.04' # for Tauri v1, you could replace this with ubuntu-20.04. + - platform: 'ubuntu-22.04' args: '' yaak_arch: 'x64' - platform: 'windows-latest' @@ -38,10 +38,6 @@ jobs: with: node-version: 22 - - uses: actions/setup-go@v5 - with: - go-version: '1.22' - - name: install Rust stable uses: dtolnay/rust-toolchain@stable with: @@ -66,6 +62,17 @@ jobs: sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + - name: install dependencies (windows only) + if: matrix.platform == 'windows-latest' + shell: bash + env: + # replace Azure credentials before running + WINDOWS_SIGN_COMMAND: trusted-signing-cli -e https://weu.codesigning.azure.net/ -a Yaak -c yaakapp %1 + run: | + cd "$GITHUB_WORKSPACE" + cat './src-tauri/tauri.conf.json' | jq '.bundle .windows += {"signCommand": env.WINDOWS_SIGN_COMMAND}' > './src-tauri/temp.json' && mv './src-tauri/temp.json' './src-tauri/tauri.conf.json' + cargo install trusted-signing-cli + - name: Install NPM Dependencies run: | npm ci @@ -94,16 +101,24 @@ jobs: env: YAAK_PLUGINS_DIR: ${{ env.YAAK_PLUGINS_DIR }} YAAK_TARGET_ARCH: ${{ matrix.yaak_arch }} + + ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} + + # Apple signing stuff + APPLE_CERTIFICATE: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_CERTIFICATE }} + APPLE_CERTIFICATE_PASSWORD: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_CERTIFICATE_PASSWORD }} + APPLE_ID: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_ID }} + APPLE_PASSWORD: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_PASSWORD }} + APPLE_SIGNING_IDENTITY: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_SIGNING_IDENTITY }} + APPLE_TEAM_ID: ${{ matrix.platform == 'macos-latest' && secrets.APPLE_TEAM_ID }} + + # Windows signing stuff + AZURE_CLIENT_ID: ${{ matrix.platform == 'windows-latest' && secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ matrix.platform == 'windows-latest' && secrets.AZURE_CLIENT_SECRET }} + AZURE_TENANT_ID: ${{ matrix.platform == 'windows-latest' && secrets.AZURE_TENANT_ID }} with: tagName: 'v__VERSION__' releaseName: 'Release __VERSION__'