From 8b2d28aa43a9d0a5a963ba1489e8a940623d527c Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:40:55 +1100 Subject: [PATCH 01/30] move CI out into seperate files --- .github/workflows/backend_benchmark.yml | 93 +++++++++++ .github/workflows/code_quality.yml | 93 +++++++++++ .github/workflows/main.yml | 204 +++--------------------- 3 files changed, 204 insertions(+), 186 deletions(-) create mode 100644 .github/workflows/backend_benchmark.yml create mode 100644 .github/workflows/code_quality.yml diff --git a/.github/workflows/backend_benchmark.yml b/.github/workflows/backend_benchmark.yml new file mode 100644 index 000000000..2ca48fa7d --- /dev/null +++ b/.github/workflows/backend_benchmark.yml @@ -0,0 +1,93 @@ +name: Backend Benchmark + +on: + push: + branches: + - 'main' + tags: + - '[0-9]+.[0-9]+.[0-9]+*' + - 'v[0-9]+.[0-9]+.[0-9]+*' + pull_request: + +env: + LIBCLANG_PATH_WIN: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/x64/bin" + CARGO_MAKE_VERSION: 0.35.13 + PIP_CACHE_DIR: ~/.cache/pip + +jobs: + backend_bench: + name: Backend Benchmarks + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + runs-on: ${{ matrix.os }} + steps: + + - name: Checkout source + uses: actions/checkout@v2 + with: + submodules: recursive + ssh-key: ${{ secrets.SSH_KEY }} + ssh-strict: false + + - uses: webfactory/ssh-agent@v0.5.0 + with: + ssh-private-key: ${{ secrets.SSH_KEY }} + + - name: Run ssh-keyscan + run: ssh-keyscan github.com >> ~/.ssh/known_hosts + + - name: Setup SSH for Windows Git LFS + run: | + & "C:\\Program Files\\Git\\bin\\sh.exe" -c "ssh-keyscan github.com >> ~/.ssh/known_hosts" + & "C:\\Program Files\\Git\\bin\\sh.exe" -c "echo '${{ secrets.SSH_KEY }}' >> ~/.ssh/id_rsa" + if: matrix.os == 'windows-2019' + + - name: Install ${{ runner.os }} Dependencies. + shell: bash + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev + elif [ "$RUNNER_OS" == "macOS" ]; then + brew install capnp llvm + elif [ "$RUNNER_OS" == "Windows" ]; then + choco install -y capnproto + echo "LIBCLANG_PATH=${{ env.LIBCLANG_PATH_WIN }}" >> $GITHUB_ENV + fi + + - name: Pull Git LFS objects + run: git lfs pull + env: + GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no + + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + + - uses: Swatinem/rust-cache@v1 + with: + key: ${{ secrets.CACHE_VERSION }} + + - uses: davidB/rust-cargo-make@v1 + with: + version: ${{ env.CARGO_MAKE_VERSION }} + + - name: Cache pip + uses: actions/cache@v2 + with: + path: ${{ env.PIP_CACHE_DIR }} + key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} + + - name: Install ImageMagick + shell: bash + run: cargo make install-imagemagick + + - name: Set up python builder + shell: bash + run: cargo make setup-builder + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Run Backend Benchmarks + run: cargo make backend-benches diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml new file mode 100644 index 000000000..d2f050b77 --- /dev/null +++ b/.github/workflows/code_quality.yml @@ -0,0 +1,93 @@ +name: Backend Benchmark + +on: + push: + branches: + - 'main' + tags: + - '[0-9]+.[0-9]+.[0-9]+*' + - 'v[0-9]+.[0-9]+.[0-9]+*' + pull_request: + +env: + CARGO_MAKE_VERSION: 0.35.13 + PIP_CACHE_DIR: ~/.cache/pip + +jobs: + checks: + name: Code Quality Checks + runs-on: ubuntu-20.04 + + steps: + - name: Checkout source + uses: actions/checkout@v2 + with: + submodules: recursive + ssh-key: ${{ secrets.SSH_KEY }} + ssh-strict: false + + - uses: webfactory/ssh-agent@v0.5.0 + with: + ssh-private-key: ${{ secrets.SSH_KEY }} + + - name: Pull Git LFS objects + run: git lfs pull + env: + GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no + + - name: Install stable Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + + - uses: Swatinem/rust-cache@v1 + with: + key: ${{ secrets.CACHE_VERSION }} + + - uses: davidB/rust-cargo-make@v1 + with: + version: ${{ env.CARGO_MAKE_VERSION }} + + - name: Install Dependencies. + run: sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev + + - name: Cache pip + uses: actions/cache@v2 + with: + path: ${{ env.PIP_CACHE_DIR }} + key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} + + - name: Install ImageMagick + shell: bash + run: | + cargo make install-imagemagick + + - name: Set up python builder + run: | + cargo make setup-builder + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Install Qt + uses: jurplel/install-qt-action@910f37ee23653fd4b243fe5c7f81ff26a8a6a64e + with: + version: '6.3.1' + setup-python: false + + - name: Run Checks + run: cargo make check-all + + # TODO Fix qmllint warnings [CPP-798] + - name: Run qmllint + continue-on-error: true + run: cargo make qml-lint + + - name: Run Tests + uses: nick-invision/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 3 + retry_on: error + command: cargo make tests \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c369aacb6..369edf78f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,186 +23,31 @@ env: jobs: backend_bench: - - name: Backend Benchmarks - - strategy: - matrix: - os: - - ubuntu-20.04 - - macos-11 - - windows-2019 - - runs-on: ${{ matrix.os }} - + name: Backend Benchmark + runs-on: ubuntu-latest steps: - - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: recursive - ssh-key: ${{ secrets.SSH_KEY }} - ssh-strict: false - - - uses: webfactory/ssh-agent@v0.5.0 - with: - ssh-private-key: ${{ secrets.SSH_KEY }} - - - name: Run ssh-keyscan - run: ssh-keyscan github.com >> ~/.ssh/known_hosts - - - name: Setup SSH for Windows Git LFS + - name: Trigger workflow run: | - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "ssh-keyscan github.com >> ~/.ssh/known_hosts" - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "echo '${{ secrets.SSH_KEY }}' >> ~/.ssh/id_rsa" - if: matrix.os == 'windows-2019' - - - name: Install ${{ runner.os }} Dependencies. - shell: bash - run: | - if [ "$RUNNER_OS" == "Linux" ]; then - sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev - elif [ "$RUNNER_OS" == "macOS" ]; then - brew install capnp llvm - elif [ "$RUNNER_OS" == "Windows" ]; then - choco install -y capnproto - echo "LIBCLANG_PATH=${{ env.LIBCLANG_PATH_WIN }}" >> $GITHUB_ENV - fi - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - - - uses: Swatinem/rust-cache@v1 - with: - key: ${{ secrets.CACHE_VERSION }} - - - uses: davidB/rust-cargo-make@v1 - with: - version: ${{ env.CARGO_MAKE_VERSION }} - - - name: Cache pip - uses: actions/cache@v2 - with: - path: ${{ env.PIP_CACHE_DIR }} - key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} - - - name: Install ImageMagick - shell: bash - run: cargo make install-imagemagick - - - name: Set up python builder - shell: bash - run: cargo make setup-builder - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Run Backend Benchmarks - run: cargo make backend-benches + gh workflow run backend_bench.yml checks: - - name: Code Quality Checks - - runs-on: ubuntu-20.04 - + name: Code Quality + runs-on: ubuntu-latest steps: - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: recursive - ssh-key: ${{ secrets.SSH_KEY }} - ssh-strict: false - - - uses: webfactory/ssh-agent@v0.5.0 - with: - ssh-private-key: ${{ secrets.SSH_KEY }} - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - - name: Install stable Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - components: rustfmt, clippy - - - uses: Swatinem/rust-cache@v1 - with: - key: ${{ secrets.CACHE_VERSION }} - - - uses: davidB/rust-cargo-make@v1 - with: - version: ${{ env.CARGO_MAKE_VERSION }} - - - name: Install Dependencies. - run: sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev - - - name: Cache pip - uses: actions/cache@v2 - with: - path: ${{ env.PIP_CACHE_DIR }} - key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} - - - name: Install ImageMagick - shell: bash + - name: Trigger workflow run: | - cargo make install-imagemagick - - - name: Set up python builder - run: | - cargo make setup-builder - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Qt - uses: jurplel/install-qt-action@910f37ee23653fd4b243fe5c7f81ff26a8a6a64e - with: - version: '6.3.1' - setup-python: false - - - name: Run Checks - run: cargo make check-all - - # TODO Fix qmllint warnings [CPP-798] - - name: Run qmllint - continue-on-error: true - run: cargo make qml-lint - - - name: Run Tests - uses: nick-invision/retry@v2 - with: - timeout_minutes: 5 - max_attempts: 3 - retry_on: error - command: cargo make tests + gh workflow run code_quality.yml build: - name: Build Binaries - - needs: - - checks - - backend_bench - + needs: [checks, backend_bench] strategy: matrix: os: - {name: ubuntu-20.04, exe_suffix: "", short_name: "linux"} - {name: macos-11, exe_suffix: "", short_name: "macos"} - {name: windows-2019, exe_suffix: ".exe", short_name: "windows"} - runs-on: ${{ matrix.os.name }} - steps: - name: Checkout source @@ -400,14 +245,11 @@ jobs: sign_application: name: Sign Application timeout-minutes: 30 - needs: - - build + needs: [build] if: github.event_name == 'push' && contains(github.ref, 'refs/tags') strategy: matrix: - os: - - macOS - - Windows + os: [macOS, Windows] runs-on: [self-hosted, '${{ matrix.os }}', code-signer] steps: @@ -578,8 +420,7 @@ jobs: frontend_bench: name: Run Frontend Benchmarks timeout-minutes: 30 - needs: - - build + needs: [build] strategy: matrix: os: @@ -667,9 +508,7 @@ jobs: sign_binaries: name: Sign Binaries timeout-minutes: 30 - needs: - - build - - frontend_bench + needs: [build, frontend_bench] if: github.event_name == 'push' && contains(github.ref, 'refs/tags') strategy: matrix: @@ -727,8 +566,7 @@ jobs: - name: Add executable permission. shell: bash working-directory: binaries - run: | - chmod +x swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + run: chmod +x swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} if: matrix.os.name != 'Windows' - uses: actions/upload-artifact@v2 @@ -739,8 +577,7 @@ jobs: zip_binaries: name: Zip Binaries timeout-minutes: 10 - needs: - - sign_binaries + needs: [sign_binaries] strategy: matrix: os: @@ -751,8 +588,7 @@ jobs: steps: - name: Store git tag vars. shell: bash - run: | - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Pull swift-files uses: actions/download-artifact@v2 @@ -800,8 +636,7 @@ jobs: steps: - name: Store git tag vars. shell: bash - run: | - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Pull zipped binaries uses: actions/download-artifact@v2 @@ -813,7 +648,6 @@ jobs: shell: bash working-directory: binaries-all run: | - codesign -vvvv \ -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ -f --timestamp "swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip" @@ -833,9 +667,7 @@ jobs: release: name: Create Release - needs: - - sign_zipped_binaries - - sign_application + needs: [sign_zipped_binaries, sign_application] if: github.event_name == 'push' && contains(github.ref, 'refs/tags') runs-on: ubuntu-20.04 steps: From 460d9fb8bf701ba62f0708eeb8b720c487d4690e Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:42:10 +1100 Subject: [PATCH 02/30] token --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 369edf78f..809d2d534 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,6 +25,8 @@ jobs: backend_bench: name: Backend Benchmark runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Trigger workflow run: | @@ -33,6 +35,8 @@ jobs: checks: name: Code Quality runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Trigger workflow run: | From 12b9fe623352ecc730d551801d7fc4550688ed50 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:44:16 +1100 Subject: [PATCH 03/30] checkout --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 809d2d534..ba2fcda5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,6 +28,8 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: + - name: Checkout source + uses: actions/checkout@v2 - name: Trigger workflow run: | gh workflow run backend_bench.yml @@ -38,6 +40,8 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: + - name: Checkout source + uses: actions/checkout@v2 - name: Trigger workflow run: | gh workflow run code_quality.yml From a2b58d2e0afd294f92b704306e09bd817d74a92d Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:49:11 +1100 Subject: [PATCH 04/30] reusable workflows --- .github/workflows/backend_benchmark.yml | 9 +-------- .github/workflows/code_quality.yml | 9 +-------- .github/workflows/main.yml | 24 ++---------------------- 3 files changed, 4 insertions(+), 38 deletions(-) diff --git a/.github/workflows/backend_benchmark.yml b/.github/workflows/backend_benchmark.yml index 2ca48fa7d..a1153ffd8 100644 --- a/.github/workflows/backend_benchmark.yml +++ b/.github/workflows/backend_benchmark.yml @@ -1,14 +1,7 @@ name: Backend Benchmark on: - push: - branches: - - 'main' - tags: - - '[0-9]+.[0-9]+.[0-9]+*' - - 'v[0-9]+.[0-9]+.[0-9]+*' - pull_request: - + workflow_call: env: LIBCLANG_PATH_WIN: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/x64/bin" CARGO_MAKE_VERSION: 0.35.13 diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index d2f050b77..679b4ca39 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -1,14 +1,7 @@ name: Backend Benchmark on: - push: - branches: - - 'main' - tags: - - '[0-9]+.[0-9]+.[0-9]+*' - - 'v[0-9]+.[0-9]+.[0-9]+*' - pull_request: - + workflow_call: env: CARGO_MAKE_VERSION: 0.35.13 PIP_CACHE_DIR: ~/.cache/pip diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba2fcda5f..067db04b7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,30 +21,10 @@ env: APP_BUNDLE_ID: com.swift-nav.SwiftConsole jobs: - backend_bench: - name: Backend Benchmark - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - name: Checkout source - uses: actions/checkout@v2 - - name: Trigger workflow - run: | - gh workflow run backend_bench.yml - + uses: swift-nav/swift-toolbox/.github/workflows/backend_benchmark.yml@main checks: - name: Code Quality - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - name: Checkout source - uses: actions/checkout@v2 - - name: Trigger workflow - run: | - gh workflow run code_quality.yml + uses: swift-nav/swift-toolbox/.github/workflows/code_quality.yml@main build: name: Build Binaries From 49cdf10b62431d4358620441e9dce02aeb6c6691 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:50:44 +1100 Subject: [PATCH 05/30] inherit secrets --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 067db04b7..eff90fcd7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,8 +23,11 @@ env: jobs: backend_bench: uses: swift-nav/swift-toolbox/.github/workflows/backend_benchmark.yml@main + secrets: inherit + checks: uses: swift-nav/swift-toolbox/.github/workflows/code_quality.yml@main + secrets: inherit build: name: Build Binaries From 80d63b744dbbbf6a2f7bf4138a7fee50742ca636 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 10:51:37 +1100 Subject: [PATCH 06/30] use gh cli to trigger --- .github/workflows/main.yml | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eff90fcd7..ba2fcda5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,13 +21,30 @@ env: APP_BUNDLE_ID: com.swift-nav.SwiftConsole jobs: + backend_bench: - uses: swift-nav/swift-toolbox/.github/workflows/backend_benchmark.yml@main - secrets: inherit + name: Backend Benchmark + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout source + uses: actions/checkout@v2 + - name: Trigger workflow + run: | + gh workflow run backend_bench.yml checks: - uses: swift-nav/swift-toolbox/.github/workflows/code_quality.yml@main - secrets: inherit + name: Code Quality + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout source + uses: actions/checkout@v2 + - name: Trigger workflow + run: | + gh workflow run code_quality.yml build: name: Build Binaries From c0ead213f4bc15b2ec7cc3d0f4259214aff3a7b7 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 11:10:38 +1100 Subject: [PATCH 07/30] workflow dispatch --- .github/workflows/backend_benchmark.yml | 2 +- .github/workflows/code_quality.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend_benchmark.yml b/.github/workflows/backend_benchmark.yml index a1153ffd8..2c55f221f 100644 --- a/.github/workflows/backend_benchmark.yml +++ b/.github/workflows/backend_benchmark.yml @@ -1,7 +1,7 @@ name: Backend Benchmark on: - workflow_call: + workflow_dispatch: env: LIBCLANG_PATH_WIN: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/x64/bin" CARGO_MAKE_VERSION: 0.35.13 diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index 679b4ca39..e17c46f8f 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -1,7 +1,7 @@ name: Backend Benchmark on: - workflow_call: + workflow_dispatch: env: CARGO_MAKE_VERSION: 0.35.13 PIP_CACHE_DIR: ~/.cache/pip From 795ce948008b8e35c71a82e2b27c99dd54e46899 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 11:22:37 +1100 Subject: [PATCH 08/30] move to distribute.yml --- .github/workflows/distribute.yml | 473 +++++++++++++++++++++++++++++ .github/workflows/main.yml | 497 +------------------------------ 2 files changed, 475 insertions(+), 495 deletions(-) create mode 100644 .github/workflows/distribute.yml diff --git a/.github/workflows/distribute.yml b/.github/workflows/distribute.yml new file mode 100644 index 000000000..f0319594d --- /dev/null +++ b/.github/workflows/distribute.yml @@ -0,0 +1,473 @@ +name: Build and Sign + +on: + workflow_dispatch: +jobs: + sign_application: + name: Sign Application + timeout-minutes: 30 + if: github.event_name == 'push' && contains(github.ref, 'refs/tags') + strategy: + matrix: + os: [ macOS, Windows ] + runs-on: [ self-hosted, '${{ matrix.os }}', code-signer ] + steps: + + - name: Remove previous build. + shell: bash + continue-on-error: true + run: rm -rf application + + - name: Checkout source. + uses: actions/checkout@v2 + with: + path: application + lfs: true + + - uses: actions/download-artifact@v2 + with: + name: ${{ matrix.os }}-artifacts + path: application + + - name: Unzip release artifact. + shell: bash + run: | + cd application + mkdir -p py39-dist + if [ "$RUNNER_OS" == "Windows" ]; then + 7z x -so $(cat release-archive.filename) | 7z x -ttar -si -y -opy39-dist + elif [ "$RUNNER_OS" == "macOS" ]; then + tar -xvf "$(cat release-archive.filename)" -C py39-dist + fi + + - name: Build .app bundle. + shell: bash + run: | + cd application + cargo make dist-to-installer-app + if: matrix.os == 'macOS' + + - name: Sign application (${{ matrix.os }}). + shell: bash + run: | + cd "application/target/installer/Swift Console.app" + + for f in $(find Contents/Resources/lib/ -name '*.dylib' -or -name '*.so') + do + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ + --timestamp \ + "$f" + done + + for f in $(ls -d Contents/Resources/lib/python3.9/site-packages/**/Qt/lib/*.framework/Versions/A/*) + do + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ + --timestamp \ + "$f" + done + + cd ../../../ + + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" --deep \ + --entitlements installers/macOS/entitlements.plist \ + --timestamp \ + --options=runtime \ + "target/installer/Swift Console.app" + if: matrix.os == 'macOS' + + - name: Sign application (${{ matrix.os }}). + shell: cmd + run: | + cd application + "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ + /debug /v /td SHA256 ^ + /n "Swift Navigation, Inc." /a ^ + /tr http://rfc3161timestamp.globalsign.com/advanced ^ + py39-dist/swift-console.exe + if: matrix.os == 'Windows' + + - name: Create Installer (${{ matrix.os }}) + shell: bash + run: | + cd application + cargo make store-version + if [ "$RUNNER_OS" == "Windows" ]; then + cargo make dist-to-installer + elif [ "$RUNNER_OS" == "macOS" ]; then + cargo make dist-to-installer-dmg + fi + + - name: Add archive to path. + shell: bash + run: | + if [ "$RUNNER_OS" == "Windows" ]; then + INSTALLER_ARCHIVE="$(dir application/installers/Windows/*.exe)" + elif [ "$RUNNER_OS" == "macOS" ]; then + mv application/installers/macOS/*.dmg application + INSTALLER_ARCHIVE=$(find application -maxdepth 1 -iname "*.dmg") + fi + echo $INSTALLER_ARCHIVE >installer-archive.filename + echo "INSTALLER_ARCHIVE=$(cat installer-archive.filename)" >>$GITHUB_ENV + + - name: Sign installer (macOS) + if: matrix.os == 'macOS' + shell: bash + run: | + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ + -f --timestamp \ + $(cat installer-archive.filename) + + xcrun altool \ + --verbose \ + --notarize-app \ + --file $(cat installer-archive.filename) \ + --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ + --apiKey ${{ secrets.APPLE_KEY_ID }} \ + --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize.log + + REQUEST_UUID=$(cat notarize.log | grep RequestUUID | awk '{print $3}') + + echo "REQUEST_UUID=$REQUEST_UUID" >>$GITHUB_ENV + + - name: Check notarization (macOS) + if: matrix.os == 'macOS' + uses: nick-invision/retry@v2 + with: + shell: bash + timeout_minutes: 3 + retry_wait_seconds: 120 + max_attempts: 10 + retry_on: error + command: | + xcrun altool \ + --verbose \ + --notarization-info ${{ env.REQUEST_UUID }} \ + --apiKey ${{ secrets.APPLE_KEY_ID }} \ + --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize_status.log + + NOTARIZATION_STATUS=$(cat notarize_status.log | grep Status: | awk '{print $2}') + if [ $NOTARIZATION_STATUS == "success" ]; then + echo "Notarization Successful" + else + echo "Notarization Failed" + exit 1 + fi + + xcrun stapler staple -v "$(cat installer-archive.filename)" + + - name: Sign NSIS installer (Windows) + if: matrix.os == 'Windows' + shell: cmd + run: | + set /p executable=> $GITHUB_ENV + + - name: Remove previous build. + shell: bash + continue-on-error: true + run: rm -rf binaries + + - uses: actions/download-artifact@v2 + with: + name: swift-${{ matrix.type }}_${{ matrix.os.short_name }} + path: binaries + + - name: Add version to binary names. + shell: bash + working-directory: binaries + run: | + mv swift-${{ matrix.type }}${{ matrix.os.exe_suffix }} swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + + - name: Sign Binaries. + shell: cmd + run: | + "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ + /debug /v /td SHA256 ^ + /n "Swift Navigation, Inc." /a ^ + /tr http://rfc3161timestamp.globalsign.com/advanced ^ + binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + if: matrix.os.name == 'Windows' + + - name: Sign Binaries. + shell: bash + working-directory: binaries + run: | + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ + --timestamp \ + --options=runtime \ + swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + if: matrix.os.name == 'macOS' + + - name: Add executable permission. + shell: bash + working-directory: binaries + run: chmod +x swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + if: matrix.os.name != 'Windows' + + - uses: actions/upload-artifact@v2 + with: + name: swift-${{ matrix.type }}_${{ matrix.os.short_name }}-signed + path: binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} + + zip_binaries: + name: Zip Binaries + timeout-minutes: 10 + needs: [ sign_binaries ] + strategy: + matrix: + os: + - { name: macOS, short_name: "macos" } + - { name: Windows, short_name: "windows" } + - { name: Linux, short_name: "linux" } + runs-on: ubuntu-latest + steps: + - name: Store git tag vars. + shell: bash + run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + + - name: Pull swift-files + uses: actions/download-artifact@v2 + with: + name: swift-files_${{ matrix.os.short_name }}-signed + path: ${{ matrix.os.short_name }} + - name: Pull swift-settings + uses: actions/download-artifact@v2 + with: + name: swift-settings_${{ matrix.os.short_name }}-signed + path: ${{ matrix.os.short_name }} + - name: Pull swift-updater + uses: actions/download-artifact@v2 + with: + name: swift-updater_${{ matrix.os.short_name }}-signed + path: ${{ matrix.os.short_name }} + + - name: Zip Binaries. + shell: bash + working-directory: ${{ matrix.os.short_name }} + run: 7z a -tzip "../swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip" + + - uses: actions/upload-artifact@v2 + with: + name: swift-binaries_${{ matrix.os.short_name }}-all + path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip + if: matrix.os.name == 'macOS' + + - uses: actions/upload-artifact@v2 + with: + name: swift-binaries_${{ matrix.os.short_name }}-signed + path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip + if: matrix.os.name != 'macOS' + + sign_zipped_binaries: + name: Sign Zipped Binaries + timeout-minutes: 10 + needs: [ zip_binaries ] + runs-on: [ self-hosted, macOS, code-signer ] + steps: + - name: Store git tag vars. + shell: bash + run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + + - name: Pull zipped binaries + uses: actions/download-artifact@v2 + with: + name: swift-binaries_macos-all + path: binaries-all + + - name: Sign Binaries. + shell: bash + working-directory: binaries-all + run: | + codesign -vvvv \ + -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ + -f --timestamp "swift-binaries_macos_${{ env.VERSION }}-all.zip" + + xcrun altool \ + --verbose \ + --notarize-app \ + --file swift-binaries_macos_${{ env.VERSION }}-all.zip\ + --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ + --apiKey ${{ secrets.APPLE_KEY_ID }} \ + --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} + + - uses: actions/upload-artifact@v2 + with: + name: swift-binaries_macos-signed + path: binaries-all/swift-binaries_macos_${{ env.VERSION }}-all.zip + + release: + name: Create Release + needs: [ sign_zipped_binaries, sign_application ] + if: github.event_name == 'push' && contains(github.ref, 'refs/tags') + runs-on: ubuntu-20.04 + steps: + - name: Store git tag and date vars. + run: | + DATE="$(date '+%Y-%m-%d')"; + echo "DATE=${DATE}" >> $GITHUB_ENV + echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + - name: Pull Windows Installer + uses: actions/download-artifact@v2 + with: + name: Windows-installer + path: windows + - name: Pull Windows Binaries + uses: actions/download-artifact@v2 + with: + name: swift-binaries_windows-signed + path: windows + - name: Pull Linux Installer + uses: actions/download-artifact@v2 + with: + name: Linux-installer + path: linux + - name: Pull Linux Binaries + uses: actions/download-artifact@v2 + with: + name: swift-binaries_linux-signed + path: linux + - name: Pull macOS Installer + uses: actions/download-artifact@v2 + with: + name: macOS-installer + path: macos + - name: Pull macOS Binaries + uses: actions/download-artifact@v2 + with: + name: swift-binaries_macos-signed + path: macos + - name: Prepare Release + shell: bash + run: | + echo "WINDOWS_ARCHIVE=$(cat windows/installer-archive.filename)" >>$GITHUB_ENV + echo "LINUX_ARCHIVE=$(cat linux/installer-archive.filename)" >>$GITHUB_ENV + echo "MACOS_ARCHIVE=$(cat macos/installer-archive.filename)" >>$GITHUB_ENV + - name: Release + uses: softprops/action-gh-release@v1 + with: + name: "${{ env.VERSION }}-${{ env.DATE }}" + files: | + windows/${{ env.WINDOWS_ARCHIVE }} + windows/swift-binaries_windows_${{ env.VERSION }}-all.zip + linux/${{ env.LINUX_ARCHIVE }} + linux/swift-binaries_linux_${{ env.VERSION }}-all.zip + macos/${{ env.MACOS_ARCHIVE }} + macos/swift-binaries_macos_${{ env.VERSION }}-all.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c369aacb6..86049559e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -397,499 +397,6 @@ jobs: continue-on-error: true run: cargo make disk-usage-bench - sign_application: - name: Sign Application - timeout-minutes: 30 - needs: - - build - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') - strategy: - matrix: - os: - - macOS - - Windows - runs-on: [self-hosted, '${{ matrix.os }}', code-signer] - steps: - - - name: Remove previous build. - shell: bash - continue-on-error: true - run: rm -rf application - - - name: Checkout source. - uses: actions/checkout@v2 - with: - path: application - lfs: true - - - uses: actions/download-artifact@v2 - with: - name: ${{ matrix.os }}-artifacts - path: application - - - name: Unzip release artifact. - shell: bash - run: | - cd application - mkdir -p py39-dist - if [ "$RUNNER_OS" == "Windows" ]; then - 7z x -so $(cat release-archive.filename) | 7z x -ttar -si -y -opy39-dist - elif [ "$RUNNER_OS" == "macOS" ]; then - tar -xvf "$(cat release-archive.filename)" -C py39-dist - fi - - - name: Build .app bundle. - shell: bash - run: | - cd application - cargo make dist-to-installer-app - if: matrix.os == 'macOS' - - - name: Sign application (${{ matrix.os }}). - shell: bash - run: | - cd "application/target/installer/Swift Console.app" - - for f in $(find Contents/Resources/lib/ -name '*.dylib' -or -name '*.so') - do - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - "$f" - done - - for f in $(ls -d Contents/Resources/lib/python3.9/site-packages/**/Qt/lib/*.framework/Versions/A/*) - do - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - "$f" - done - - cd ../../../ - - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" --deep \ - --entitlements installers/macOS/entitlements.plist \ - --timestamp \ - --options=runtime \ - "target/installer/Swift Console.app" - if: matrix.os == 'macOS' - - - name: Sign application (${{ matrix.os }}). - shell: cmd - run: | - cd application - "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ - /debug /v /td SHA256 ^ - /n "Swift Navigation, Inc." /a ^ - /tr http://rfc3161timestamp.globalsign.com/advanced ^ - py39-dist/swift-console.exe - if: matrix.os == 'Windows' - - - name: Create Installer (${{ matrix.os }}) - shell: bash - run: | - cd application - cargo make store-version - if [ "$RUNNER_OS" == "Windows" ]; then - cargo make dist-to-installer - elif [ "$RUNNER_OS" == "macOS" ]; then - cargo make dist-to-installer-dmg - fi - - - name: Add archive to path. - shell: bash - run: | - if [ "$RUNNER_OS" == "Windows" ]; then - INSTALLER_ARCHIVE="$(dir application/installers/Windows/*.exe)" - elif [ "$RUNNER_OS" == "macOS" ]; then - mv application/installers/macOS/*.dmg application - INSTALLER_ARCHIVE=$(find application -maxdepth 1 -iname "*.dmg") - fi - echo $INSTALLER_ARCHIVE >installer-archive.filename - echo "INSTALLER_ARCHIVE=$(cat installer-archive.filename)" >>$GITHUB_ENV - - - name: Sign installer (macOS) - if: matrix.os == 'macOS' - shell: bash - run: | - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - -f --timestamp \ - $(cat installer-archive.filename) - - xcrun altool \ - --verbose \ - --notarize-app \ - --file $(cat installer-archive.filename) \ - --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize.log + create_release: + name: Build and release - REQUEST_UUID=$(cat notarize.log | grep RequestUUID | awk '{print $3}') - - echo "REQUEST_UUID=$REQUEST_UUID" >>$GITHUB_ENV - - - name: Check notarization (macOS) - if: matrix.os == 'macOS' - uses: nick-invision/retry@v2 - with: - shell: bash - timeout_minutes: 3 - retry_wait_seconds: 120 - max_attempts: 10 - retry_on: error - command: | - xcrun altool \ - --verbose \ - --notarization-info ${{ env.REQUEST_UUID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize_status.log - - NOTARIZATION_STATUS=$(cat notarize_status.log | grep Status: | awk '{print $2}') - if [ $NOTARIZATION_STATUS == "success" ]; then - echo "Notarization Successful" - else - echo "Notarization Failed" - exit 1 - fi - - xcrun stapler staple -v "$(cat installer-archive.filename)" - - - name: Sign NSIS installer (Windows) - if: matrix.os == 'Windows' - shell: cmd - run: | - set /p executable=> $GITHUB_ENV - - - name: Remove previous build. - shell: bash - continue-on-error: true - run: rm -rf binaries - - - uses: actions/download-artifact@v2 - with: - name: swift-${{ matrix.type }}_${{ matrix.os.short_name }} - path: binaries - - - name: Add version to binary names. - shell: bash - working-directory: binaries - run: | - mv swift-${{ matrix.type }}${{ matrix.os.exe_suffix }} swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - - - name: Sign Binaries. - shell: cmd - run: | - "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ - /debug /v /td SHA256 ^ - /n "Swift Navigation, Inc." /a ^ - /tr http://rfc3161timestamp.globalsign.com/advanced ^ - binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name == 'Windows' - - - name: Sign Binaries. - shell: bash - working-directory: binaries - run: | - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - --options=runtime \ - swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name == 'macOS' - - - name: Add executable permission. - shell: bash - working-directory: binaries - run: | - chmod +x swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name != 'Windows' - - - uses: actions/upload-artifact@v2 - with: - name: swift-${{ matrix.type }}_${{ matrix.os.short_name }}-signed - path: binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - - zip_binaries: - name: Zip Binaries - timeout-minutes: 10 - needs: - - sign_binaries - strategy: - matrix: - os: - - { name: macOS, short_name: "macos" } - - { name: Windows, short_name: "windows" } - - { name: Linux, short_name: "linux" } - runs-on: ubuntu-latest - steps: - - name: Store git tag vars. - shell: bash - run: | - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Pull swift-files - uses: actions/download-artifact@v2 - with: - name: swift-files_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - name: Pull swift-settings - uses: actions/download-artifact@v2 - with: - name: swift-settings_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - name: Pull swift-updater - uses: actions/download-artifact@v2 - with: - name: swift-updater_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - - name: Zip Binaries. - shell: bash - working-directory: ${{ matrix.os.short_name }} - run: 7z a -tzip "../swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip" - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-all - path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip - if: matrix.os.name == 'macOS' - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-signed - path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip - if: matrix.os.name != 'macOS' - - sign_zipped_binaries: - name: Sign Zipped Binaries - timeout-minutes: 10 - needs: - - zip_binaries - strategy: - matrix: - os: - - { name: macOS, short_name: "macos" } - runs-on: [self-hosted, '${{ matrix.os.name }}', code-signer] - steps: - - name: Store git tag vars. - shell: bash - run: | - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Pull zipped binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-all - path: binaries-all - - - name: Sign Binaries. - shell: bash - working-directory: binaries-all - run: | - - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - -f --timestamp "swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip" - - xcrun altool \ - --verbose \ - --notarize-app \ - --file swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip\ - --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-signed - path: binaries-all/swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip - - release: - name: Create Release - needs: - - sign_zipped_binaries - - sign_application - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') - runs-on: ubuntu-20.04 - steps: - - name: Store git tag and date vars. - run: | - DATE="$(date '+%Y-%m-%d')"; - echo "DATE=${DATE}" >> $GITHUB_ENV - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - name: Pull Windows Installer - uses: actions/download-artifact@v2 - with: - name: Windows-installer - path: windows - - name: Pull Windows Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_windows-signed - path: windows - - name: Pull Linux Installer - uses: actions/download-artifact@v2 - with: - name: Linux-installer - path: linux - - name: Pull Linux Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_linux-signed - path: linux - - name: Pull macOS Installer - uses: actions/download-artifact@v2 - with: - name: macOS-installer - path: macos - - name: Pull macOS Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_macos-signed - path: macos - - name: Prepare Release - shell: bash - run: | - echo "WINDOWS_ARCHIVE=$(cat windows/installer-archive.filename)" >>$GITHUB_ENV - echo "LINUX_ARCHIVE=$(cat linux/installer-archive.filename)" >>$GITHUB_ENV - echo "MACOS_ARCHIVE=$(cat macos/installer-archive.filename)" >>$GITHUB_ENV - - name: Release - uses: softprops/action-gh-release@v1 - with: - name: "${{ env.VERSION }}-${{ env.DATE }}" - files: | - windows/${{ env.WINDOWS_ARCHIVE }} - windows/swift-binaries_windows_${{ env.VERSION }}-all.zip - linux/${{ env.LINUX_ARCHIVE }} - linux/swift-binaries_linux_${{ env.VERSION }}-all.zip - macos/${{ env.MACOS_ARCHIVE }} - macos/swift-binaries_macos_${{ env.VERSION }}-all.zip - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 578f3534d88d5c0000c75b490c8b038228d17d0e Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 11:23:30 +1100 Subject: [PATCH 09/30] remove out create release from main --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86049559e..0c36ced6a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -397,6 +397,4 @@ jobs: continue-on-error: true run: cargo make disk-usage-bench - create_release: - name: Build and release - +# trigger create release workflow + frontend bench \ No newline at end of file From 8a69017a8df60e1dbb517797322d6f8e05d6aee4 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 11:24:17 +1100 Subject: [PATCH 10/30] remove reusable workflow files --- .github/workflows/backend_benchmark.yml | 86 ------------------------- .github/workflows/code_quality.yml | 86 ------------------------- 2 files changed, 172 deletions(-) delete mode 100644 .github/workflows/backend_benchmark.yml delete mode 100644 .github/workflows/code_quality.yml diff --git a/.github/workflows/backend_benchmark.yml b/.github/workflows/backend_benchmark.yml deleted file mode 100644 index 2c55f221f..000000000 --- a/.github/workflows/backend_benchmark.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Backend Benchmark - -on: - workflow_dispatch: -env: - LIBCLANG_PATH_WIN: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/x64/bin" - CARGO_MAKE_VERSION: 0.35.13 - PIP_CACHE_DIR: ~/.cache/pip - -jobs: - backend_bench: - name: Backend Benchmarks - strategy: - matrix: - os: [ ubuntu-20.04, macos-11, windows-2019 ] - runs-on: ${{ matrix.os }} - steps: - - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: recursive - ssh-key: ${{ secrets.SSH_KEY }} - ssh-strict: false - - - uses: webfactory/ssh-agent@v0.5.0 - with: - ssh-private-key: ${{ secrets.SSH_KEY }} - - - name: Run ssh-keyscan - run: ssh-keyscan github.com >> ~/.ssh/known_hosts - - - name: Setup SSH for Windows Git LFS - run: | - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "ssh-keyscan github.com >> ~/.ssh/known_hosts" - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "echo '${{ secrets.SSH_KEY }}' >> ~/.ssh/id_rsa" - if: matrix.os == 'windows-2019' - - - name: Install ${{ runner.os }} Dependencies. - shell: bash - run: | - if [ "$RUNNER_OS" == "Linux" ]; then - sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev - elif [ "$RUNNER_OS" == "macOS" ]; then - brew install capnp llvm - elif [ "$RUNNER_OS" == "Windows" ]; then - choco install -y capnproto - echo "LIBCLANG_PATH=${{ env.LIBCLANG_PATH_WIN }}" >> $GITHUB_ENV - fi - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - - - uses: Swatinem/rust-cache@v1 - with: - key: ${{ secrets.CACHE_VERSION }} - - - uses: davidB/rust-cargo-make@v1 - with: - version: ${{ env.CARGO_MAKE_VERSION }} - - - name: Cache pip - uses: actions/cache@v2 - with: - path: ${{ env.PIP_CACHE_DIR }} - key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} - - - name: Install ImageMagick - shell: bash - run: cargo make install-imagemagick - - - name: Set up python builder - shell: bash - run: cargo make setup-builder - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Run Backend Benchmarks - run: cargo make backend-benches diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml deleted file mode 100644 index e17c46f8f..000000000 --- a/.github/workflows/code_quality.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Backend Benchmark - -on: - workflow_dispatch: -env: - CARGO_MAKE_VERSION: 0.35.13 - PIP_CACHE_DIR: ~/.cache/pip - -jobs: - checks: - name: Code Quality Checks - runs-on: ubuntu-20.04 - - steps: - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: recursive - ssh-key: ${{ secrets.SSH_KEY }} - ssh-strict: false - - - uses: webfactory/ssh-agent@v0.5.0 - with: - ssh-private-key: ${{ secrets.SSH_KEY }} - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - - name: Install stable Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - components: rustfmt, clippy - - - uses: Swatinem/rust-cache@v1 - with: - key: ${{ secrets.CACHE_VERSION }} - - - uses: davidB/rust-cargo-make@v1 - with: - version: ${{ env.CARGO_MAKE_VERSION }} - - - name: Install Dependencies. - run: sudo apt-get update && sudo apt-get install -y capnproto libudev-dev libssl-dev - - - name: Cache pip - uses: actions/cache@v2 - with: - path: ${{ env.PIP_CACHE_DIR }} - key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} - - - name: Install ImageMagick - shell: bash - run: | - cargo make install-imagemagick - - - name: Set up python builder - run: | - cargo make setup-builder - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Qt - uses: jurplel/install-qt-action@910f37ee23653fd4b243fe5c7f81ff26a8a6a64e - with: - version: '6.3.1' - setup-python: false - - - name: Run Checks - run: cargo make check-all - - # TODO Fix qmllint warnings [CPP-798] - - name: Run qmllint - continue-on-error: true - run: cargo make qml-lint - - - name: Run Tests - uses: nick-invision/retry@v2 - with: - timeout_minutes: 5 - max_attempts: 3 - retry_on: error - command: cargo make tests \ No newline at end of file From 059a89eb92267d198615f658e66c970d47f4c409 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 11:29:05 +1100 Subject: [PATCH 11/30] inline --- .github/workflows/main.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c36ced6a..0f7befa67 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,10 +28,7 @@ jobs: strategy: matrix: - os: - - ubuntu-20.04 - - macos-11 - - windows-2019 + os: [ ubuntu-20.04, macos-11, windows-2019 ] runs-on: ${{ matrix.os }} @@ -190,16 +187,14 @@ jobs: name: Build Binaries - needs: - - checks - - backend_bench + needs: [ checks,backend_bench ] strategy: matrix: os: - - {name: ubuntu-20.04, exe_suffix: "", short_name: "linux"} - - {name: macos-11, exe_suffix: "", short_name: "macos"} - - {name: windows-2019, exe_suffix: ".exe", short_name: "windows"} + - { name: ubuntu-20.04, exe_suffix: "", short_name: "linux" } + - { name: macos-11, exe_suffix: "", short_name: "macos" } + - { name: windows-2019, exe_suffix: ".exe", short_name: "windows" } runs-on: ${{ matrix.os.name }} From be677727f57e42343c207c150a1258ddb1ecb6ca Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Mon, 14 Nov 2022 12:44:08 +1100 Subject: [PATCH 12/30] trigger using github rest --- .github/workflows/distribute.yml | 473 ------------------------------- .github/workflows/main.yml | 27 +- 2 files changed, 13 insertions(+), 487 deletions(-) delete mode 100644 .github/workflows/distribute.yml diff --git a/.github/workflows/distribute.yml b/.github/workflows/distribute.yml deleted file mode 100644 index f0319594d..000000000 --- a/.github/workflows/distribute.yml +++ /dev/null @@ -1,473 +0,0 @@ -name: Build and Sign - -on: - workflow_dispatch: -jobs: - sign_application: - name: Sign Application - timeout-minutes: 30 - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') - strategy: - matrix: - os: [ macOS, Windows ] - runs-on: [ self-hosted, '${{ matrix.os }}', code-signer ] - steps: - - - name: Remove previous build. - shell: bash - continue-on-error: true - run: rm -rf application - - - name: Checkout source. - uses: actions/checkout@v2 - with: - path: application - lfs: true - - - uses: actions/download-artifact@v2 - with: - name: ${{ matrix.os }}-artifacts - path: application - - - name: Unzip release artifact. - shell: bash - run: | - cd application - mkdir -p py39-dist - if [ "$RUNNER_OS" == "Windows" ]; then - 7z x -so $(cat release-archive.filename) | 7z x -ttar -si -y -opy39-dist - elif [ "$RUNNER_OS" == "macOS" ]; then - tar -xvf "$(cat release-archive.filename)" -C py39-dist - fi - - - name: Build .app bundle. - shell: bash - run: | - cd application - cargo make dist-to-installer-app - if: matrix.os == 'macOS' - - - name: Sign application (${{ matrix.os }}). - shell: bash - run: | - cd "application/target/installer/Swift Console.app" - - for f in $(find Contents/Resources/lib/ -name '*.dylib' -or -name '*.so') - do - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - "$f" - done - - for f in $(ls -d Contents/Resources/lib/python3.9/site-packages/**/Qt/lib/*.framework/Versions/A/*) - do - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - "$f" - done - - cd ../../../ - - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" --deep \ - --entitlements installers/macOS/entitlements.plist \ - --timestamp \ - --options=runtime \ - "target/installer/Swift Console.app" - if: matrix.os == 'macOS' - - - name: Sign application (${{ matrix.os }}). - shell: cmd - run: | - cd application - "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ - /debug /v /td SHA256 ^ - /n "Swift Navigation, Inc." /a ^ - /tr http://rfc3161timestamp.globalsign.com/advanced ^ - py39-dist/swift-console.exe - if: matrix.os == 'Windows' - - - name: Create Installer (${{ matrix.os }}) - shell: bash - run: | - cd application - cargo make store-version - if [ "$RUNNER_OS" == "Windows" ]; then - cargo make dist-to-installer - elif [ "$RUNNER_OS" == "macOS" ]; then - cargo make dist-to-installer-dmg - fi - - - name: Add archive to path. - shell: bash - run: | - if [ "$RUNNER_OS" == "Windows" ]; then - INSTALLER_ARCHIVE="$(dir application/installers/Windows/*.exe)" - elif [ "$RUNNER_OS" == "macOS" ]; then - mv application/installers/macOS/*.dmg application - INSTALLER_ARCHIVE=$(find application -maxdepth 1 -iname "*.dmg") - fi - echo $INSTALLER_ARCHIVE >installer-archive.filename - echo "INSTALLER_ARCHIVE=$(cat installer-archive.filename)" >>$GITHUB_ENV - - - name: Sign installer (macOS) - if: matrix.os == 'macOS' - shell: bash - run: | - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - -f --timestamp \ - $(cat installer-archive.filename) - - xcrun altool \ - --verbose \ - --notarize-app \ - --file $(cat installer-archive.filename) \ - --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize.log - - REQUEST_UUID=$(cat notarize.log | grep RequestUUID | awk '{print $3}') - - echo "REQUEST_UUID=$REQUEST_UUID" >>$GITHUB_ENV - - - name: Check notarization (macOS) - if: matrix.os == 'macOS' - uses: nick-invision/retry@v2 - with: - shell: bash - timeout_minutes: 3 - retry_wait_seconds: 120 - max_attempts: 10 - retry_on: error - command: | - xcrun altool \ - --verbose \ - --notarization-info ${{ env.REQUEST_UUID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} | tee notarize_status.log - - NOTARIZATION_STATUS=$(cat notarize_status.log | grep Status: | awk '{print $2}') - if [ $NOTARIZATION_STATUS == "success" ]; then - echo "Notarization Successful" - else - echo "Notarization Failed" - exit 1 - fi - - xcrun stapler staple -v "$(cat installer-archive.filename)" - - - name: Sign NSIS installer (Windows) - if: matrix.os == 'Windows' - shell: cmd - run: | - set /p executable=> $GITHUB_ENV - - - name: Remove previous build. - shell: bash - continue-on-error: true - run: rm -rf binaries - - - uses: actions/download-artifact@v2 - with: - name: swift-${{ matrix.type }}_${{ matrix.os.short_name }} - path: binaries - - - name: Add version to binary names. - shell: bash - working-directory: binaries - run: | - mv swift-${{ matrix.type }}${{ matrix.os.exe_suffix }} swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - - - name: Sign Binaries. - shell: cmd - run: | - "${{ env.CODE_SIGNER_PATH_WIN }}" sign ^ - /debug /v /td SHA256 ^ - /n "Swift Navigation, Inc." /a ^ - /tr http://rfc3161timestamp.globalsign.com/advanced ^ - binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name == 'Windows' - - - name: Sign Binaries. - shell: bash - working-directory: binaries - run: | - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - --timestamp \ - --options=runtime \ - swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name == 'macOS' - - - name: Add executable permission. - shell: bash - working-directory: binaries - run: chmod +x swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - if: matrix.os.name != 'Windows' - - - uses: actions/upload-artifact@v2 - with: - name: swift-${{ matrix.type }}_${{ matrix.os.short_name }}-signed - path: binaries/swift-${{ matrix.type }}_${{ env.VERSION }}_${{ matrix.os.short_name }}${{ matrix.os.exe_suffix }} - - zip_binaries: - name: Zip Binaries - timeout-minutes: 10 - needs: [ sign_binaries ] - strategy: - matrix: - os: - - { name: macOS, short_name: "macos" } - - { name: Windows, short_name: "windows" } - - { name: Linux, short_name: "linux" } - runs-on: ubuntu-latest - steps: - - name: Store git tag vars. - shell: bash - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Pull swift-files - uses: actions/download-artifact@v2 - with: - name: swift-files_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - name: Pull swift-settings - uses: actions/download-artifact@v2 - with: - name: swift-settings_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - name: Pull swift-updater - uses: actions/download-artifact@v2 - with: - name: swift-updater_${{ matrix.os.short_name }}-signed - path: ${{ matrix.os.short_name }} - - - name: Zip Binaries. - shell: bash - working-directory: ${{ matrix.os.short_name }} - run: 7z a -tzip "../swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip" - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-all - path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip - if: matrix.os.name == 'macOS' - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_${{ matrix.os.short_name }}-signed - path: swift-binaries_${{ matrix.os.short_name }}_${{ env.VERSION }}-all.zip - if: matrix.os.name != 'macOS' - - sign_zipped_binaries: - name: Sign Zipped Binaries - timeout-minutes: 10 - needs: [ zip_binaries ] - runs-on: [ self-hosted, macOS, code-signer ] - steps: - - name: Store git tag vars. - shell: bash - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Pull zipped binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_macos-all - path: binaries-all - - - name: Sign Binaries. - shell: bash - working-directory: binaries-all - run: | - codesign -vvvv \ - -s "${{ secrets.APPLE_DEVELOPER_ID }}" \ - -f --timestamp "swift-binaries_macos_${{ env.VERSION }}-all.zip" - - xcrun altool \ - --verbose \ - --notarize-app \ - --file swift-binaries_macos_${{ env.VERSION }}-all.zip\ - --primary-bundle-id ${{ env.APP_BUNDLE_ID }} \ - --apiKey ${{ secrets.APPLE_KEY_ID }} \ - --apiIssuer ${{ secrets.APPLE_ISSUER_ID }} - - - uses: actions/upload-artifact@v2 - with: - name: swift-binaries_macos-signed - path: binaries-all/swift-binaries_macos_${{ env.VERSION }}-all.zip - - release: - name: Create Release - needs: [ sign_zipped_binaries, sign_application ] - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') - runs-on: ubuntu-20.04 - steps: - - name: Store git tag and date vars. - run: | - DATE="$(date '+%Y-%m-%d')"; - echo "DATE=${DATE}" >> $GITHUB_ENV - echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - name: Pull Windows Installer - uses: actions/download-artifact@v2 - with: - name: Windows-installer - path: windows - - name: Pull Windows Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_windows-signed - path: windows - - name: Pull Linux Installer - uses: actions/download-artifact@v2 - with: - name: Linux-installer - path: linux - - name: Pull Linux Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_linux-signed - path: linux - - name: Pull macOS Installer - uses: actions/download-artifact@v2 - with: - name: macOS-installer - path: macos - - name: Pull macOS Binaries - uses: actions/download-artifact@v2 - with: - name: swift-binaries_macos-signed - path: macos - - name: Prepare Release - shell: bash - run: | - echo "WINDOWS_ARCHIVE=$(cat windows/installer-archive.filename)" >>$GITHUB_ENV - echo "LINUX_ARCHIVE=$(cat linux/installer-archive.filename)" >>$GITHUB_ENV - echo "MACOS_ARCHIVE=$(cat macos/installer-archive.filename)" >>$GITHUB_ENV - - name: Release - uses: softprops/action-gh-release@v1 - with: - name: "${{ env.VERSION }}-${{ env.DATE }}" - files: | - windows/${{ env.WINDOWS_ARCHIVE }} - windows/swift-binaries_windows_${{ env.VERSION }}-all.zip - linux/${{ env.LINUX_ARCHIVE }} - linux/swift-binaries_linux_${{ env.VERSION }}-all.zip - macos/${{ env.MACOS_ARCHIVE }} - macos/swift-binaries_macos_${{ env.VERSION }}-all.zip - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f7befa67..521d3f118 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,15 +23,11 @@ env: jobs: backend_bench: - name: Backend Benchmarks - strategy: matrix: os: [ ubuntu-20.04, macos-11, windows-2019 ] - runs-on: ${{ matrix.os }} - steps: - name: Checkout source @@ -104,11 +100,8 @@ jobs: run: cargo make backend-benches checks: - name: Code Quality Checks - runs-on: ubuntu-20.04 - steps: - name: Checkout source uses: actions/checkout@v2 @@ -184,20 +177,15 @@ jobs: command: cargo make tests build: - name: Build Binaries - - needs: [ checks,backend_bench ] - + needs: [ checks, backend_bench ] strategy: matrix: os: - { name: ubuntu-20.04, exe_suffix: "", short_name: "linux" } - { name: macos-11, exe_suffix: "", short_name: "macos" } - { name: windows-2019, exe_suffix: ".exe", short_name: "windows" } - runs-on: ${{ matrix.os.name }} - steps: - name: Checkout source @@ -392,4 +380,15 @@ jobs: continue-on-error: true run: cargo make disk-usage-bench -# trigger create release workflow + frontend bench \ No newline at end of file + frontend_distribute: + name: Run frontend benchmarks, sign and distribute + needs: build + runs-on: ubuntu-latest + run: | + const ret = await github.rest.createWorkflowDispatch({ + owner: 'swift-nav', + repo: 'toolbox-backend-ci', + workflow_id: 'distribute.yml', + ref: 'main', + }); + console.log(ret); From 42b4142aff8995d1e3b46cc5f6a2d8d87e565d8e Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Fri, 18 Nov 2022 14:11:08 +1100 Subject: [PATCH 13/30] Dispatch event --- .github/workflows/main.yml | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 521d3f118..9a447e1e3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -384,11 +384,28 @@ jobs: name: Run frontend benchmarks, sign and distribute needs: build runs-on: ubuntu-latest - run: | - const ret = await github.rest.createWorkflowDispatch({ - owner: 'swift-nav', - repo: 'toolbox-backend-ci', - workflow_id: 'distribute.yml', - ref: 'main', - }); - console.log(ret); + steps: + - shell: bash + if: github.event_name == 'push' && contains(github.ref, 'refs/tags') + run: echo "SHOULD_RELEASE=true" + + - shell: bash + run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + + - uses: convictional/trigger-workflow-and-wait@v1.6.1 + with: + owner: swift-nav + repo: toolbox-backend-ci + ref: main + workflow_file_name: distribute.yml + client_payload: '{ + "branch": "${{ github.ref_name }}", + "run_id": "${{ github.run_id }}", + "should_release": ${{ env.SHOULD_RELEASE }}, + "version": ${{ env.VERSION }} + }' + github_user: "swiftnav-travis" + github_token: ${{ secrets.SWIFTNAV_TRAVIS_GITHUB_TOKEN }} + propagate_failure: true + wait_workflow: true + trigger_workflow: true \ No newline at end of file From 17647abde543901dd5a28dc63fd314e872627f68 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Sat, 19 Nov 2022 09:55:03 +1100 Subject: [PATCH 14/30] add newline --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9a447e1e3..bbb602b6c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -408,4 +408,4 @@ jobs: github_token: ${{ secrets.SWIFTNAV_TRAVIS_GITHUB_TOKEN }} propagate_failure: true wait_workflow: true - trigger_workflow: true \ No newline at end of file + trigger_workflow: true From a8433c68173e3697f0801a82da52982d45485c50 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Sat, 19 Nov 2022 11:38:08 +1100 Subject: [PATCH 15/30] adjust token --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bbb602b6c..38b3beaad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -405,7 +405,7 @@ jobs: "version": ${{ env.VERSION }} }' github_user: "swiftnav-travis" - github_token: ${{ secrets.SWIFTNAV_TRAVIS_GITHUB_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} propagate_failure: true wait_workflow: true trigger_workflow: true From b7a2f2692e6b8a40c29edce8a282673882e3a608 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 21 Nov 2022 08:52:32 +1100 Subject: [PATCH 16/30] quoted --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38b3beaad..4add7a127 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -401,7 +401,7 @@ jobs: client_payload: '{ "branch": "${{ github.ref_name }}", "run_id": "${{ github.run_id }}", - "should_release": ${{ env.SHOULD_RELEASE }}, + "should_release": "${{ env.SHOULD_RELEASE }}", "version": ${{ env.VERSION }} }' github_user: "swiftnav-travis" From 4896c15aaff05c1e1a34fd1e98028d4a62822dfe Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 21 Nov 2022 08:52:44 +1100 Subject: [PATCH 17/30] quoted --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4add7a127..d358343bc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -402,7 +402,7 @@ jobs: "branch": "${{ github.ref_name }}", "run_id": "${{ github.run_id }}", "should_release": "${{ env.SHOULD_RELEASE }}", - "version": ${{ env.VERSION }} + "version": "${{ env.VERSION }}" }' github_user: "swiftnav-travis" github_token: ${{ secrets.GITHUB_TOKEN }} From b293841fa5744c6afc098fe2a35015f0f0ecc4f7 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 21 Nov 2022 13:33:43 +1100 Subject: [PATCH 18/30] false default --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d358343bc..a2af31a76 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -401,7 +401,7 @@ jobs: client_payload: '{ "branch": "${{ github.ref_name }}", "run_id": "${{ github.run_id }}", - "should_release": "${{ env.SHOULD_RELEASE }}", + "should_release": ${{ env.SHOULD_RELEASE || false}}, "version": "${{ env.VERSION }}" }' github_user: "swiftnav-travis" From e41f96513a3faf10a72a9cabcf4763beadf94692 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 21 Nov 2022 13:47:01 +1100 Subject: [PATCH 19/30] adjust boolean and token --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2af31a76..726dc2921 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -401,11 +401,11 @@ jobs: client_payload: '{ "branch": "${{ github.ref_name }}", "run_id": "${{ github.run_id }}", - "should_release": ${{ env.SHOULD_RELEASE || false}}, + "should_release": "${{ env.SHOULD_RELEASE || false}}", "version": "${{ env.VERSION }}" }' github_user: "swiftnav-travis" - github_token: ${{ secrets.GITHUB_TOKEN }} + github_token: ${{ secrets.SWIFTNAV_TRAVIS_GITHUB_TOKEN }} propagate_failure: true wait_workflow: true trigger_workflow: true From dd5a24ed6873e05c8cbfa9eab0da8a0102c0f4d4 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:19:19 +1100 Subject: [PATCH 20/30] swap to secrets for gh auth --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 726dc2921..7094b5b9d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -404,8 +404,8 @@ jobs: "should_release": "${{ env.SHOULD_RELEASE || false}}", "version": "${{ env.VERSION }}" }' - github_user: "swiftnav-travis" - github_token: ${{ secrets.SWIFTNAV_TRAVIS_GITHUB_TOKEN }} + github_user: ${{ secrets.GH_NAME }} + github_token: ${{ secrets.GH_TOKEN }} propagate_failure: true wait_workflow: true trigger_workflow: true From 62a6469c5327ec4be5ac046acfbc87f146857853 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Tue, 22 Nov 2022 14:36:21 +1100 Subject: [PATCH 21/30] add pre frontend --- .github/workflows/main.yml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7094b5b9d..4cd209888 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -145,12 +145,10 @@ jobs: - name: Install ImageMagick shell: bash - run: | - cargo make install-imagemagick + run: cargo make install-imagemagick - name: Set up python builder - run: | - cargo make setup-builder + run: cargo make setup-builder env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -171,7 +169,7 @@ jobs: - name: Run Tests uses: nick-invision/retry@v2 with: - timeout_minutes: 5 + timeout_minutes: 2 max_attempts: 3 retry_on: error command: cargo make tests @@ -380,9 +378,22 @@ jobs: continue-on-error: true run: cargo make disk-usage-bench + pre-frontend-distribute: + name: Force delay, ensure files are uploaded + needs: build + runs-on: ubuntu-latest + steps: + - name: Wait until artifacts fetchable + uses: nick-invision/retry@v2 + with: + timeout_minutes: 1 + max_attempts: 3 + retry_on: error + command: gh run -R swift-nav/swift-toolbox download ${{ github.run_id }} -n Linux-artifacts + frontend_distribute: name: Run frontend benchmarks, sign and distribute - needs: build + needs: pre-frontend-distribute runs-on: ubuntu-latest steps: - shell: bash From b13b71db4c1d502b37941ed976fb526f469dd5c6 Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Tue, 22 Nov 2022 16:07:51 +1100 Subject: [PATCH 22/30] pass token --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4cd209888..c24e506f4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -385,6 +385,8 @@ jobs: steps: - name: Wait until artifacts fetchable uses: nick-invision/retry@v2 + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} with: timeout_minutes: 1 max_attempts: 3 From 3d969deb04618bb49b47741d582c3ae92d61f97d Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Tue, 22 Nov 2022 17:02:44 +1100 Subject: [PATCH 23/30] modify timeout --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c24e506f4..38ad80d15 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -388,7 +388,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GH_TOKEN }} with: - timeout_minutes: 1 + timeout_minutes: 5 max_attempts: 3 retry_on: error command: gh run -R swift-nav/swift-toolbox download ${{ github.run_id }} -n Linux-artifacts From 47b1a74606c2ff777c276bb3d3bb5863c0e0b0fd Mon Sep 17 00:00:00 2001 From: adrian-kong Date: Tue, 22 Nov 2022 17:02:55 +1100 Subject: [PATCH 24/30] modify timeout --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38ad80d15..208ddbae8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -169,7 +169,7 @@ jobs: - name: Run Tests uses: nick-invision/retry@v2 with: - timeout_minutes: 2 + timeout_minutes: 5 max_attempts: 3 retry_on: error command: cargo make tests From e069eb26e810c774b2ed384f8d1c69e0920dd6af Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Tue, 22 Nov 2022 22:03:17 +1100 Subject: [PATCH 25/30] retry 60 sec --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 208ddbae8..b4c345f9e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -389,8 +389,9 @@ jobs: GH_TOKEN: ${{ secrets.GH_TOKEN }} with: timeout_minutes: 5 - max_attempts: 3 + max_attempts: 5 retry_on: error + retry_wait_seconds: 60 command: gh run -R swift-nav/swift-toolbox download ${{ github.run_id }} -n Linux-artifacts frontend_distribute: From aa93f4c093c4fe55548312f9de0df6f786323e63 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Wed, 23 Nov 2022 09:27:45 +1100 Subject: [PATCH 26/30] Update retry seconds --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b4c345f9e..da3083da8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -388,10 +388,10 @@ jobs: env: GH_TOKEN: ${{ secrets.GH_TOKEN }} with: - timeout_minutes: 5 + timeout_minutes: 10 max_attempts: 5 retry_on: error - retry_wait_seconds: 60 + retry_wait_seconds: 300 command: gh run -R swift-nav/swift-toolbox download ${{ github.run_id }} -n Linux-artifacts frontend_distribute: From 8bce7c5c9d8ef7bf9381ee1cb33c80edb4766e19 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Wed, 23 Nov 2022 12:14:33 +1100 Subject: [PATCH 27/30] Move build into frontend bench --- .github/workflows/main.yml | 224 +------------------------------------ 1 file changed, 2 insertions(+), 222 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index da3083da8..b8045c6bd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -174,229 +174,9 @@ jobs: retry_on: error command: cargo make tests - build: - name: Build Binaries - needs: [ checks, backend_bench ] - strategy: - matrix: - os: - - { name: ubuntu-20.04, exe_suffix: "", short_name: "linux" } - - { name: macos-11, exe_suffix: "", short_name: "macos" } - - { name: windows-2019, exe_suffix: ".exe", short_name: "windows" } - runs-on: ${{ matrix.os.name }} - steps: - - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: recursive - ssh-key: ${{ secrets.SSH_KEY }} - ssh-strict: false - - - uses: webfactory/ssh-agent@v0.5.0 - with: - ssh-private-key: ${{ secrets.SSH_KEY }} - - - name: Run ssh-keyscan - run: ssh-keyscan github.com >> ~/.ssh/known_hosts - - - name: Setup SSH for Windows Git LFS - run: | - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "ssh-keyscan github.com >> ~/.ssh/known_hosts" - & "C:\\Program Files\\Git\\bin\\sh.exe" -c "echo '${{ secrets.SSH_KEY }}' >> ~/.ssh/id_rsa" - if: matrix.os.name == 'windows-2019' - - - name: Install ${{ runner.os }} Dependencies. - shell: bash - run: | - if [ "$RUNNER_OS" == "Linux" ]; then - sudo apt-get update - sudo apt-get install -y \ - capnproto \ - libxcb-icccm4 \ - libxcb-image0 \ - libxcb-keysyms1 \ - libxcb-randr0 \ - libxcb-render-util0 \ - libxcb-render0 \ - libxcb-shape0 \ - libxcb-shm0 \ - libxcb-sync1 \ - libxcb-util1 \ - libxcb-xfixes0 \ - libxcb-xinerama0 \ - libxcb-xkb1 \ - libxkbcommon-x11-0 \ - ruby \ - ruby-dev \ - rubygems \ - build-essential \ - libudev-dev \ - libssl-dev - sudo gem install public_suffix -v 4.0.7 # This is a fix for U18. - sudo gem install --no-document fpm - elif [ "$RUNNER_OS" == "macOS" ]; then - brew install capnp llvm create-dmg - elif [ "$RUNNER_OS" == "Windows" ]; then - choco install capnproto nsis - echo "LIBCLANG_PATH=${{ env.LIBCLANG_PATH_WIN }}" >> $GITHUB_ENV - fi - - - name: Install stable Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - components: rustfmt, clippy - - - uses: Swatinem/rust-cache@v1 - with: - key: ${{ secrets.CACHE_VERSION }} - - - uses: davidB/rust-cargo-make@v1 - with: - version: ${{ env.CARGO_MAKE_VERSION }} - - - name: Install ImageMagick - shell: bash - run: cargo make install-imagemagick - - - name: Cache pip - uses: actions/cache@v2 - with: - path: ${{ env.PIP_CACHE_DIR }} - key: ${{ runner.os }}-pyproject-toml-${{ secrets.CACHE_VERSION }}-${{ hashFiles('pyproject.toml') }} - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - - name: Set up python builder - shell: bash - run: cargo make setup-builder - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Store git tag vars. - shell: bash - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Build ${{ runner.os }} Binaries. - shell: bash - run: cargo make create-dist - - - name: Create ${{ runner.os }} Installers. - shell: bash - run: | - cargo make dist-to-installer - if [ "$RUNNER_OS" == "Linux" ]; then - INSTALLER_ARCHIVE=$(find installers/Linux -maxdepth 1 -iname "*.deb") - elif [ "$RUNNER_OS" == "Windows" ]; then - INSTALLER_ARCHIVE=$(find installers/Windows -maxdepth 1 -iname "*.exe") - elif [ "$RUNNER_OS" == "macOS" ]; then - mv installers/macOS/*.dmg . - INSTALLER_ARCHIVE=$(find . -maxdepth 1 -iname "*.dmg") - fi - echo $INSTALLER_ARCHIVE >installer-archive.filename - echo "INSTALLER_ARCHIVE=$(cat installer-archive.filename)" >>$GITHUB_ENV - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') && runner.os == 'Linux' - - - name: Build ${{ runner.os }} swift-files binary. - run: cargo build --release --bin swift-files --no-default-features --features env_logger,indicatif - - - name: Build ${{ runner.os }} swift-settings binary. - run: cargo build --release --bin swift-settings --no-default-features --features env_logger - - - name: Build ${{ runner.os }} swift-updater binary. - run: cargo build --release --bin swift-updater --no-default-features - - - name: Pull Git LFS objects - run: git lfs pull - env: - GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no - - name: Archive ${{ runner.os }} Binaries. - env: - OS_NAME: ${{ runner.os }} - shell: bash - run: | - mkdir bench - cp -r console_backend/tests/data bench - cp utils/bench_runner.py bench - cd bench - 7z a -tzip "../$OS_NAME.zip" *; - cd .. - echo "${OS_NAME}.zip" >bench-archive.filename; - echo "BENCH_ARCHIVE=$(cat bench-archive.filename)" >>$GITHUB_ENV - RELEASE_ARCHIVE=$(find . -maxdepth 1 -iname "*.tar.xz" ! -iname "*-debug*") - DEBUG_ARCHIVE=$(find . -maxdepth 1 -iname "*-debug.tar.xz") - echo $RELEASE_ARCHIVE >release-archive.filename - echo "RELEASE_ARCHIVE=$(cat release-archive.filename)" >>$GITHUB_ENV - echo $DEBUG_ARCHIVE >debug-archive.filename - echo "DEBUG_ARCHIVE=$(cat debug-archive.filename)" >>$GITHUB_ENV - - uses: actions/upload-artifact@v2 - with: - name: ${{ runner.os }}-artifacts - path: | - ${{ env.RELEASE_ARCHIVE }} - release-archive.filename - - uses: actions/upload-artifact@v2 - with: - name: swift-files_${{ matrix.os.short_name }} - path: ./target/release/swift-files${{ matrix.os.exe_suffix }} - - uses: actions/upload-artifact@v2 - with: - name: swift-settings_${{ matrix.os.short_name }} - path: ./target/release/swift-settings${{ matrix.os.exe_suffix }} - - uses: actions/upload-artifact@v2 - with: - name: swift-updater_${{ matrix.os.short_name }} - path: ./target/release/swift-updater${{ matrix.os.exe_suffix }} - - uses: actions/upload-artifact@v2 - with: - name: ${{ runner.os }}-installer - path: | - ${{ env.INSTALLER_ARCHIVE }} - installer-archive.filename - if: github.event_name == 'push' && contains(github.ref, 'refs/tags') && runner.os == 'Linux' - - uses: actions/upload-artifact@v2 - with: - name: ${{ runner.os }}-artifacts-debug - path: | - ${{ env.DEBUG_ARCHIVE }} - debug-archive.filename - - uses: actions/upload-artifact@v2 - with: - name: ${{ runner.os }}-artifacts-bench - path: | - ${{ env.BENCH_ARCHIVE }} - bench-archive.filename - - name: ${{ runner.os }} Installer Size Benchmark. - env: - OS_NAME: ${{ runner.os }} - shell: bash - continue-on-error: true - run: cargo make disk-usage-bench - - pre-frontend-distribute: - name: Force delay, ensure files are uploaded - needs: build - runs-on: ubuntu-latest - steps: - - name: Wait until artifacts fetchable - uses: nick-invision/retry@v2 - env: - GH_TOKEN: ${{ secrets.GH_TOKEN }} - with: - timeout_minutes: 10 - max_attempts: 5 - retry_on: error - retry_wait_seconds: 300 - command: gh run -R swift-nav/swift-toolbox download ${{ github.run_id }} -n Linux-artifacts - frontend_distribute: - name: Run frontend benchmarks, sign and distribute - needs: pre-frontend-distribute + name: Run frontend benchmarks, build, sign and distribute + needs: [ checks, backend_bench ] runs-on: ubuntu-latest steps: - shell: bash From 8f125d8321e18827896c1c4f6e6bae59cdcb5ad1 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Thu, 24 Nov 2022 13:26:51 +1100 Subject: [PATCH 28/30] send pr number --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b8045c6bd..e49eaff56 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -196,7 +196,8 @@ jobs: "branch": "${{ github.ref_name }}", "run_id": "${{ github.run_id }}", "should_release": "${{ env.SHOULD_RELEASE || false}}", - "version": "${{ env.VERSION }}" + "version": "${{ env.VERSION }}", + "pr_number": "${{ github.event.number }}" }' github_user: ${{ secrets.GH_NAME }} github_token: ${{ secrets.GH_TOKEN }} From 5e8077103f74ba61cb639a04d9bea94f1d5f9640 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:53:45 +1100 Subject: [PATCH 29/30] should release --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e49eaff56..404b8d91b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -181,7 +181,7 @@ jobs: steps: - shell: bash if: github.event_name == 'push' && contains(github.ref, 'refs/tags') - run: echo "SHOULD_RELEASE=true" + run: echo "SHOULD_RELEASE=true" >> $GITHUB_ENV - shell: bash run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV From cfda8915de4647b7596953a9a0253fdbd89395b4 Mon Sep 17 00:00:00 2001 From: adrian-kong <35755741+adrian-kong@users.noreply.github.com> Date: Fri, 2 Dec 2022 11:06:36 +1100 Subject: [PATCH 30/30] rename toolbox repo Co-authored-by: Jason Mobarak --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 404b8d91b..9e8666981 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -189,7 +189,7 @@ jobs: - uses: convictional/trigger-workflow-and-wait@v1.6.1 with: owner: swift-nav - repo: toolbox-backend-ci + repo: swift-toolbox-ci ref: main workflow_file_name: distribute.yml client_payload: '{