From 9fda93bb109535a284b33992f18ff6285905fec1 Mon Sep 17 00:00:00 2001 From: Alessandro Muntoni Date: Fri, 23 Jun 2023 15:24:51 +0200 Subject: [PATCH] using composites on CreateRelease --- .github/actions/2_deploy/action.yml | 23 +++++++++++- .github/workflows/CreateRelease.yml | 58 +++++++++-------------------- 2 files changed, 40 insertions(+), 41 deletions(-) diff --git a/.github/actions/2_deploy/action.yml b/.github/actions/2_deploy/action.yml index cf207d465..69b582081 100644 --- a/.github/actions/2_deploy/action.yml +++ b/.github/actions/2_deploy/action.yml @@ -13,6 +13,18 @@ inputs: mac-certificate-pssw: description: 'MacOS Certificate Password' required: false + mac-notarization-user: + description: 'MacOS Notarization User' + required: false + default: '' + mac-notarization-team: + description: 'MacOS Notarization Team' + required: false + default: '' + mac-notarization-pssw: + description: 'MacOS Notarization Password' + required: false + default: '' win-certificate: description: 'Windows Certificate' required: false @@ -25,6 +37,15 @@ inputs: runs: using: "composite" steps: + - name: Set Notarization settings + id: notarization + shell: bash + run: | + if [ "${{ inputs.mac-notarization-user }}" != "" ]; then + echo "not_setting=--notarization_user='${{ inputs.mac-notarization-user }}' --notarization_team='${{ inputs.mac-notarization-team }}' --notarization_pssw='${{ inputs.mac-notarization-pssw }}'" >> $GITHUB_OUTPUT + else + echo "not_setting=" >> $GITHUB_OUTPUT + fi - name: Set CodeSign Certificate macOS if: ${{ runner.os == 'macOS' && inputs.mac-certificate != ''}} uses: apple-actions/import-codesign-certs@v2 @@ -41,4 +62,4 @@ runs: - name: Deploy shell: bash run: | - bash scripts/${{ runner.os }}/2_deploy.sh --cert_pssw='${{ inputs.win-certificate-pssw }}' --cert_id='${{ inputs.mac-certificate-id }}' \ No newline at end of file + bash scripts/${{ runner.os }}/2_deploy.sh --cert_pssw='${{ inputs.win-certificate-pssw }}' --cert_id='${{ inputs.mac-certificate-id }}' ${{ steps.notarization.outputs.not_setting }} \ No newline at end of file diff --git a/.github/workflows/CreateRelease.yml b/.github/workflows/CreateRelease.yml index d4b541f3d..129273263 100644 --- a/.github/workflows/CreateRelease.yml +++ b/.github/workflows/CreateRelease.yml @@ -41,29 +41,8 @@ jobs: with: submodules: recursive ref: main - - name: Setup MSVC - uses: ilammy/msvc-dev-cmd@v1 - - name: Set CodeSign Certificate macOS - if: runner.os == 'macOS' - uses: apple-actions/import-codesign-certs@v2 - with: - p12-file-base64: ${{ secrets.MACOS_CERTIFICATE }} - p12-password: ${{ secrets.MACOS_CERTIFICATE_PSSW }} - - name: Set CodeSign Certificate Windows - if: runner.os == 'Windows' - run: | - New-Item -ItemType directory -Path certificate - Set-Content -Path certificate\certificate.txt -Value '${{ secrets.WIN_CERTIFICATE }}' - certutil -decode certificate\certificate.txt certificate\certificate.pfx - - name: Install Qt - uses: jurplel/install-qt-action@v3 - with: - cache: true - version: ${{ env.QT_VERSION }} - - name: Install dependencies - shell: bash - run: | - bash scripts/${{ runner.os }}/0_setup_env.sh --dont_install_qt + - name: Setup Environment + uses: ./.github/actions/0_setup - name: Setup env variables id: envs shell: bash @@ -73,24 +52,23 @@ jobs: else echo "artifact_suffix=" >> $GITHUB_OUTPUT fi - - name: Cache external libraries sources - id: cache-ext-libs - uses: actions/cache@v3 - with: - path: src/external/downloads/* - key: ${{ runner.os }}-external-libraries - - name: Ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ runner.os }}-${{ github.ref }}-${{ matrix.precision }} - - name: Configure and Build - shell: bash - run: | - bash scripts/${{ runner.os }}/1_build.sh --${{ matrix.precision }} --ccache + - name: Build + uses: ./.github/actions/1_build + with: + cache-path: src/external/downloads/* + cache-key: external-libraries + build-option: ${{matrix.precision}} - name: Deploy - shell: bash - run: | - bash scripts/${{ runner.os }}/2_deploy.sh --cert_pssw='${{ secrets.WIN_CERTIFICATE_PSSW }}' --cert_id='${{ secrets.MACOS_CERT_ID }}' --notarization_user='${{ secrets.MACOS_NOTARIZATION_USER }}' --notarization_team='${{ secrets.MACOS_NOTARIZATION_TEAM_ID }}' --notarization_pssw='${{ secrets.MACOS_NOTARIZATION_PSSW }}' + uses: ./.github/actions/2_deploy + with: + mac-certificate: ${{ secrets.MACOS_CERTIFICATE }} + mac-certificate-id: ${{ secrets.MACOS_CERT_ID }} + mac-certificate-pssw: ${{ secrets.MACOS_CERTIFICATE_PSSW }} + mac-notarization-user: ${{ secrets.MACOS_NOTARIZATION_USER }} + mac-notarization-team: ${{ secrets.MACOS_NOTARIZATION_TEAM_ID }} + mac-notarization-pssw: ${{ secrets.MACOS_NOTARIZATION_PSSW }} + win-certificate: ${{ secrets.WIN_CERTIFICATE }} + win-certificate-pssw: ${{ secrets.WIN_CERTIFICATE_PSSW }} - name: Upload MeshLab Portable uses: actions/upload-artifact@v3 with: