diff --git a/.github/workflows/ci-suite.yml b/.github/workflows/ci-suite.yml index a80a9e9d12..f9a8348888 100644 --- a/.github/workflows/ci-suite.yml +++ b/.github/workflows/ci-suite.yml @@ -965,633 +965,3 @@ jobs: with: name: windows-unit-test-coverage-${{ matrix.configuration }} path: ./TestResults/ - - windows-integration-test: - name: Windows Integration Test - needs: dmapi-build - env: - TGS4_TEST_DATABASE_TYPE: SqlServer - TGS4_TEST_DUMP_API_SPEC: yes - strategy: - matrix: - watchdog-type: [ 'Basic', 'System' ] - configuration: [ 'Debug', 'Release' ] - runs-on: windows-latest - steps: - - name: Set General__UseBasicWatchdog - if: ${{ matrix.watchdog-type == 'Basic' }} - run: echo "::set-env name=General__UseBasicWatchdog::true" - - - name: Set TGS4_TEST_CONNECTION_STRING - run: echo "::set-env name=TGS4_TEST_CONNECTION_STRING::Server=(localdb)\MSSQLLocalDB;Integrated Security=true;Initial Catalog=TGS_${{ matrix.watchdog-type }}_${{ matrix.configuration }};Application Name=tgstation-server" - - - name: Checkout - uses: actions/checkout@v1 - - - name: Set TGS4_TEST_PULL_REQUEST_NUMBER - if: ${{ github.event_name == 'pull_request' }} - run: echo "::set-env name=TGS4_TEST_PULL_REQUEST_NUMBER::${{ github.event.number }}" - - - name: Set TGS4_GITHUB_REF for PR - if: ${{ github.event_name == 'pull_request' }} - run: echo "::set-env name=TGS4_GITHUB_REF::${{ github.event.base_ref }}" - - - name: Set TGS4_GITHUB_REF for push - if: ${{ github.event_name == 'push' }} - run: echo "::set-env name=TGS4_GITHUB_REF::${{ github.event.ref }}" - - - name: Run Integration Test - run: | - cd tests/Tgstation.Server.Tests - Start-Sleep -Seconds 10 - dotnet test -c ${{ matrix.configuration }} -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ./TestResults - - - name: Store Code Coverage - uses: actions/upload-artifact@v2 - with: - name: windows-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }} - path: tests/Tgstation.Server.Tests/TestResults/ - - - name: Store OpenAPI Spec - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' }} - uses: actions/upload-artifact@v2 - with: - name: openapi-spec - path: C:/swagger.json - - - name: Package Server Service - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'Basic' }} - run: | - cd src/Tgstation.Server.Host.Service - dotnet publish -c ${{ matrix.configuration }} -o ../../Artifacts/Service - cd ../Tgstation.Server.Host - dotnet publish -c ${{ matrix.configuration }} --no-build -o ../../Artifacts/Service/lib/Default - - - name: Store Server Service - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'Basic' }} - uses: actions/upload-artifact@v2 - with: - name: ServerService - path: Artifacts/Service/ - - linux-integration-tests: - name: Linux Integration Test - needs: dmapi-build - services: # We start all dbs here so we can just code the stuff once - postgres: - image: postgres - ports: - - 5432:5432 - env: - POSTGRES_PASSWORD: postgres - # Set health checks to wait until postgres has started - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - mariadb: - image: mariadb - ports: - - 3306:3306 - env: - MYSQL_ROOT_PASSWORD: mariadb - options: >- - --health-cmd="mysqladmin ping" - --health-interval=5s - --health-timeout=2s - --health-retries=3 - mysql: - image: mysql:5.7.31 - ports: - - 3307:3306 - env: - MYSQL_ROOT_PASSWORD: mysql - options: >- - --health-cmd="mysqladmin ping" - --health-interval=10s - --health-timeout=5s - --health-retries=3 - strategy: - matrix: - database-type: [ 'Sqlite', 'PostgresSql', 'MariaDB', 'MySql' ] - watchdog-type: [ 'Basic', 'System' ] - configuration: [ 'Debug', 'Release' ] - runs-on: ubuntu-latest - steps: - - name: Disable ptrace_scope - run: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope - - - name: Install Native Dependencies - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update - sudo apt-get install -y libc6-i386 libstdc++6:i386 gdb - - - name: Install Node 12.X - uses: actions/setup-node@v1 - with: - node-version: 12.x - - - name: Setup dotnet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{ matrix.dotnet }} - - - name: Set Sqlite Connection Info - if: ${{ matrix.database-type == 'Sqlite' }} - run: | - echo "::set-env name=TGS4_TEST_DATABASE_TYPE::Sqlite" - echo "::set-env name=TGS4_TEST_CONNECTION_STRING::Data Source=TGS_${{ matrix.watchdog-type }}_${{ matrix.configuration }}.sqlite3;Mode=ReadWriteCreate" - - - name: Set PostgresSql Connection Info - if: ${{ matrix.database-type == 'PostgresSql' }} - run: | - echo "::set-env name=TGS4_TEST_DATABASE_TYPE::PostgresSql" - echo "::set-env name=TGS4_TEST_CONNECTION_STRING::Application Name=tgstation-server;Host=127.0.0.1;Username=postgres;Password=postgres;Database=TGS__${{ matrix.watchdog-type }}_${{ matrix.configuration }}" - - - name: Set MariaDB Connection Info - if: ${{ matrix.database-type == 'MariaDB' }} - run: | - echo "::set-env name=TGS4_TEST_DATABASE_TYPE::MariaDB" - echo "::set-env name=TGS4_TEST_CONNECTION_STRING::Server=127.0.0.1;uid=root;pwd=mariadb;database=tgs__${{ matrix.watchdog-type }}_${{ matrix.configuration }}" - - - name: Set MySQL Connection Info - if: ${{ matrix.database-type == 'MySql' }} - run: | - echo "::set-env name=TGS4_TEST_DATABASE_TYPE::MySql" - echo "::set-env name=TGS4_TEST_CONNECTION_STRING::Server=127.0.0.1;Port=3307;uid=root;pwd=mysql;database=tgs__${{ matrix.watchdog-type }}_${{ matrix.configuration }}" - echo "::set-env name=Database__ServerVersion::5.7.31" - - - name: Set General__UseBasicWatchdog - if: ${{ matrix.watchdog-type == 'Basic' }} - run: echo "::set-env name=General__UseBasicWatchdog::true" - - - name: Checkout - uses: actions/checkout@v1 - - - name: Set TGS4_TEST_PULL_REQUEST_NUMBER - if: ${{ github.event_name == 'pull_request' }} - run: echo "::set-env name=TGS4_TEST_PULL_REQUEST_NUMBER::${{ github.event.number }}" - - - name: Set TGS4_GITHUB_REF for PR - if: ${{ github.event_name == 'pull_request' }} - run: echo "::set-env name=TGS4_GITHUB_REF::${{ github.event.base_ref }}" - - - name: Set TGS4_GITHUB_REF for push - if: ${{ github.event_name == 'push' }} - run: echo "::set-env name=TGS4_GITHUB_REF::${{ github.event.ref }}" - - - name: Run Integration Test - run: | - cd tests/Tgstation.Server.Tests - sleep 10 - dotnet test -c ${{ matrix.configuration }} -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ./TestResults - - - name: Store Code Coverage - uses: actions/upload-artifact@v2 - with: - name: linux-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }}-${{ matrix.database-type }} - path: tests/Tgstation.Server.Tests/TestResults/ - - - name: Package Server Console - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'MariaDB' }} - run: | - cd src/Tgstation.Server.Host.Console - dotnet publish -c ${{ matrix.configuration }} -o ../../Artifacts/Console - cd ../Tgstation.Server.Host - dotnet publish -c ${{ matrix.configuration }} --no-build -o ../../Artifacts/Console/lib/Default - - - name: Package Server Update Package - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'PostgresSql' }} - run: | - cd src/Tgstation.Server.Host - dotnet publish -c ${{ matrix.configuration }} --no-build -o ../../Artifacts/ServerUpdate - - - name: Store Server Console - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'MariaDB' }} - uses: actions/upload-artifact@v2 - with: - name: ServerConsole - path: Artifacts/Console/ - - - name: Store Server Update Package - if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'PostgresSql' }} - uses: actions/upload-artifact@v2 - with: - name: ServerUpdatePackage - path: Artifacts/ServerUpdate/ - - validate-openapi-spec: - name: OpenAPI Spec Validation - needs: windows-integration-test - runs-on: ubuntu-latest - steps: - - name: Install Node 12.X - uses: actions/setup-node@v1 - with: - node-version: 12.x - - - name: Install IBM OpenAPI Validator - run: npm i -g ibm-openapi-validator - - - name: Checkout - uses: actions/checkout@v1 - - - name: Retrieve OpenAPI Spec - uses: actions/download-artifact@v2 - with: - name: openapi-spec - path: ./swagger - - - name: Lint OpenAPI Spec - run: npx lint-openapi -p -c build/OpenApiValidationSettings.json ./swagger/swagger.json - - upload-code-coverage: - name: Upload Code Coverage - needs: [linux-unit-tests, linux-integration-tests, windows-unit-tests, windows-integration-test] - runs-on: ubuntu-latest - steps: - - name: Checkout for .codecov.yml - uses: actions/checkout@v1 - - - name: Retrieve Linux Unit Test Coverage (Debug) - uses: actions/download-artifact@v2 - with: - name: linux-unit-test-coverage-Debug - path: ./code_coverage/unit_tests/linux_unit_tests_debug - - - name: Retrieve Linux Unit Test Coverage (Release) - uses: actions/download-artifact@v2 - with: - name: linux-unit-test-coverage-Release - path: ./code_coverage/unit_tests/linux_unit_tests_release - - - name: Retrieve Linux Integration Test Coverage (Debug, Basic, Sqlite) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-Basic-Sqlite - path: ./code_coverage/integration_tests/linux_integration_tests_debug_basic_sqlite - - - name: Retrieve Linux Integration Test Coverage (Release, Basic, Sqlite) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-Basic-Sqlite - path: ./code_coverage/integration_tests/linux_integration_tests_release_basic_sqlite - - - name: Retrieve Linux Integration Test Coverage (Debug, System, Sqlite) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-System-Sqlite - path: ./code_coverage/integration_tests/linux_integration_tests_debug_system_sqlite - - - name: Retrieve Linux Integration Test Coverage (Release, System, Sqlite) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-System-Sqlite - path: ./code_coverage/integration_tests/linux_integration_tests_release_system_sqlite - - - name: Retrieve Linux Integration Test Coverage (Debug, Basic, PostgresSql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-Basic-PostgresSql - path: ./code_coverage/integration_tests/linux_integration_tests_debug_basic_postgressql - - - name: Retrieve Linux Integration Test Coverage (Release, Basic, PostgresSql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-Basic-PostgresSql - path: ./code_coverage/integration_tests/linux_integration_tests_release_basic_postgressql - - - name: Retrieve Linux Integration Test Coverage (Debug, System, PostgresSql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-System-PostgresSql - path: ./code_coverage/integration_tests/linux_integration_tests_debug_system_postgressql - - - name: Retrieve Linux Integration Test Coverage (Release, System, PostgresSql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-System-PostgresSql - path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mariadb - - - name: Retrieve Linux Integration Test Coverage (Debug, Basic, MariaDB) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-Basic-MariaDB - path: ./code_coverage/integration_tests/linux_integration_tests_debug_basic_mariadb - - - name: Retrieve Linux Integration Test Coverage (Release, Basic, MariaDB) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-Basic-MariaDB - path: ./code_coverage/integration_tests/linux_integration_tests_release_basic_mariadb - - - name: Retrieve Linux Integration Test Coverage (Debug, System, MariaDB) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-System-MariaDB - path: ./code_coverage/integration_tests/linux_integration_tests_debug_system_mariadb - - - name: Retrieve Linux Integration Test Coverage (Release, System, MariaDB) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-System-MariaDB - path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mysql - - - name: Retrieve Linux Integration Test Coverage (Debug, Basic, MySql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-Basic-MySql - path: ./code_coverage/integration_tests/linux_integration_tests_debug_basic_mysql - - - name: Retrieve Linux Integration Test Coverage (Release, Basic, MySql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-Basic-MySql - path: ./code_coverage/integration_tests/linux_integration_tests_release_basic_mysql - - - name: Retrieve Linux Integration Test Coverage (Debug, System, MySql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Debug-System-MySql - path: ./code_coverage/integration_tests/linux_integration_tests_debug_system_mysql - - - name: Retrieve Linux Integration Test Coverage (Release, System, MySql) - uses: actions/download-artifact@v2 - with: - name: linux-integration-test-coverage-Release-System-MySql - path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mysql - - - name: Retrieve Windows Unit Test Coverage (Debug) - uses: actions/download-artifact@v2 - with: - name: windows-unit-test-coverage-Debug - path: ./code_coverage/unit_tests/windows_unit_tests_debug - - - name: Retrieve Windows Unit Test Coverage (Release) - uses: actions/download-artifact@v2 - with: - name: windows-unit-test-coverage-Release - path: ./code_coverage/unit_tests/windows_unit_tests_release - - - name: Retrieve Windows Integration Test Coverage (Debug, Basic) - uses: actions/download-artifact@v2 - with: - name: windows-integration-test-coverage-Debug-Basic - path: ./code_coverage/integration_tests/windows_integration_tests_debug_basic - - - name: Retrieve Windows Integration Test Coverage (Release, Basic) - uses: actions/download-artifact@v2 - with: - name: windows-integration-test-coverage-Release-Basic - path: ./code_coverage/integration_tests/windows_integration_tests_release_basic - - - name: Retrieve Windows Integration Test Coverage (Debug, System) - uses: actions/download-artifact@v2 - with: - name: windows-integration-test-coverage-Debug-System - path: ./code_coverage/integration_tests/windows_integration_tests_debug_system - - - name: Retrieve Windows Integration Test Coverage (Release, System) - uses: actions/download-artifact@v2 - with: - name: windows-integration-test-coverage-Release-System - path: ./code_coverage/integration_tests/windows_integration_tests_release_system - - - name: Upload Unit Test Coverage to CodeCov - uses: codecov/codecov-action@v1 - with: - directory: ./code_coverage/unit_tests - flags: unittests - fail_ci_if_error: true - - - name: Upload Integration Test Coverage to CodeCov - uses: codecov/codecov-action@v1 - with: - directory: ./code_coverage/integration_tests - flags: integration - fail_ci_if_error: true - - deploy-http: - name: Deploy HTTP API - needs: [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, '[APIDeploy]') - steps: - - name: Checkout - uses: actions/checkout@v1 - - - name: Parse API version - shell: powershell - run: | - [XML]$versionXML = Get-Content build/Version.props - $apiVersion = $versionXML.Project.PropertyGroup.TgsApiVersion - Write-Host "::set-env name=TGS_API_VERSION::$apiVersion" - - - name: Retrieve OpenAPI Spec - uses: actions/download-artifact@v2 - with: - name: openapi-spec - path: swagger - - - name: Create GitHub Release - uses: juitnow/github-action-create-release@v1 - id: create_release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: api-v${{ env.TGS_API_VERSION }} - release_name: tgstation-server 4 API v${{ env.TGS_API_VERSION }} - body: The TGS HTTP API - commitish: ${{ github.event.head_commit.id }} - - - name: Upload OpenApi Spec - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./swagger/swagger.json - asset_name: swagger.json - asset_content_type: application/json - - deploy-dm: - name: Deploy DreamMaker API - needs: [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, '[DMDeploy]') - steps: - - - name: Checkout - uses: actions/checkout@v1 - - - name: Parse DMAPI version - shell: powershell - run: | - [XML]$versionXML = Get-Content build/Version.props - $dmVersion = $versionXML.Project.PropertyGroup.TgsDmapiVersion - Write-Host "::set-env name=TGS_DM_VERSION::$dmVersion" - - - name: Zip DMAPI - shell: powershell - run: | - &"C:/Program Files/7-Zip/7z.exe" a DMAPI.zip ./src/DMAPI/* -tzip - - - name: Create GitHub Release - uses: juitnow/github-action-create-release@v1 - id: create_release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: dmapi-v${{ env.TGS_DM_VERSION }} - release_name: tgstation-server 4 DMAPI v${{ env.TGS_DM_VERSION }} - body: The TGS DMAPI - commitish: ${{ github.event.head_commit.id }} - - - name: Upload DMAPI Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./DMAPI.zip - asset_name: DMAPI.zip - asset_content_type: application/zip - - deploy-client: - name: Deploy Nuget Packages - needs: [upload-code-coverage, validate-openapi-spec] - runs-on: ubuntu-latest - if: github.event_name == 'push' && github.event.ref == 'refs/heads/master' && contains(github.event.head_commit.message, '[NugetDeploy]') - steps: - - name: Checkout - uses: actions/checkout@v1 - - - name: Publish API to NuGet - uses: rohith/publish-nuget@v2 - with: - PROJECT_FILE_PATH: src/Tgstation.Server.Api/Tgstation.Server.Api.csproj - TAG_COMMIT: false - INCLUDE_SYMBOLS: true - NUGET_KEY: ${{ secrets.NUGET_API_KEY }} - - - name: Publish Client to NuGet - uses: rohith/publish-nuget@v2 - with: - PROJECT_FILE_PATH: src/Tgstation.Server.Client/Tgstation.Server.Client.csproj - TAG_COMMIT: false - INCLUDE_SYMBOLS: true - NUGET_KEY: ${{ secrets.NUGET_API_KEY }} - - deploy-tgs: - name: Deploy TGS - needs: [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]') - steps: - - name: Checkout - uses: actions/checkout@v1 - - - name: Parse TGS version - shell: powershell - run: | - [XML]$versionXML = Get-Content build/Version.props - $tgsVersion = $versionXML.Project.PropertyGroup.TgsCoreVersion - Write-Host "::set-env name=TGS_VERSION::$tgsVersion" - - - name: Retrieve Server Service - uses: actions/download-artifact@v2 - with: - name: ServerService - path: ServerService - - - name: Retrieve Server Console - uses: actions/download-artifact@v2 - with: - name: ServerConsole - path: ServerConsole - - - name: Retrieve Server Update Package - uses: actions/download-artifact@v2 - with: - name: ServerUpdatePackage - path: ServerUpdatePackage - - - name: Retrieve OpenAPI Spec - uses: actions/download-artifact@v2 - with: - name: openapi-spec - path: swagger - - - name: Zip Artifacts - shell: powershell - run: | - &"C:/Program Files/7-Zip/7z.exe" a DMAPI.zip ./src/DMAPI/* -tzip - &"C:/Program Files/7-Zip/7z.exe" a ServerService.zip ./ServerService/* -tzip - &"C:/Program Files/7-Zip/7z.exe" a ServerConsole.zip ./ServerConsole/* -tzip - &"C:/Program Files/7-Zip/7z.exe" a ServerUpdatePackage.zip ./ServerUpdatePackage/* -tzip - - - name: Generate Release Notes - run: dotnet run -c Release -p tools/ReleaseNotes ${{ env.TGS_VERSION }} build/Version.props - - - name: Create GitHub Release - uses: actions/create-release@v1 - id: create_release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token - with: - tag_name: tgstation-server-v${{ env.TGS_VERSION }} - release_name: tgstation-server-v${{ env.TGS_VERSION }} - body_path: release_notes.md - commitish: ${{ github.event.head_commit.id }} - - - name: Upload Server Console Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ServerConsole.zip - asset_name: ServerConsole.zip - asset_content_type: application/zip - - - name: Upload Server Service Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ServerService.zip - asset_name: ServerService.zip - asset_content_type: application/zip - - - name: Upload DMAPI Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./DMAPI.zip - asset_name: DMAPI.zip - asset_content_type: application/zip - - - name: Upload OpenApi Spec Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./swagger/swagger.json - asset_name: swagger.json - asset_content_type: application/json - - - name: Upload Server Update Package Artifact - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ServerUpdatePackage.zip - asset_name: ServerUpdatePackage.zip - asset_content_type: application/zip