Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ jobs:
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
name: nupkgs
path: dist/.organize/nupkgs
Expand All @@ -52,19 +52,19 @@ jobs:
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{secrets.SONATYPE_SIGNING_KEY}}

steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/setup-java@v4
dotnet-version: '10'
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
# workaround until we know how to upload existing maven packages
# https://discuss.gradle.org/t/how-to-push-maven-to-ossrh-from-previous-local-publish/46875
Expand All @@ -80,19 +80,19 @@ jobs:
env:
NPMJS_AUTH_TOKEN: ${{ secrets.NPMJS_AUTH_TOKEN }}
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
name: nodetars
path: dist/.organize/node
- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: "lts/*"
registry-url: https://registry.npmjs.org/
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/~dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ jobs:
dotnet:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
path: dist/.organize
- run: dotnet build/bin/Debug/publish/_build.dll DotNet
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: nupkgs
path: |
Expand All @@ -51,21 +51,21 @@ jobs:
runs-on: ${{ matrix.runs-on }}
needs: [dotnet]
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
name: nupkgs
path: dist/.organize/nupkgs
- run: dotnet build/bin/Debug/publish/_build.dll DotNetTest --architecture ${{ matrix.architecture }} --framework ${{ matrix.framework }}
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: dotnettest-${{ matrix.runs-on }}-${{ matrix.architecture }}--${{ matrix.framework }}
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/~java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,24 @@ jobs:
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{secrets.SONATYPE_SIGNING_PASSWORD}}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{secrets.SONATYPE_SIGNING_KEY}}
steps:
- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
path: dist/.organize
- run: dotnet build/bin/Debug/publish/_build.dll Java
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: maven
path: |
Expand All @@ -52,25 +52,25 @@ jobs:
runs-on: ${{ matrix.runs-on }}
needs: [java]
steps:
- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
name: maven
path: dist/.organize/maven
- run: dotnet build/bin/Debug/publish/_build.dll JavaTest
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: javatest-${{ matrix.runs-on }}
Expand Down
54 changes: 39 additions & 15 deletions .github/workflows/~native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,39 +43,51 @@ jobs:
matrix:
architecture: ${{ fromJson( inputs.architectures ) }}
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
dotnet-version: '10'
- name: Cloning Repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Fetching Pre-Built Nuke
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/

- name: Fetch Cached LibSkia
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
if: ${{ inputs.use-skia-cache }}
with:
path: dist
key: libskia-${{ inputs.target-os }}-${{ matrix.architecture }}-static-${{ github.run_id }}
restore-keys: libskia-${{ inputs.target-os }}-${{ matrix.architecture }}-static

- name: Install Latest Stable Android NDK
if: ${{ inputs.target-os == 'android' }}
run: |
SDKMANAGER="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager"
ALL_NDKS=$("$SDKMANAGER" --list --channel=0 2>/dev/null | grep -E "^\s+ndk;" | awk '{print $1}' | sort -V)
LATEST_MAJOR=$(echo "$ALL_NDKS" | awk -F'[.;]' '{print $2}' | sort -Vu | tail -1)
STABLE_NDK=$(echo "$ALL_NDKS" | awk -F'[.;]' -v max="$LATEST_MAJOR" '$2+0 < max+0' | sort -V | tail -1)
echo "Installing NDK: $STABLE_NDK"
"$SDKMANAGER" "$STABLE_NDK"
NDK_VERSION="${STABLE_NDK#ndk;}"
echo "ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/$NDK_VERSION" >> "$GITHUB_ENV"

- name: Compiling LibSkia
run: dotnet build/bin/Debug/publish/_build.dll LibSkiaWithCache --target-os ${{ inputs.target-os }} --architecture ${{ matrix.architecture }} --use-cache ${{ inputs.use-skia-cache }}
shell: bash
id: build

- name: Uploading LibSkia to Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: libskia-${{ inputs.target-os }}-${{ matrix.architecture }}-static
path: artifacts

- name: Uploading LibSkia to Build Cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: ${{ steps.build.outputs.build-skipped != 'true' }}
with:
path: dist
Expand All @@ -91,39 +103,51 @@ jobs:
architecture: ${{ fromJson( inputs.architectures ) }}
variant: ${{ fromJson( inputs.variants ) }}
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
dotnet-version: '10'
- name: Cloning Repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: true

- name: Fetching Pre-Built Nuke
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/

- name: Downloading LibSkia
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
path: dist/.organize/libskia-${{ inputs.target-os }}-${{ matrix.architecture }}-static
name: libskia-${{ inputs.target-os }}-${{ matrix.architecture }}-static

- name: Install Latest Stable Android NDK
if: ${{ inputs.target-os == 'android' }}
run: |
SDKMANAGER="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager"
ALL_NDKS=$("$SDKMANAGER" --list --channel=0 2>/dev/null | grep -E "^\s+ndk;" | awk '{print $1}' | sort -V)
LATEST_MAJOR=$(echo "$ALL_NDKS" | awk -F'[.;]' '{print $2}' | sort -Vu | tail -1)
STABLE_NDK=$(echo "$ALL_NDKS" | awk -F'[.;]' -v max="$LATEST_MAJOR" '$2+0 < max+0' | sort -V | tail -1)
echo "Installing NDK: $STABLE_NDK"
"$SDKMANAGER" "$STABLE_NDK"
NDK_VERSION="${STABLE_NDK#ndk;}"
echo "ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/$NDK_VERSION" >> "$GITHUB_ENV"

- name: Compiling LibAlphaSkia
run: dotnet build/bin/Debug/publish/_build.dll LibAlphaSkia LibAlphaSkiaTest --target-os ${{ inputs.target-os }} --architecture ${{ matrix.architecture }} --variant ${{ matrix.variant }}
run: dotnet build/bin/Debug/publish/_build.dll LibAlphaSkia LibAlphaSkiaTest CheckAndroidAlignment --target-os ${{ inputs.target-os }} --architecture ${{ matrix.architecture }} --variant ${{ matrix.variant }}
shell: bash

- name: Uploading LibAlphaSkia to Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: ${{ always() }}
with:
name: libalphaskia-${{ inputs.target-os }}-${{ matrix.architecture }}-${{ matrix.variant }}
path: artifacts

- name: Uploading LibAlphaSkiaTest to Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
if: ${{ always() }}
with:
name: libalphaskiatest-${{ inputs.target-os }}-${{ matrix.architecture }}-${{ matrix.variant }}
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/~node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ jobs:
node:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
path: dist/.organize
- run: dotnet build/bin/Debug/publish/_build.dll Node
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: nodetars
path: |
Expand All @@ -41,19 +41,19 @@ jobs:
runs-on: ${{ matrix.runs-on }}
needs: [node]
steps:
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
dotnet-version: '10'
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v8
with:
name: nodetars
path: dist/.organize/node
- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- run: dotnet build/bin/Debug/publish/_build.dll NodeTest
Expand All @@ -62,7 +62,7 @@ jobs:
if: always()
run: echo "NODE_VERSION=${{ matrix.node }}" | sed 's/[*\/]//g' >> "$GITHUB_OUTPUT"
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: nodetest-${{ matrix.runs-on }}-${{ steps.sanitize-node-version.outputs.NODE_VERSION }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/~reusable-full-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ jobs:
nuke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v6
- uses: actions/setup-dotnet@v5
with:
dotnet-version: '9'
dotnet-version: '10'
- run: dotnet publish --configuration Debug ./build/_build.csproj
shell: bash
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: nuke
path: build/bin/Debug/publish/
Expand Down
Loading
Loading