Tested Build #144
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: Tested Build | |
| on: | |
| workflow_dispatch: | |
| env: | |
| ContinuousIntegrationBuild: true | |
| DOTNET_NOLOGO: true | |
| SuppressNETCoreSdkPreviewMessage: true | |
| jobs: | |
| platform-build: | |
| name: Platform Build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2022, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup prerequisites | |
| uses: ./.github/actions/setup-prerequisites | |
| # - name: Setup MSYS2 | |
| # if: runner.os == 'Windows' | |
| # uses: msys2/setup-msys2@v2 | |
| - name: Setup Cygwin | |
| if: runner.os == 'Windows' | |
| uses: cygwin/cygwin-install-action@v6 | |
| - name: Setup GNU | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install gnu-sed | |
| - name: Diagnostic | |
| run: | | |
| just gnu-tk list -q | |
| just gnu-tk check -q | |
| - name: Diagnostic (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| just gnu-tk check -q -t busybox | |
| just gnu-tk check -q -t msys2 | |
| just gnu-tk check -q -t cygwin | |
| just gnu-tk check -q -t git | |
| - name: Diagnostic (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| just gnu-tk check -q -t system | |
| just gnu-tk check -q -t brew | |
| echo "sed: $(just gnu-tk -l which sed)" | |
| - name: Diagnostic (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| just gnu-tk check -q -t system | |
| - name: Test | |
| run: just test | |
| - name: Build platform-dependent artifacts | |
| env: | |
| GP_OSS_MANUFACTURER: ${{ vars.GP_OSS_MANUFACTURER }} | |
| GP_OSS_SWID_REGID: ${{ vars.GP_OSS_SWID_REGID }} | |
| GP_OSS_PROJECT_MSI_UPGRADE_CODE: ${{ vars.GP_OSS_PROJECT_MSI_UPGRADE_CODE }} | |
| GP_OSS_PROJECT_DEV_URL: ${{ secrets.GP_OSS_PROJECT_DEV_URL }} | |
| run: just platform-build | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: gnu-tk-artifacts-${{ matrix.os }} | |
| path: | | |
| Source/**/bin/Release/**/publish/ | |
| Source/**/bin/*/Release/*/*.msi | |
| !Source/**/*.pdb | |
| !Source/**/*.dbg | |
| !Source/**/*.dSYM | |
| if-no-files-found: error | |
| publish: | |
| name: Publish | |
| needs: platform-build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup prerequisites | |
| uses: ./.github/actions/setup-prerequisites | |
| - run: sudo apt-get install -y xq | |
| - name: Setup security environment | |
| env: | |
| GP_OSS_ASSEMBLY_SNK: ${{ secrets.GP_OSS_ASSEMBLY_SNK }} | |
| run: | | |
| echo $GP_OSS_ASSEMBLY_SNK | base64 --decode > gp-oss-assembly.snk | |
| - name: Create .env file | |
| run: | | |
| cat <<EOF >.env | |
| AssemblyOriginatorKeyFile=`pwd`/gp-oss-assembly.snk | |
| EOF | |
| - name: Publish artifacts | |
| run: just publish | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: Source | |
| merge-multiple: true | |
| - name: Publish platform-dependent artifacts | |
| run: just platform-publish | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: gnu-tk-artifacts-publish | |
| path: | | |
| Documentation/CHANGELOG.md | |
| Source/**/bin/Release/nuget/*.nupkg | |
| Source/Packaging/**/bin/*.zip | |
| Source/Packaging/**/bin/*.tar.gz | |
| Source/Packaging/**/bin/*.tgz | |
| Source/Packaging/**/bin/*.msi | |
| Source/Packaging/**/bin/*SUMS | |
| if-no-files-found: error |