From f69886cbee4377e5e29e950fe31a4b8f03dff0b2 Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 11:04:54 -0800 Subject: [PATCH 1/7] ci: build for intel and arm macs --- .github/workflows/build.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6d69acd0..e1f96603 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -31,10 +31,14 @@ jobs: artifact-name: cadt-linux-arm64 build-command: npm run create-linux-arm64-dist sqlite-path: ./node_modules/sqlite3/build/Release/ - - runs-on: macos-latest + - runs-on: macos-13 artifact-name: cadt-macos-x64 build-command: npm run create-mac-x64-dist sqlite-path: ./node_modules/sqlite3/build/Release/ + - runs-on: macos-latest + artifact-name: cadt-macos-arm64 + build-command: npm run create-mac-arm64-dist + sqlite-path: ./node_modules/sqlite3/build/Release/ - runs-on: windows-2019 artifact-name: cadt-windows-x64 build-command: npm run create-win-x64-dist From 431a234b6f3fbc407f2ba7617eef3865dbe4172e Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 12:06:32 -0800 Subject: [PATCH 2/7] ci: add mac arm builds to releases --- .github/workflows/build.yaml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e1f96603..0566e497 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -170,7 +170,7 @@ jobs: bash ${{ github.workspace }}/build-scripts/macos/build-macos.sh CADT mkdir -p ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload - cp ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/CADT-macos-installer-x64.pkg + cp ${{ github.workspace }}/build-scripts/macos/target/pkg/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/${{ matrix.artifact-name }}-installer.pkg - name: Notarize Mac .pkg if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') @@ -178,7 +178,7 @@ jobs: mkdir -p ${{ github.workspace }}/build-scripts/macos/target/pkg-signed echo "Signing the .pkg" - productsign --sign "Developer ID Installer: Chia Network Inc." ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/CADT-macos-installer-x64.pkg + productsign --sign "Developer ID Installer: Chia Network Inc." ${{ github.workspace }}/build-scripts/macos/target/pkg/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/${{ matrix.artifact-name }}-installer.pkg echo "Notarizing the .pkg" xcrun notarytool submit \ @@ -186,16 +186,16 @@ jobs: --apple-id "${{ secrets.APPLE_NOTARIZE_USERNAME }}" \ --password "${{ secrets.APPLE_NOTARIZE_PASSWORD }}" \ --team-id "${{ secrets.APPLE_TEAM_ID }}" \ - "${{ github.workspace }}/build-scripts/macos/target/pkg-signed/CADT-macos-installer-x64.pkg" + "${{ github.workspace }}/build-scripts/macos/target/pkg-signed/${{ matrix.artifact-name }}-installer.pkg" rm -f ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/* - mv ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/ + mv ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/ - name: Upload Mac Installer if: matrix.runs-on == 'macos-latest' uses: actions/upload-artifact@v4 with: - name: cadt-mac-installer + name: ${{ matrix.artifact-name }} path: ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload - name: Upload artifacts @@ -309,11 +309,17 @@ jobs: name: cadt-windows-x64 path: cadt-windows-x64 - - name: Download MacOS artifacts + - name: Download MacOS x64 artifacts + uses: actions/download-artifact@v4 + with: + name: cadt-macos-x64 + path: cadt-macos-x64 + + - name: Download MacOS arm64 artifacts uses: actions/download-artifact@v4 with: - name: cadt-mac-installer - path: cadt-mac-installer + name: cadt-macos-arm64 + path: cadt-macos-arm64 - name: Download x64 Linux artifacts uses: actions/download-artifact@v4 @@ -347,7 +353,8 @@ jobs: - name: Create zips run: | zip -r cadt-windows-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-windows-x64 - zip -r cadt-macos-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-mac-installer + zip -r cadt-macos-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-macos-x64 + zip -r cadt-macos-arm64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-macos-arm64 zip -r cadt-linux-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-x64 zip -r cadt-linux-arm64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-arm64 @@ -381,6 +388,7 @@ jobs: files: | cadt-windows-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-macos-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip + cadt-macos-arm64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-arm64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-x64-deb/*.deb From 177e76ca21af76907ef94a82aa3719f009b76722 Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 12:50:21 -0800 Subject: [PATCH 3/7] ci: fix mac package name --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0566e497..8fd4cc8e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -170,7 +170,7 @@ jobs: bash ${{ github.workspace }}/build-scripts/macos/build-macos.sh CADT mkdir -p ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload - cp ${{ github.workspace }}/build-scripts/macos/target/pkg/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/${{ matrix.artifact-name }}-installer.pkg + cp ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/${{ matrix.artifact-name }}-installer.pkg - name: Notarize Mac .pkg if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') From 1d8f4a0bfb63adc04c0a0c17f9669345c1dc4901 Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 13:11:15 -0800 Subject: [PATCH 4/7] ci: fix artifact name --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8fd4cc8e..06f9eb40 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -195,7 +195,7 @@ jobs: if: matrix.runs-on == 'macos-latest' uses: actions/upload-artifact@v4 with: - name: ${{ matrix.artifact-name }} + name: ${{ matrix.artifact-name }}-installer.pkg path: ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload - name: Upload artifacts From c57408b2216e3a6c42775a805ef5211b314ddda2 Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 13:16:00 -0800 Subject: [PATCH 5/7] ci: fix release filenames to match mac installers --- .github/workflows/build.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 06f9eb40..b7a9eb32 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -312,14 +312,14 @@ jobs: - name: Download MacOS x64 artifacts uses: actions/download-artifact@v4 with: - name: cadt-macos-x64 - path: cadt-macos-x64 + name: cadt-macos-x64-installer.pkg + path: cadt-macos-x64-installer.pkg - name: Download MacOS arm64 artifacts uses: actions/download-artifact@v4 with: - name: cadt-macos-arm64 - path: cadt-macos-arm64 + name: cadt-macos-arm64-installer.pkg + path: cadt-macos-arm64-installer.pkg - name: Download x64 Linux artifacts uses: actions/download-artifact@v4 From 3d1300d876a4fbdd844942804e2cc2c3c814bb7e Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 14:10:13 -0800 Subject: [PATCH 6/7] ci: target macos builds accounting for intel and arm --- .github/workflows/build.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b7a9eb32..f8a03b55 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -133,7 +133,7 @@ jobs: # Mac .pkg build + sign - name: Import Apple installer signing certificate - if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') uses: Apple-Actions/import-codesign-certs@v3 with: keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }} @@ -141,7 +141,7 @@ jobs: p12-password: ${{ secrets.APPLE_DEV_ID_INSTALLER_PASS }} - name: Import Apple Application signing certificate - if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') uses: Apple-Actions/import-codesign-certs@v3 with: create-keychain: false # Created when importing the first cert @@ -150,20 +150,20 @@ jobs: p12-password: ${{ secrets.APPLE_DEV_ID_APP_PASS }} - name: Prep building Mac .pkg - if: matrix.runs-on == 'macos-latest' + if: startsWith(${{ matrix.runs-on }}, 'macos') run: | rm -rf ${{ github.workspace }}/build-scripts/macos/darwin/application || true cp -r ${{ github.workspace }}/dist ${{ github.workspace }}/build-scripts/macos/application - name: Sign Mac binaries - if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') run: | echo "Signing the binaries" codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp --options=runtime --entitlements ${{ github.workspace }}/build-scripts/macos/entitlements.mac.plist ${{ github.workspace }}/build-scripts/macos/application/cadt codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp ${{ github.workspace }}/build-scripts/macos/application/node_sqlite3.node - name: Build Mac .pkg - if: matrix.runs-on == 'macos-latest' + if: startsWith(${{ matrix.runs-on }}, 'macos') run: | # Makes the .pkg in ./build-scripts/macos/target/pkg echo "Building the .pkg" @@ -173,7 +173,7 @@ jobs: cp ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/${{ matrix.artifact-name }}-installer.pkg - name: Notarize Mac .pkg - if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') run: | mkdir -p ${{ github.workspace }}/build-scripts/macos/target/pkg-signed @@ -192,7 +192,7 @@ jobs: mv ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/ - name: Upload Mac Installer - if: matrix.runs-on == 'macos-latest' + if: startsWith(${{ matrix.runs-on }}, 'macos') uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact-name }}-installer.pkg From 411e056c12547a3c4c284285fadc7aca5eb5e8a9 Mon Sep 17 00:00:00 2001 From: Zachary Brown Date: Tue, 14 Jan 2025 14:16:43 -0800 Subject: [PATCH 7/7] ci: look for matching string to run mac jobs --- .github/workflows/build.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f8a03b55..56cfb867 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -133,7 +133,7 @@ jobs: # Mac .pkg build + sign - name: Import Apple installer signing certificate - if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(matrix.runs-on , 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') uses: Apple-Actions/import-codesign-certs@v3 with: keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }} @@ -141,7 +141,7 @@ jobs: p12-password: ${{ secrets.APPLE_DEV_ID_INSTALLER_PASS }} - name: Import Apple Application signing certificate - if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(matrix.runs-on , 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') uses: Apple-Actions/import-codesign-certs@v3 with: create-keychain: false # Created when importing the first cert @@ -150,20 +150,20 @@ jobs: p12-password: ${{ secrets.APPLE_DEV_ID_APP_PASS }} - name: Prep building Mac .pkg - if: startsWith(${{ matrix.runs-on }}, 'macos') + if: startsWith(matrix.runs-on , 'macos') run: | rm -rf ${{ github.workspace }}/build-scripts/macos/darwin/application || true cp -r ${{ github.workspace }}/dist ${{ github.workspace }}/build-scripts/macos/application - name: Sign Mac binaries - if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(matrix.runs-on , 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') run: | echo "Signing the binaries" codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp --options=runtime --entitlements ${{ github.workspace }}/build-scripts/macos/entitlements.mac.plist ${{ github.workspace }}/build-scripts/macos/application/cadt codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp ${{ github.workspace }}/build-scripts/macos/application/node_sqlite3.node - name: Build Mac .pkg - if: startsWith(${{ matrix.runs-on }}, 'macos') + if: startsWith(matrix.runs-on , 'macos') run: | # Makes the .pkg in ./build-scripts/macos/target/pkg echo "Building the .pkg" @@ -173,7 +173,7 @@ jobs: cp ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/${{ matrix.artifact-name }}-installer.pkg - name: Notarize Mac .pkg - if: startsWith(${{ matrix.runs-on }}, 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') + if: startsWith(matrix.runs-on , 'macos') && steps.check_secrets.outputs.HAS_SIGNING_SECRET && contains( github.ref, '-rc') run: | mkdir -p ${{ github.workspace }}/build-scripts/macos/target/pkg-signed @@ -192,7 +192,7 @@ jobs: mv ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/${{ matrix.artifact-name }}-installer.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/ - name: Upload Mac Installer - if: startsWith(${{ matrix.runs-on }}, 'macos') + if: startsWith(matrix.runs-on , 'macos') uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact-name }}-installer.pkg