Skip to content

.github/workflows/build.yml #12

.github/workflows/build.yml

.github/workflows/build.yml #12

Workflow file for this run

on:
push:
branches:
- '**'
tags:
- '[0-9]+.[0-9]+.[0-9]+'
paths-ignore:
- 'docs/**'
- 'examples/**'
- 'extras/**'
- .dockerignore
- .gitignore
- CHANGELOG.md
- Dockerfile
- LICENSE
- README.md
jobs:
# build_macos:
# runs-on: macos-11
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - uses: abdes/gha-setup-ninja@660f330a40aefa8d11632b3f901e92a4adb33d65
# - run: |
# echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
# echo "$JAVA_HOME_11_X64/bin" >> $GITHUB_PATH
# - run: python3 script/build.py
# - run: python3 script/test.py
# - run: python3 script/package_platform.py
# - uses: actions/upload-artifact@v3
# with:
# name: macos-x64-jars
# path: target/skija-macos-x64-*
# - run: python3 script/clean.py
# - run: python3 script/build.py --arch arm64
# - run: python3 script/package_platform.py --arch arm64
# - uses: actions/upload-artifact@v3
# with:
# name: macos-arm64-jars
# path: target/skija-macos-arm64-*
build_linux:
runs-on: ubuntu-20.04
steps:
- run: |
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
echo "$JAVA_HOME_11_X64/bin" >> $GITHUB_PATH
sudo apt-get update
sudo apt-get --quiet --yes install ninja-build libglu1-mesa-dev g\+\+-9-aarch64-linux-gnu
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --config gcc
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: python3 script/build.py
- run: python3 script/package_shared.py
- uses: actions/upload-artifact@v3
with:
name: shared-jars
path: target/skija-shared-*.jar
# - run: python3 script/test.py
# - run: python3 script/package_platform.py
# - uses: actions/upload-artifact@v3
# with:
# name: linux-x64-jars
# path: target/skija-linux-x64-*
# Disabled until https://github.com/HumbleUI/SkiaBuild/issues/8
# - run: python3 script/clean.py
# - run: python3 script/build.py --arch arm64
# - run: python3 script/package_platform.py --arch arm64
# - uses: actions/upload-artifact@v3
# with:
# name: linux-arm64-jars
# path: target/skija-linux-arm64-*
build_windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
- uses: microsoft/setup-msbuild@v1
- uses: ilammy/msvc-dev-cmd@v1
- uses: abdes/gha-setup-ninja@660f330a40aefa8d11632b3f901e92a4adb33d65
- shell: bash
run: |
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
echo "$JAVA_HOME_11_X64/bin" >> $GITHUB_PATH
- run: python3 script/build.py
- shell: bash
run: python3 script/test.py
- run: python3 script/package_platform.py
- uses: actions/upload-artifact@v3
with:
name: windows-x64-jars
path: target/skija-windows-x64-*
release:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
# needs: [build_windows, build_linux, build_macos]
needs: [build_windows]
steps:
- uses: actions/checkout@v3
- run: |
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
echo "$JAVA_HOME_11_X64/bin" >> $GITHUB_PATH
- uses: actions/download-artifact@v3
with:
name: shared-jars
path: target
# - uses: actions/download-artifact@v3
# with:
# name: macos-x64-jars
# path: target
# - uses: actions/download-artifact@v3
# with:
# name: macos-arm64-jars
# path: target
# - uses: actions/download-artifact@v3
# with:
# name: linux-x64-jars
# path: target
# - uses: actions/download-artifact@v3
# with:
# name: linux-arm64-jars
# path: target
- uses: actions/download-artifact@v3
with:
name: windows-x64-jars
path: target
- name: Release to Maven Central
run: |
python3 ./script/release.py
# run: |
# echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
# python3 ./script/release.py
env:
# GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
- name: Delete useless jars
# run: |
# rm target/skija-macos-*-sources.jar
# rm target/skija-macos-*-javadoc.jar
# rm target/skija-linux-*-sources.jar
# rm target/skija-linux-*-javadoc.jar
# rm target/skija-windows-*-sources.jar
# rm target/skija-windows-*-javadoc.jar
run: |
rm target/skija-windows-*-sources.jar
rm target/skija-windows-*-javadoc.jar
- uses: softprops/action-gh-release@v1
with:
files: |
target/*.jmod
target/*.jar