name: Build .NET Project on: push: branches: - main # Trigger on pushes to the main branch jobs: build: runs-on: arm64 # Use the ARM64 runner steps: - name: Checkout code uses: actions/checkout@v3 # Action to checkout your repository. actions/checkout@v4 fails with syntax error # - name: Setup .NET SDK # uses: actions/setup-dotnet@v4 # Action to install a specific .NET SDK version # with: # dotnet-version: '8.0.x' # Specify the desired .NET SDK version - name: Restore dependencies run: dotnet restore # Restore NuGet packages - name: Build project run: | pwd dotnet build /p:Platform="Any CPU" # dotnet build --configuration "Any CPU" --no-restore # Build the project in Debug configuration - name: Create Market Data archive with preserved permissions run: tar -czvf marketdata.tar.gz MarketData/MarketData/bin/Debug/net8.0 - name: Upload Market Data Build Artifact uses: actions/upload-artifact@v3 with: name: marketdata-build-artifact path: marketdata.tar.gz - name: Create Market Data Server archive with preserved permissions run: tar -czvf marketdata-server.tar.gz MarketDataServer/bin/Debug/net8.0 - name: Upload Market Data Server Build Artifact uses: actions/upload-artifact@v3 with: name: marketdata-server-build-artifact path: marketdata-server.tar.gz - name: Create IPMonitor archive with preserved permissions run: tar -czvf ipmonitor.tar.gz IPMonitor/bin/Debug/net8.0 - name: Upload IPMonitor Build Artifact uses: actions/upload-artifact@v3 with: name: ipmonitor-build-artifact path: ipmonitor.tar.gz # - name: Run tests (optional) # run: dotnet test --no-build # Run unit tests if available