diff --git a/.github/workflows/build-test-debug.yml b/.github/workflows/build-test-debug.yml new file mode 100644 index 0000000000..c929fce6b9 --- /dev/null +++ b/.github/workflows/build-test-debug.yml @@ -0,0 +1,64 @@ +name: Build & Test Debug + +on: + push: + branches: [ master ] + paths: + - '**.cs' + - '**.csproj' + - '**.sln' + - '**.git**' + - '**.yml' + # no docs on which one of these is supposed to work, so + # why not just do both + - 'RobustToolbox' + - 'RobustToolbox/**' + pull_request: + branches: [ master ] + paths: + - '**.cs' + - '**.csproj' + - '**.sln' + - '**.git**' + - '**.yml' + - 'RobustToolbox' + - 'RobustToolbox/**' + +jobs: + build: + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout Master + uses: actions/checkout@v2 + + - name: Setup Submodule + run: | + git submodule update --init --recursive + + - name: Pull engine updates + uses: space-wizards/submodule-dependency@v0.1.5 + + - name: Update Engine Submodules + run: | + cd RobustToolbox/ + git submodule update --init --recursive + + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.0.x + + - name: Install dependencies + run: dotnet restore + + - name: Build Project + run: dotnet build --configuration Debug --no-restore /p:WarningsAsErrors=nullable /m + + - name: Run Content.Tests + run: dotnet test --no-build Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 + diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test-release.yml similarity index 98% rename from .github/workflows/build-test.yml rename to .github/workflows/build-test-release.yml index 9b2574b6cd..0eb56e033c 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test-release.yml @@ -1,4 +1,4 @@ -name: Build & Test +name: Build & Test Release on: push: diff --git a/.github/workflows/test-packaging.yml b/.github/workflows/test-packaging.yml new file mode 100644 index 0000000000..e7e4584062 --- /dev/null +++ b/.github/workflows/test-packaging.yml @@ -0,0 +1,56 @@ +name: Test Packaging + +on: + push: + branches: [ master ] + paths: + - '**.cs' + - '**.csproj' + - '**.sln' + - '**.git**' + - '**.yml' + # no docs on which one of these is supposed to work, so + # why not just do both + - 'RobustToolbox' + - 'RobustToolbox/**' + pull_request: + branches: [ master ] + paths: + - '**.cs' + - '**.csproj' + - '**.sln' + - '**.git**' + - '**.yml' + - 'RobustToolbox' + - 'RobustToolbox/**' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.0.100 + + - name: Get Engine Tag + run: | + cd RobustToolbox + git fetch --depth=1 + + - name: Package client + run: | + Tools/package_server_build.py -p win-x64 linux-x64 osx-x64 linux-arm64 + Tools/package_client_build.py + + - name: Update Build Info + run: Tools/gen_build_info.py + + - name: Shuffle files around + run: | + mkdir "release/${{ github.sha }}" + mv release/*.zip "release/${{ github.sha }}"