Skip to content

Fix unit tests stalling #624

Fix unit tests stalling

Fix unit tests stalling #624

Workflow file for this run

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: Build and Test
on:
push:
pull_request:
branches: [ "main" ]
jobs:
build:
name: Build, Test, and Upload Builds
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Set VERSION variable from tag (for tag pushes)
if: ${{ contains(github.ref, 'refs/tags') }}
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV
- name: Set VERSION variable from tag (for normal commits)
if: ${{ !contains(github.ref, 'refs/tags') }}
run: echo "VERSION=0.0.0" >> $GITHUB_ENV
- name: Print VERSION variable for debugging
run: echo "$VERSION"
- name: Restore
run: dotnet restore
- name: Test
run: dotnet test -c Release --verbosity normal
- name: Publish for Linux x64
run: dotnet publish -c Release -r linux-x64 --self-contained Refresh.GameServer /p:Version=${VERSION}
- name: Publish for Windows x64
run: dotnet publish -c Release -r win-x64 --self-contained Refresh.GameServer /p:Version=${VERSION}
- name: Download Refresh Website artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: ng.yml
workflow_conclusion: success
name: "Refresh Website"
repo: LittleBigRefresh/refresh-web
if_no_artifact_found: fail
path: "Refresh.GameServer/bin/Release/net7.0/linux-x64/publish/web"
- name: Copy artifact to windows build directory
run: cp -r "Refresh.GameServer/bin/Release/net7.0/linux-x64/publish/web" "Refresh.GameServer/bin/Release/net7.0/win-x64/publish/"
- name: Upload Linux x64 build
uses: actions/[email protected]
with:
name: "Refresh for Linux x64"
path: "Refresh.GameServer/bin/Release/net7.0/linux-x64/publish/"
if-no-files-found: error
retention-days: 30
- name: Upload Windows x64 build
uses: actions/[email protected]
with:
name: "Refresh for Windows x64"
path: "Refresh.GameServer/bin/Release/net7.0/win-x64/publish/"
if-no-files-found: error
retention-days: 30
- name: Generate API Documentation
run: dotnet run -c Release --no-build --project Refresh.GameServer -- --generate_docs
- name: Upload API Documentation
uses: actions/[email protected]
with:
name: "API Documentation"
path: "apiDocumentation.json"
if-no-files-found: error
retention-days: 30