Refactor for Ruijie impl preparation #94
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: .NET | |
on: | |
push: | |
branches: [ master ] | |
env: | |
DOTNET_SDK_VERSION: '8.0.x' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNET_SDK_VERSION }} | |
- name: Build | |
run: dotnet build | |
publish-windows: | |
runs-on: windows-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNET_SDK_VERSION }} | |
- name: Publish Windows x64 Release | |
run: | | |
dotnet publish SysuSurf/SysuSurf.csproj -c Release -r win-x64 -o WindowsBuildx64 /p:PublishAot=true | |
del WindowsBuildx64\*.pdb | |
- name: Upload Windows x64 artifact | |
uses: actions/upload-artifact@v1.0.0 | |
with: | |
name: Windows_x64 | |
path: WindowsBuildx64 | |
- name: Publish Windows ARM64 Release | |
run: | | |
dotnet publish SysuSurf/SysuSurf.csproj -c Release -r win-arm64 -o WindowsBuildArm64 /p:PublishAot=true | |
del WindowsBuildArm64\*.pdb | |
- name: Upload Windows ARM64 artifact | |
uses: actions/upload-artifact@v1.0.0 | |
with: | |
name: Windows_ARM64 | |
path: WindowsBuildArm64 | |
publish-linux-x64: | |
runs-on: ubuntu-latest | |
needs: build | |
container: | |
image: mcr.microsoft.com/dotnet/sdk:8.0-alpine | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Publish Linux x64 Release | |
run: | | |
apk --no-cache add clang openssl-dev openssl-libs-static libpcap-dev cmake krb5-dev zlib-dev binutils libc-dev build-base zlib-static flex bison alpine-sdk linux-headers xz | |
chmod +x ./build_libpcap_amd64.sh | |
./build_libpcap_amd64.sh | |
dotnet publish SysuSurf/SysuSurf.csproj -c Release -r linux-musl-x64 -o LinuxBuildx64 /p:PublishAot=true /p:LibPcapSearchPath=$(pwd)/libpcap-1.10.4 | |
rm -f LinuxBuildx64/*.pdb LinuxBuildx64/*.dbg | |
- name: Upload Linux x64 artifact | |
uses: actions/upload-artifact@v1.0.0 | |
with: | |
name: Linux_x64 | |
path: LinuxBuildx64 | |
publish-linux-arm64: | |
runs-on: ubuntu-latest | |
needs: build | |
container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm64-alpine | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNET_SDK_VERSION }} | |
- name: Publish Linux ARM64 Release | |
run: | | |
apt install flex bison | |
chmod +x ./build_libpcap_aarch64.sh | |
./build_libpcap_aarch64.sh | |
dotnet publish SysuSurf/SysuSurf.csproj -c Release -r linux-musl-arm64 -o LinuxBuildArm64 /p:PublishAot=true /p:CppCompilerAndLinker=clang-17 /p:SysRoot=/crossrootfs/arm64 /p:LibPcapSearchPath=$(pwd)/libpcap-1.10.4 /p:LinkerFlavor=lld /p:ObjCopyName=$(pwd)/aarch64-linux-musl-cross/bin/aarch64-linux-musl-objcopy /p:_PatchOpenSslStaticLinkingOnArm64Ci=true | |
rm -f LinuxBuildArm64/*.pdb LinuxBuildArm64/*.dbg | |
- name: Upload Linux ARM64 artifact | |
uses: actions/upload-artifact@v1.0.0 | |
with: | |
name: Linux_ARM64 | |
path: LinuxBuildArm64 | |
publish-macos: | |
runs-on: macos-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNET_SDK_VERSION }} | |
- name: Publish macOS ARM64 Release | |
run: | | |
dotnet publish SysuSurf/SysuSurf.csproj -c Release -r osx-arm64 -o macOSBuildArm64 /p:PublishAot=true | |
rm -rf macOSBuildArm64/SysuSurf.dsym | |
rm -f macOSBuildArm64/*.pdb | |
- name: Upload macOS ARM64 artifact | |
uses: actions/upload-artifact@v1.0.0 | |
with: | |
name: macOS_ARM64 | |
path: macOSBuildArm64 |