Tracy #5386
Workflow file for this run
This file contains 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: Build, Test & Release | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup submodule | |
run: | | |
git submodule update --init --recursive | |
- name: Pull engine updates | |
uses: space-wizards/[email protected] | |
- name: Update Engine Submodules | |
run: | | |
cd RobustToolbox/ | |
git submodule update --init --recursive | |
- name: Setup .NET Core | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 8.0.100 | |
- name: Install dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --property WarningLevel=${{ matrix.os == 'ubuntu-latest' && '4' || '0' }} --configuration Release --no-restore /m | |
- name: Content.Tests | |
shell: pwsh | |
run: | | |
$env:COMPlus_gcServer=1 | |
dotnet test --no-build Content.Tests/Content.Tests.csproj -v n | |
- name: Content.IntegrationTests | |
shell: pwsh | |
run: | | |
$env:COMPlus_gcServer=1 | |
dotnet test --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -v n | |
- name: Publish OpenDream | |
if: github.event_name == 'push' | |
run: | | |
dotnet run --project OpenDreamPackageTool --no-build --configuration Release -- --server --hybrid-acz --configuration Release --platform ${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} --output output_release/ | |
dotnet run --project OpenDreamPackageTool --no-build --configuration Release -- --server --hybrid-acz --configuration Tools --platform ${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} --output output_tools/ | |
- name: Publish DMCompiler | |
if: github.event_name == 'push' | |
run: dotnet publish DMCompiler -c Release -o output_release/DMCompiler_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} | |
- name: Gzip releases | |
if: github.event_name == 'push' | |
run: | | |
tar -czvf output_release/DMCompiler_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }}.tar.gz -C output_release DMCompiler_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} | |
tar -czvf output_release/OpenDreamServer_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }}.tar.gz -C output_release OpenDreamServer_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} | |
tar -czvf output_tools/OpenDreamServer_TOOLS_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }}.tar.gz -C output_tools OpenDreamServer_${{ matrix.os == 'windows-latest' && 'win-x64' || 'linux-x64' }} | |
- name: Upload artifact | |
if: github.event_name == 'push' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build-${{ matrix.os }} | |
path: | | |
output_release/*.tar.gz | |
output_tools/*.tar.gz | |
retention-days: 1 | |
release: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Publish latest release | |
uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Development Build" | |
files: | | |
artifacts/*/*/*.tar.gz | |