-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b77c25a
commit 0460059
Showing
1 changed file
with
108 additions
and
3 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,7 +24,7 @@ concurrency: | |
|
||
jobs: | ||
## | ||
## Build Job | ||
## Windows AOT Cross | ||
## | ||
build_aot_windows_job: | ||
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') | ||
|
@@ -75,7 +75,7 @@ jobs: | |
cd runtime | ||
.\build.cmd -arch wasm -os browser -subset mono+libs /p:RuntimeFlavor=Mono -c $env:BUILD_CONFIGURATION $env:ADDITIONAL_BUILD_ARGS "/p:MonoWasmBuildVariant=singlethread" /p:TestAssemblies=false /p:CrossBuild=false /bl:ci-artifacts\msbuild.binlog | ||
- name: Create artifact structure | ||
- name: Create NuGet Package | ||
run: | | ||
New-Item -ItemType Directory -Force -Path $env:GITHUB_WORKSPACE/nuget/tools | ||
New-Item -ItemType Directory -Force -Path $env:GITHUB_WORKSPACE/ci-output | ||
|
@@ -92,6 +92,111 @@ jobs: | |
name: nuget | ||
path: ci-output | ||
|
||
## | ||
## Build Linux AOT Cross | ||
## | ||
build_aot_linux_job: | ||
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') | ||
runs-on: ubuntu-latest | ||
container: 'mcr.microsoft.com/dotnet/sdk:8.0.303-jammy' | ||
|
||
strategy: | ||
matrix: | ||
BUILD_CONFIGURATION: [Release] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 | ||
|
||
- name: Setup GitVersion | ||
uses: gittools/actions/gitversion/[email protected] | ||
with: | ||
versionSpec: ${{ env.GitVersion_Version }} | ||
|
||
- name: GitVersion | ||
id: gitversion | ||
uses: gittools/actions/gitversion/[email protected] | ||
with: | ||
useConfigFile: true | ||
configFilePath: build/gitversion.yml | ||
|
||
- name: Setup .NET SDK | ||
uses: actions/[email protected] | ||
with: | ||
dotnet-version: 8.0.303 | ||
|
||
- name: Setup .NET SDK | ||
uses: actions/[email protected] | ||
with: | ||
dotnet-version: ${{ env.DOTNETSDK_VERSION }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
set -e | ||
apt-get update | ||
apt-get install -y sudo | ||
sudo apt-get install -y python3-pip locales p7zip-full zip | ||
sudo apt-get install -y lsb-release wget software-properties-common gnupg | ||
sudo apt-get install -y unzip zip libc6 ninja-build \ | ||
libtool build-essential curl git \ | ||
libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev \ | ||
libssl-dev libnuma-dev libkrb5-dev zlib1g-dev locales | ||
sudo locale-gen en_US.UTF-8 | ||
- name: Install LLVM | ||
run: | | ||
set -e | ||
wget https://apt.llvm.org/llvm.sh | ||
chmod u+x llvm.sh | ||
sudo ./llvm.sh 18 | ||
- name: Trust My Directory | ||
run: git config --global --add safe.directory /__w/Uno.DotnetRuntime.WebAssembly/Uno.DotnetRuntime.WebAssembly | ||
|
||
- name: Set Variable from current Commit | ||
run: | | ||
set -e | ||
echo "BUILD_CONFIGURATION=${{ matrix.BUILD_CONFIGURATION }}" >> $GITHUB_ENV | ||
- name: Clone dotnet/runtime | ||
run: | | ||
git clone --recursive https://github.com/dotnet/runtime | ||
- run: ./scripts/apply-patches.ps1 | ||
name: Apply uno-specific patches | ||
shell: pwsh | ||
|
||
- name: Install cmake | ||
run: | | ||
set -e | ||
wget -qO- https://github.com/Kitware/CMake/releases/download/v3.27.2/cmake-3.27.2-linux-x86_64.tar.gz | \ | ||
sudo tar --strip-components=1 -xz -C /usr/local | ||
- name: Build Wasm Runtime | ||
run: | | ||
set -e | ||
cd runtime | ||
./build.sh -arch wasm -os browser -c $BUILD_CONFIGURATION $ADDITIONAL_BUILD_ARGS /p:TestAssemblies=false | ||
- name: Create NuGet Package | ||
run: | | ||
mkdir -p $GITHUB_WORKSPACE/nuget/tools | ||
mkdir -p $GITHUB_WORKSPACE/ci-output | ||
# Move cross compiler to appropriate location | ||
move $GITHUB_WORKSPACE/runtime/artifacts/bin/mono/Browser.wasm.Release/cross $GITHUB_WORKSPACE/nuget/tools | ||
cd $env:GITHUB_WORKSPACE/nuget | ||
dotnet pack Uno.NETCore.App.Runtime.AOT.Cross.browser-wasm.csproj /p:OutputPath=$GITHUB_WORKSPACE/ci-output "/p:Version=${{ steps.gitversion.outputs.semVer }}" | ||
- uses: actions/upload-artifact@v2 | ||
if: ${{ always() }} | ||
with: | ||
name: nuget | ||
path: ci-output | ||
|
||
## | ||
## Build Job | ||
## | ||
|
@@ -269,7 +374,7 @@ jobs: | |
name: Sign Package | ||
if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release/')) }} | ||
runs-on: windows-latest | ||
needs: [package_job,build_aot_windows_job] | ||
needs: [package_job,build_aot_windows_job,build_aot_linux_job] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|