Skip to content

Commit

Permalink
Prepare for publishing (#40)
Browse files Browse the repository at this point in the history
  • Loading branch information
Danielku15 authored Oct 29, 2023
1 parent 0dbbbb3 commit 32b6dcc
Show file tree
Hide file tree
Showing 12 changed files with 653 additions and 397 deletions.
352 changes: 7 additions & 345 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,349 +5,11 @@ on:
type: boolean
description: Use Skia Binary from cache
default: false

env:
ALPHASKIA_VERSION: 1.0.0.${{ github.run_number }}


jobs:
#
# Nuke
nuke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: dotnet publish ./build/_build.csproj
- uses: actions/upload-artifact@v3
with:
name: nuke
path: build/bin/Debug/publish/

#
# Windows
windows-skia:
runs-on: windows-latest
needs: [nuke]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm64]
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-skia
with:
use-cache: ${{ inputs.use-skia-cache }}
architecture: ${{ matrix.architecture }}
target-os: windows
windows-alphaskia:
runs-on: windows-latest
needs: [windows-skia]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm64]
variant: [shared, jni, node]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-alphaskia
with:
architecture: ${{ matrix.architecture }}
variant: ${{ matrix.variant }}
target-os: windows

#
# Linux
linux-skia:
runs-on: ubuntu-latest
needs: [nuke]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm, arm64]
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-skia
with:
use-cache: ${{ inputs.use-skia-cache }}
architecture: ${{ matrix.architecture }}
target-os: linux
linux-alphaskia:
runs-on: ubuntu-latest
needs: [linux-skia]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm, arm64]
variant: [shared, jni, node]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-alphaskia
with:
architecture: ${{ matrix.architecture }}
variant: ${{ matrix.variant }}
target-os: linux

#
# Android
android-skia:
runs-on: ubuntu-latest
needs: [nuke]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm, arm64]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-skia
with:
use-cache: ${{ inputs.use-skia-cache }}
architecture: ${{ matrix.architecture }}
target-os: android
android-alphaskia:
runs-on: ubuntu-latest
needs: [android-skia]
strategy:
fail-fast: false
matrix:
architecture: [x64, x86, arm, arm64]
variant: [shared, jni]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-alphaskia
with:
architecture: ${{ matrix.architecture }}
variant: ${{ matrix.variant }}
target-os: android
#
# MacOs
macos-skia:
runs-on: macos-latest
needs: [nuke]
strategy:
fail-fast: false
matrix:
architecture: [x64, arm64]
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-skia
with:
use-cache: ${{ inputs.use-skia-cache }}
architecture: ${{ matrix.architecture }}
target-os: macos
macos-alphaskia:
runs-on: macos-latest
needs: [macos-skia]
strategy:
fail-fast: false
matrix:
architecture: [x64, arm64]
variant: [shared, jni, node]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-alphaskia
with:
architecture: ${{ matrix.architecture }}
variant: ${{ matrix.variant }}
target-os: macos

#
# iOS
ios-skia:
runs-on: macos-latest
needs: [nuke]
strategy:
fail-fast: false
matrix:
include:
- architecture: arm64
target-os: ios
- architecture: arm64
target-os: iossimulator
- architecture: x64
target-os: iossimulator
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/build-skia
with:
use-cache: ${{ inputs.use-skia-cache }}
architecture: ${{ matrix.architecture }}
target-os: ${{ matrix.target-os }}
ios-alphaskia:
runs-on: macos-latest
needs: [ios-skia]
strategy:
fail-fast: false
matrix:
include:
- architecture: arm64
variant: shared
target-os: ios
- architecture: arm64
variant: shared
target-os: iossimulator
- architecture: x64
variant: shared
target-os: iossimulator
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/actions/build-alphaskia
with:
architecture: ${{ matrix.architecture }}
variant: ${{ matrix.variant }}
target-os: ${{ matrix.target-os }}
#
# Libraries
dotnet:
runs-on: ubuntu-latest
needs: [windows-alphaskia, linux-alphaskia, android-alphaskia, macos-alphaskia, ios-alphaskia]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v3
with:
path: dist/.organize
- run: ./build.cmd DotNet
- uses: actions/upload-artifact@v3
with:
name: nupkgs
path: |
lib/dotnet/**/*.nupkg
dotnet-test:
strategy:
fail-fast: false
matrix:
include:
- runs-on: ubuntu-latest
architecture: x64
framework: net6.0
- runs-on: macos-latest
architecture: x64
framework: net6.0
- runs-on: windows-latest
architecture: x64
framework: net6.0
- runs-on: windows-latest
architecture: x64
framework: net48

runs-on: ${{ matrix.runs-on }}
needs: [dotnet]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v3
with:
name: nupkgs
path: dist/.organize/nupkgs
- run: ./build.cmd DotNetTest --architecture ${{ matrix.architecture }} --framework ${{ matrix.framework }}
- uses: actions/upload-artifact@v3
with:
name: DotNet Test Results
path: |
test/test-outputs/**/*.*
java:
runs-on: ubuntu-latest
needs: [windows-alphaskia, linux-alphaskia, android-alphaskia, macos-alphaskia]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
path: dist/.organize
- run: ./build.cmd Java
- uses: actions/upload-artifact@v3
with:
name: maven
path: |
lib/java/dist/**/*.*
java-test:
strategy:
fail-fast: false
matrix:
include:
- runs-on: ubuntu-latest
- runs-on: windows-latest
- runs-on: macos-latest
runs-on: ${{ matrix.runs-on }}
needs: [java]
steps:
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v3
with:
name: maven
path: dist/.organize/maven
- run: ./build.cmd JavaTest
- uses: actions/upload-artifact@v3
with:
name: Java Test Results
path: |
test/test-outputs/**/*.*
node:
runs-on: ubuntu-latest
needs: [windows-alphaskia, linux-alphaskia, macos-alphaskia]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
path: dist/.organize
- run: ./build.cmd Node
- uses: actions/upload-artifact@v3
with:
name: nodetars
path: |
lib/node/*/*.tgz
node-test:
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, windows-latest, macos-latest]
node: [latest, "lts/*"]
runs-on: ${{ matrix.runs-on }}
needs: [node]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: nuke
path: build/bin/Debug/publish/
- uses: actions/download-artifact@v3
with:
name: nodetars
path: dist/.organize/node
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- run: node -e "console.log(process)"
- run: ./build.cmd NodeTest
- uses: actions/upload-artifact@v3
with:
name: Node Test Results
path: |
test/test-outputs/**/*.*
full_build:
uses: ./.github/workflows/reusable-build.yml
with:
use-skia-cache: ${{ inputs.use-skia-cache }}
alphaskia-version: "1.0"
secrets: inherit
Loading

0 comments on commit 32b6dcc

Please sign in to comment.