diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml index 171a10eeabd..3470bd82096 100644 --- a/.github/workflows/ci-pipeline.yml +++ b/.github/workflows/ci-pipeline.yml @@ -164,6 +164,50 @@ jobs: fi exit $retval + opendream-build: + name: Build DMAPI (OpenDream) + needs: start-ci-run-gate + if: (!(cancelled() || failure()) && needs.start-ci-run-gate.result == 'success') + strategy: + fail-fast: false + matrix: + committish: [ 'master' ] + runs-on: ubuntu-latest + steps: + - name: Setup dotnet + uses: actions/setup-dotnet@v3 + with: + dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} + + - name: Checkout (Branch) + uses: actions/checkout@v3 + if: github.event_name == 'push' || github.event_name == 'schedule' + + - name: Checkout (PR Merge) + uses: actions/checkout@v3 + if: github.event_name != 'push' && github.event_name != 'schedule' + with: + ref: "refs/pull/${{ github.event.number }}/merge" + + - name: Checkout OpenDream + run: | + cd $HOME + git clone https://github.com/OpenDreamProject/OpenDream + cd OpenDream + git submodule init --update --recursive + git checkout ${{ matrix.committish }} + + - name: Build OpenDream + run: | + cd $HOME/OpenDream + dotnet build -c Release + + - name: Build OpenDream + run: | + cd tests/DMAPI/BasicOperation + $HOME/OpenDream/bin/DMCompiler/DMCompiler --verbose --notices-enabled basic_operation_test.dme + pages-build: name: Build gh-pages runs-on: ubuntu-latest @@ -173,7 +217,8 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 with: - dotnet-version: ${{ env.TGS_DOTNET_VERSION }} + dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout (Branch) uses: actions/checkout@v3 @@ -275,6 +320,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout (Branch) uses: actions/checkout@v3 @@ -325,6 +371,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout (Branch) uses: actions/checkout@v3 @@ -360,8 +407,8 @@ jobs: windows-integration-test: name: Windows Live Tests - needs: dmapi-build - if: (!(cancelled() || failure()) && needs.dmapi-build.result == 'success') + needs: [dmapi-build, opendream-build] + if: (!(cancelled() || failure()) && needs.dmapi-build.result == 'success' && needs.opendream-build.result == 'success') strategy: fail-fast: false matrix: @@ -381,6 +428,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Set TGS_TEST_DUMP_API_SPEC if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'SqlServer' }} @@ -516,8 +564,8 @@ jobs: linux-integration-tests: name: Linux Live Tests - needs: dmapi-build - if: (!(cancelled() || failure()) && needs.dmapi-build.result == 'success') + needs: [dmapi-build, opendream-build] + if: (!(cancelled() || failure()) && needs.dmapi-build.result == 'success' && needs.opendream-build.result == 'success') services: # We start all dbs here so we can just code the stuff once mssql: image: mcr.microsoft.com/mssql/server:2019-latest @@ -580,6 +628,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Set Sqlite Connection Info if: ${{ matrix.database-type == 'Sqlite' }} @@ -1083,6 +1132,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout (Branch) uses: actions/checkout@v3 @@ -1208,6 +1258,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Retrieve Latest winget-pkgs PULL_REQUEST_TEMPLATE commit SHA from GitHub API id: get-sha @@ -1261,7 +1312,8 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 with: - dotnet-version: ${{ env.TGS_DOTNET_VERSION }} + dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1324,7 +1376,8 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 with: - dotnet-version: ${{ env.TGS_DOTNET_VERSION }} + dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1387,6 +1440,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1437,6 +1491,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1460,6 +1515,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1656,9 +1712,10 @@ jobs: if: (!(cancelled() || failure()) && needs.deploy-tgs.result == 'success') steps: - name: Setup dotnet - uses: actions/setup-dotnet@v2 + uses: actions/setup-dotnet@v3 with: - dotnet-version: ${{ env.TGS_DOTNET_VERSION }} + dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Checkout uses: actions/checkout@v3 @@ -1746,6 +1803,7 @@ jobs: uses: actions/setup-dotnet@v3 with: dotnet-version: '${{ env.TGS_DOTNET_VERSION }}.0.x' + dotnet-quality: ${{ env.TGS_DOTNET_QUALITY }} - name: Install winget uses: Cyberboss/install-winget@v1