SolveSpace-fork-ToolTime #11
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CD | |
| on: | |
| push: | |
| branches: | |
| - master | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| cancel_previous_runs: | |
| runs-on: ubuntu-latest | |
| name: Cancel Previous Runs | |
| permissions: | |
| actions: write | |
| steps: | |
| - uses: styfle/cancel-workflow-action@0.9.1 | |
| with: | |
| access_token: ${{ github.token }} | |
| test_ubuntu: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [cancel_previous_runs] | |
| runs-on: ubuntu-latest | |
| name: Test Ubuntu | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-ubuntu.sh | |
| - name: Build & Test | |
| run: .github/scripts/build-ubuntu.sh | |
| test_windows: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [cancel_previous_runs] | |
| runs-on: windows-2019 | |
| name: Test Windows | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-windows.sh | |
| shell: bash | |
| - name: Build & Test | |
| run: .github/scripts/build-windows.sh | |
| shell: bash | |
| test_macos: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [cancel_previous_runs] | |
| runs-on: macos-latest | |
| name: Test macOS | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-macos.sh ci | |
| - name: Build & Test | |
| run: .github/scripts/build-macos.sh debug arm64 && .github/scripts/build-macos.sh debug x86_64 | |
| build_release_windows: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [test_ubuntu, test_windows, test_macos] | |
| name: Build Release Windows | |
| runs-on: windows-2019 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-windows.sh | |
| shell: bash | |
| - name: Build & Test | |
| run: .github/scripts/build-windows.sh release | |
| shell: bash | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v2 | |
| with: | |
| name: windows | |
| path: build/bin/RelWithDebInfo/solvespace.exe | |
| build_release_windows_openmp: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [test_ubuntu, test_windows, test_macos] | |
| name: Build Release Windows (OpenMP) | |
| runs-on: windows-2019 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-windows.sh | |
| shell: bash | |
| - name: Build & Test | |
| run: .github/scripts/build-windows.sh release openmp | |
| shell: bash | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v2 | |
| with: | |
| name: windows-openmp | |
| path: build/bin/RelWithDebInfo/solvespace-openmp.exe | |
| build_release_macos: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [test_ubuntu, test_windows, test_macos] | |
| name: Build Release macOS | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install Dependencies | |
| run: .github/scripts/install-macos.sh ci | |
| - name: Build & Test | |
| run: .github/scripts/build-macos.sh release arm64 && .github/scripts/build-macos.sh release x86_64 | |
| - name: Sign Build | |
| run: .github/scripts/sign-macos.sh | |
| env: | |
| MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} | |
| MACOS_CERTIFICATE_P12: ${{ secrets.MACOS_CERTIFICATE_P12 }} | |
| MACOS_APPSTORE_APP_PASSWORD: ${{ secrets.MACOS_APPSTORE_APP_PASSWORD }} | |
| MACOS_APPSTORE_USERNAME: ${{ secrets.MACOS_APPSTORE_USERNAME }} | |
| MACOS_DEVELOPER_ID: ${{ secrets.MACOS_DEVELOPER_ID }} | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v2 | |
| with: | |
| name: macos | |
| path: build/bin/SolveSpace.dmg | |
| deploy_snap_amd64: | |
| # Disabled: compilation operations paused. | |
| if: false | |
| needs: [test_ubuntu, test_windows, test_macos] | |
| name: Deploy AMD64 Snap | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Fetch Tags | |
| run: git fetch --force --tags | |
| - name: Set Up Source | |
| run: rsync --filter=":- .gitignore" -r ./ pkg/snap/solvespace-snap-src | |
| - name: Build Snap | |
| uses: snapcore/action-build@v1 | |
| id: build | |
| with: | |
| path: pkg/snap | |
| - name: Upload & Release to Edge | |
| if: github.event_name == 'push' | |
| uses: snapcore/action-publish@v1 | |
| env: | |
| SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPSTORE_LOGIN }} | |
| with: | |
| snap: ${{ steps.build.outputs.snap }} | |
| release: edge | |
| - name: Upload & Release to Beta + Edge | |
| if: github.event_name == 'release' | |
| uses: snapcore/action-publish@v1 | |
| with: | |
| store_login: ${{ secrets.SNAPSTORE_LOGIN }} | |
| snap: ${{ steps.build.outputs.snap }} | |
| release: edge,beta | |
| upload_release_assets: | |
| name: Upload Release Assets | |
| needs: [build_release_windows, build_release_windows_openmp, build_release_macos] | |
| if: "!cancelled() && github.event_name == 'release'" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download All Workflow Artifacts | |
| uses: actions/download-artifact@v2 | |
| - name: Get Release Upload URL | |
| id: get_upload_url | |
| env: | |
| event: ${{ toJson(github.event) }} | |
| run: | | |
| upload_url=$(echo "$event" | jq -r ".release.upload_url") | |
| echo "::set-output name=upload_url::$upload_url" | |
| echo "Upload URL: $upload_url" | |
| - name: Upload solvespace.exe | |
| uses: actions/upload-release-asset@v1 | |
| continue-on-error: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.get_upload_url.outputs.upload_url }} | |
| asset_path: windows/solvespace.exe | |
| asset_name: solvespace.exe | |
| asset_content_type: binary/octet-stream | |
| - name: Upload solvespace-openmp.exe | |
| uses: actions/upload-release-asset@v1 | |
| continue-on-error: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.get_upload_url.outputs.upload_url }} | |
| asset_path: windows-openmp/solvespace-openmp.exe | |
| asset_name: solvespace-openmp.exe | |
| asset_content_type: binary/octet-stream | |
| - name: Upload SolveSpace.dmg | |
| uses: actions/upload-release-asset@v1 | |
| continue-on-error: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.get_upload_url.outputs.upload_url }} | |
| asset_path: macos/SolveSpace.dmg | |
| asset_name: SolveSpace.dmg | |
| asset_content_type: binary/octet-stream |