69 lines
2.6 KiB
YAML
69 lines
2.6 KiB
YAML
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 8.0 SDK (x64)
|
|
# uses: actions/setup-dotnet@v3 # Use the latest version of setup-dotnet
|
|
# with:
|
|
# dotnet-version: '8.0.x' # Specify the desired .NET version
|
|
# architecture: 'x64' # Explicitly request the 64-bit architecture
|
|
|
|
# - 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 publish MarketData/MarketData/MarketData.csproj -c Debug -r linux-arm64 --self-contained=true
|
|
dotnet publish MarketDataServer/MarketDataServer.csproj -c Debug -r linux-arm64 --self-contained=true
|
|
dotnet publish IPMonitor/IPMonitor.csproj -c Debug -r linux-arm64 --self-contained=true
|
|
# dotnet build --configuration Debug --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/linux-arm64/publish
|
|
|
|
- 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/linux-arm64/publish
|
|
|
|
- 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/linux-arm64/publish
|
|
|
|
- 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
|