mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-07-15 18:12:50 +01:00
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.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user