Build 9.0.0 release #33
Workflow file for this run
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: Build .NET SDK | |
on: [workflow_dispatch, pull_request] | |
jobs: | |
run: | |
runs-on: ubuntu-latest | |
container: | |
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-riscv64 | |
env: | |
PACKAGESDIR: ${{ github.workspace }}/packages | |
DOWNLOADDIR: ${{ github.workspace }}/downloads | |
OUTPUTDIR: ${{ github.workspace }}/output | |
RUNTIME_VERSION: 9.0.0-rtm.23531.3 | |
SDK_VERSION: 9.0.0-rtm.23551.6 | |
ASPNETCORE_VERSION: 9.0.0-rtm.23531.12 | |
ROOTFS_DIR: /crossrootfs/riscv64 | |
volumes: | |
- ${{ github.workspace }}/output:${{ github.workspace }}/output | |
steps: | |
- name: Clone repositories | |
run: | | |
git clone --depth 1 https://github.com/dotnet/runtime | |
git clone --depth 1 https://github.com/dotnet/aspnetcore --recurse-submodules | |
git clone --depth 1 https://github.com/dotnet/sdk | |
git clone --depth 1 https://github.com/dotnet/installer | |
- name: Update Node.js | |
run: | | |
apt-get update | |
apt-get autoremove -y nodejs | |
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && apt-get install -y nodejs | |
- name: Build runtime | |
run: | | |
mkdir -p ${PACKAGESDIR} | |
mkdir -p ${DOWNLOADDIR} | |
mkdir -p ${OUTPUTDIR} | |
cd runtime | |
sed -i 's|ppc64le|riscv64|' eng/Subsets.props | |
./build.sh --ci -c Release --cross --arch riscv64 | |
cp artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Host.linux-riscv64.*.nupkg ${PACKAGESDIR} | |
cp artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Runtime.linux-riscv64.*.nupkg ${PACKAGESDIR} | |
mkdir -p ${DOWNLOADDIR}/Runtime/${RUNTIME_VERSION} | |
cp artifacts/packages/Release/Shipping/dotnet-runtime-*-linux-riscv64.tar.gz ${DOWNLOADDIR}/Runtime/${RUNTIME_VERSION} | |
cp artifacts/packages/Release/Shipping/dotnet-runtime-*-linux-riscv64.tar.gz ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Host.linux-riscv64.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Runtime.linux-riscv64.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/runtime.linux-riscv64.Microsoft.NETCore.DotNetHost.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/runtime.linux-riscv64.Microsoft.NETCore.DotNetHostPolicy.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/runtime.linux-riscv64.Microsoft.NETCore.DotNetHostResolver.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/NonShipping/runtime.linux-riscv64.Microsoft.NETCore.ILAsm.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/NonShipping/runtime.linux-riscv64.Microsoft.NETCore.ILDAsm.*.nupkg ${OUTPUTDIR} | |
cd .. && rm -r runtime | |
- name: Build SDK | |
run: | | |
cd sdk | |
./build.sh --pack --ci -c Release /p:Architecture=riscv64 | |
mkdir -p ${DOWNLOADDIR}/Sdk/${SDK_VERSION} | |
cp artifacts/packages/Release/NonShipping/dotnet-toolset-internal-*.zip ${DOWNLOADDIR}/Sdk/${SDK_VERSION}/dotnet-toolset-internal-${SDK_VERSION}.zip | |
cp artifacts/packages/Release/Shipping/Microsoft.DotNet.Common.*.nupkg ${PACKAGESDIR} | |
cd .. && rm -r sdk | |
- name: Build aspnetcore | |
run: | | |
cd aspnetcore | |
sed -i "s|ppc64le|riscv64|" src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | |
sed -i "s|\$(BaseIntermediateOutputPath)\$(DotNetRuntimeArchiveFileName)|${DOWNLOADDIR}/Runtime/${RUNTIME_VERSION}/dotnet-runtime-8.0.1-linux-riscv64.tar.gz|" src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | |
./eng/build.sh --pack --ci -c Release -arch riscv64 /p:DotNetAssetRootUrl=file://${DOWNLOADDIR}/ | |
cp artifacts/packages/Release/Shipping/Microsoft.AspNetCore.App.Runtime.linux-riscv64.*.nupkg ${PACKAGESDIR} | |
mkdir -p ${DOWNLOADDIR}/aspnetcore/Runtime/${ASPNETCORE_VERSION} | |
cp artifacts/installers/Release/aspnetcore-runtime-*-linux-riscv64.tar.gz ${DOWNLOADDIR}/aspnetcore/Runtime/${ASPNETCORE_VERSION} | |
cp artifacts/installers/Release/aspnetcore_base_runtime.version ${DOWNLOADDIR}/aspnetcore/Runtime/${ASPNETCORE_VERSION} | |
cp artifacts/packages/Release/Shipping/Microsoft.AspNetCore.App.Runtime.linux-riscv64.*.nupkg ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/Microsoft.DotNet.Web.*.nupkg ${PACKAGESDIR} | |
cd .. && rm -r aspnetcore | |
- name: Build installer | |
run: | | |
cd installer | |
sed -i "s|linux-arm64|linux-riscv64|" src/redist/targets/GenerateBundledVersions.targets | |
sed -i "s|linux-arm64|linux-riscv64|" src/SourceBuild/content/eng/bootstrap/buildBootstrapPreviouslySB.csproj | |
sed -i s'|ppc64le|riscv64|' Directory.Build.props | |
sed -i s'|ppc64le|riscv64|' src/SourceBuild/content/Directory.Build.props | |
sed -i s'|ppc64le|riscv64|' src/redist/targets/Crossgen.targets | |
sed -i s"|<clear />|<clear />\n<add key='local' value='${PACKAGESDIR}' />|" NuGet.config | |
./build.sh --ci -c Release -a riscv64 /p:HostRid=linux-x64 /p:PublicBaseURL=file://${DOWNLOADDIR}/ | |
cp artifacts/packages/Release/Shipping/dotnet-sdk-*-linux-riscv64.tar.gz ${OUTPUTDIR} | |
cp artifacts/packages/Release/Shipping/dotnet-sdk-*-linux-riscv64.tar.gz.sha512 ${OUTPUTDIR} | |
- name: Upload .NET | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dotnet-sdk-linux-riscv64 | |
path: "${{ github.workspace }}/output/dotnet-sdk-*-linux-riscv64.tar.gz*" |