From 2aeeff930304fc131e20780c8fefa6ba3977f02a Mon Sep 17 00:00:00 2001 From: Dominion Date: Sat, 29 Apr 2023 12:03:29 -0400 Subject: [PATCH] Workaround for GitHub runner bug https://github.com/actions/runner/issues/2205 Also fixes ordering of TGS deploy dependencies. The graph is honestly better this way. --- .github/workflows/ci-suite.yml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-suite.yml b/.github/workflows/ci-suite.yml index 26c92ff1e7..4671343bb1 100644 --- a/.github/workflows/ci-suite.yml +++ b/.github/workflows/ci-suite.yml @@ -62,6 +62,7 @@ jobs: analyze: name: Code Scanning needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' runs-on: ubuntu-latest steps: - name: Install Node 12.X @@ -99,6 +100,7 @@ jobs: dmapi-build: name: Build DMAPI needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' env: BYOND_MAJOR: 515 BYOND_MINOR: 1592 @@ -156,6 +158,7 @@ jobs: name: Build Doxygen Site runs-on: ubuntu-latest needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' steps: - name: Checkout (Branch Push) uses: actions/checkout@v3 @@ -205,6 +208,7 @@ jobs: name: Build Docker Image runs-on: ubuntu-latest needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' steps: - name: Checkout (Branch Push) uses: actions/checkout@v3 @@ -222,6 +226,7 @@ jobs: linux-unit-tests: name: Linux Tests needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' strategy: fail-fast: false matrix: @@ -261,6 +266,7 @@ jobs: windows-unit-tests: name: Windows Tests needs: start-ci-run-gate + if: always() && needs.start-ci-run-gate.result == 'success' strategy: fail-fast: false matrix: @@ -300,6 +306,7 @@ jobs: windows-integration-test: name: Windows Live Tests needs: dmapi-build + if: always() && needs.dmapi-build.result == 'success' env: TGS_TEST_DATABASE_TYPE: SqlServer TGS_TEST_DUMP_API_SPEC: yes @@ -379,6 +386,7 @@ jobs: linux-integration-tests: name: Linux Live Tests needs: dmapi-build + if: always() && needs.dmapi-build.result == 'success' services: # We start all dbs here so we can just code the stuff once postgres: image: cyberboss/postgres-max-connections # Fork of _/postgres:latest with max_connections=500 becuase GitHub actions service containers have no way to set command lines. Rebuilds with updates. @@ -530,6 +538,7 @@ jobs: validate-openapi-spec: name: OpenAPI Spec Validation needs: windows-integration-test + if: always() && needs.windows-integration-test.result == 'success' runs-on: ubuntu-latest steps: - name: Install Node 12.X @@ -562,6 +571,7 @@ jobs: upload-code-coverage: name: Upload Code Coverage needs: [linux-unit-tests, linux-integration-tests, windows-unit-tests, windows-integration-test] + if: always() && needs.linux-unit-tests.result == 'success' && needs.linux-integration-tests.result == 'success' && needs.windows-unit-tests.result == 'success' && needs.windows-integration-test.result == 'success' runs-on: ubuntu-latest steps: - name: Checkout (Branch Push) @@ -651,7 +661,7 @@ jobs: name: Deploy HTTP API needs: [upload-code-coverage, validate-openapi-spec] runs-on: windows-latest - if: github.event_name == 'push' && contains(github.event.head_commit.message, '[APIDeploy]') + if: always() && needs.upload-code-coverage.result == 'success' && needs.validate-openapi-spec.result == 'success' && github.event_name == 'push' && contains(github.event.head_commit.message, '[APIDeploy]') steps: - name: Checkout (Branch Push) uses: actions/checkout@v3 @@ -701,7 +711,7 @@ jobs: name: Deploy DreamMaker API needs: [upload-code-coverage, validate-openapi-spec] runs-on: windows-latest - if: github.event_name == 'push' && contains(github.event.head_commit.message, '[DMDeploy]') + if: always() && needs.upload-code-coverage.result == 'success' && needs.validate-openapi-spec.result == 'success' && github.event_name == 'push' && contains(github.event.head_commit.message, '[DMDeploy]') steps: - name: Checkout (Branch Push) uses: actions/checkout@v3 @@ -750,7 +760,7 @@ jobs: name: Deploy Nuget Packages needs: [upload-code-coverage, validate-openapi-spec] runs-on: ubuntu-latest - if: github.event_name == 'push' && contains(github.event.head_commit.message, '[NugetDeploy]') + if: always() && needs.upload-code-coverage.result == 'success' && needs.validate-openapi-spec.result == 'success' && github.event_name == 'push' && contains(github.event.head_commit.message, '[NugetDeploy]') steps: - name: Setup dotnet uses: actions/setup-dotnet@v2 @@ -787,7 +797,7 @@ jobs: name: Ensure TGS Release is Latest GitHub Release needs: [deploy-dm, deploy-http] runs-on: ubuntu-latest - if: always() && github.event_name == 'push' && !contains(github.event.head_commit.message, '[TGSDeploy]') && (contains(github.event.head_commit.message, '[APIDeploy]') || contains(github.event.head_commit.message, '[DMDeploy]')) + if: always() && (needs.deploy-dm.result == 'success' || needs.deploy-http.result == 'success') && !contains(github.event.head_commit.message, '[TGSDeploy]') steps: - name: Setup dotnet uses: actions/setup-dotnet@v2 @@ -809,9 +819,9 @@ jobs: deploy-tgs: name: Deploy TGS - needs: [upload-code-coverage, validate-openapi-spec] + needs: [deploy-dm, deploy-http, upload-code-coverage, validate-openapi-spec] runs-on: windows-latest - if: github.event_name == 'push' && github.event.ref == 'refs/heads/master' && contains(github.event.head_commit.message, '[TGSDeploy]') + if: always() && (needs.upload-code-coverage.result == 'success' || needs.validate-openapi-spec.result == 'success') && github.event_name == 'push' && github.event.ref == 'refs/heads/master' && contains(github.event.head_commit.message, '[TGSDeploy]') steps: - name: Setup dotnet uses: actions/setup-dotnet@v2 @@ -934,6 +944,7 @@ jobs: deploy-docker: name: Deploy TGS (Docker) needs: [deploy-tgs] + if: always() && needs.deploy-tgs.result == 'success' runs-on: ubuntu-latest steps: - name: Checkout (Branch Push)