Skip to content

Update CI task for gradle 7 / java 11 #23

Update CI task for gradle 7 / java 11

Update CI task for gradle 7 / java 11 #23

Workflow file for this run

name: Java CI with Gradle
on:
pull_request:
branches: [ master ]
jobs:
natives-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Install additional build dependencies
run: brew install nasm
- name: Build with Gradle
run: ./gradlew :gdx-video-desktop:buildFFmpegMacosAll :gdx-video-desktop:jnigenBuildMacosAll
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: desktop-natives
path: gdx-video-desktop/libs/**/*.dylib
if-no-files-found: error
natives-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Install build dependencies and cross-compilation toolchains
run: |
sudo apt update
sudo apt install -y --force-yes gcc g++
sudo apt install -y --force-yes nasm
sudo apt install -y --force-yes gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross
sudo apt install -y --force-yes gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-cross
- name: Build natives with Gradle
run: ./gradlew :gdx-video-desktop:buildFFmpegLinuxAll :gdx-video-desktop:jnigenBuildLinuxAll
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: desktop-natives
path: gdx-video-desktop/libs/**/*.so
if-no-files-found: error
natives-windows:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Install build dependencies and cross-compilation toolchains
run: |
sudo apt update
sudo apt install -y --force-yes nasm
sudo apt install -y --force-yes mingw-w64 lib32z1
- name: Build natives with Gradle
run: ./gradlew :gdx-video-desktop:buildFFmpegWindowsAll :gdx-video-desktop:jnigenBuildWindowsAll
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: desktop-natives
path: gdx-video-desktop/libs/**/*.dll
if-no-files-found: error
gradle-build:
needs:
- natives-macos
- natives-linux
- natives-windows
runs-on: ubuntu-20.04
env:
ORG_GRADLE_PROJECT_GITHUB_USERNAME: ""
ORG_GRADLE_PROJECT_GITHUB_API_TOKEN: ""
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: 'recursive'
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Download desktop-natives artifact
uses: actions/download-artifact@v3
with:
name: desktop-natives
path: gdx-video-desktop/libs
- name: Create JAR with natives for desktop
run: ./gradlew jnigenJarNativesDesktop --info
- name: Create debug keystore for android
run: keytool -genkey -v -keystore $HOME/.android/debug.keystore -storetype PKCS12 -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -noprompt -dname "CN=GdxVideo, OU=libGDX, O=libGDX, L=Unknown, ST=Unknown, C=US"
- name: Build library and test programs with gradle
run: ./gradlew build
- name: Upload all output libs
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: output-libs
path: '**/build/libs/'