Tested Build #145
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 | |
| # Avoid wasting type on updating man pages which are not used anyway | |
| - run: sudo rm -f /var/lib/man-db/auto-update | |
| if: runner.os == 'Linux' | |
| - 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 | |
| # Avoid wasting type on updating man pages which are not used anyway | |
| - run: sudo rm -f /var/lib/man-db/auto-update | |
| - 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 |