Skip to content

LWJGL Snapshot

LWJGL Snapshot #83

Workflow file for this run

# Produces a new build, uploads it to S3 and publishes a Maven snapshot
name: LWJGL Snapshot
on:
workflow_dispatch:
env:
AWS_DEFAULT_REGION: us-east-1
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
S3_PARAMS: --cache-control "public,must-revalidate,proxy-revalidate,max-age=0"
#ANT_OPTS: -Xmx2G
ANT_OPTS: -Xmx8G
LWJGL_BUILD_TYPE: nightly
#jobs:
# linux:
# name: Snapshot
# runs-on: ubuntu-18.04
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 3
# - uses: gradle/wrapper-validation-action@v1
# - run: |
# aws s3 cp s3://lwjgl-build/ci/next-build.txt .
# LWJGL_BUILD=$(cat next-build.txt)
# echo "LWJGL_BUILD=$LWJGL_BUILD" >> $GITHUB_ENV
# name: Retrieve build number
# - run: |
# git clone https://github.com/LWJGL-CI/OculusSDK.git ../OculusSDK
# curl https://cdn.azul.com/zulu/bin/zulu8.64.0.19-ca-fx-jdk8.0.345-linux_x64.tar.gz --output jdk8.tar.gz
# curl https://cdn.azul.com/zulu/bin/zulu19.28.81-ca-jdk19.0.0-linux_x64.tar.gz --output jdk19.tar.gz
# mkdir jdk8
# mkdir jdk19
# tar xf jdk8.tar.gz -C jdk8 --strip-components 1
# tar xf jdk19.tar.gz -C jdk19 --strip-components 1
# name: Install dependencies
# - run: JAVA_HOME=$(pwd)/jdk8 ant -emacs hydrate-kotlinc clean-generated generate
# name: Generate bindings
# - run: JAVA_HOME=$(pwd)/jdk8 ant -emacs compile
# name: Build Java
# - run: |
# export JAVA_HOME=$(pwd)/jdk19
# JAVA8_HOME=$(pwd)/jdk8 ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow" ant -emacs release -Dbuild.revision=${{env.LWJGL_BUILD}}
# $JAVA_HOME/bin/jar cfM lwjgl.zip -C bin/RELEASE .
# name: "Package snapshot #${{env.LWJGL_BUILD}}"
# - run: |
# aws s3 cp lwjgl.zip s3://lwjgl-build/nightly/lwjgl.zip $S3_PARAMS
# aws s3 sync bin/RELEASE s3://lwjgl-build/nightly/bin --delete $S3_PARAMS
# name: Upload snapshot to S3
# - run: |
# export JAVA_HOME=$(pwd)/jdk8
# ./gradlew -Psnapshot -PsonatypeUsername=${{ secrets.SONATYPE_USER }} -PsonatypePassword=${{ secrets.SONATYPE_PWD }} publish
# name: Publish snapshot to Maven
# - run: |
# echo -n $((LWJGL_BUILD+1)) > next-build.txt
# echo "Next build will be #$(cat next-build.txt)"
# aws s3 cp next-build.txt s3://lwjgl-build/ci/
# name: Bump build number
jobs:
macos:
name: Snapshot
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 3
- uses: gradle/wrapper-validation-action@v1
- run: |
aws s3 cp s3://lwjgl-build/ci/next-build.txt .
LWJGL_BUILD=$(cat next-build.txt)
echo "LWJGL_BUILD=$LWJGL_BUILD" >> $GITHUB_ENV
name: Retrieve build number
- run: |
git clone https://github.com/LWJGL-CI/OculusSDK.git ../OculusSDK
mkdir jdk8
mkdir jdk20
curl -L https://cdn.azul.com/zulu/bin/zulu8.72.0.17-ca-jdk8.0.382-macosx_x64.tar.gz | tar xz -C jdk8 --strip-components 1
curl -L https://cdn.azul.com/zulu/bin/zulu20.32.11_1-ca-jdk20.0.2-macosx_x64.tar.gz | tar xz -C jdk20 --strip-components 1
name: Install dependencies
- run: JAVA_HOME=$(pwd)/jdk8 ant -emacs hydrate-kotlinc clean-generated generate
name: Generate bindings
- run: JAVA_HOME=$(pwd)/jdk8 ant -emacs compile
name: Build Java
- run: |
export JAVA_HOME=$(pwd)/jdk20
JAVA8_HOME=$(pwd)/jdk8 ANT_OPTS="$ANT_OPTS -Djava.security.manager=allow" ant -emacs release -Dbuild.revision=${{env.LWJGL_BUILD}}
$JAVA_HOME/bin/jar cfM lwjgl.zip -C bin/RELEASE .
name: "Package snapshot #${{env.LWJGL_BUILD}}"
- run: |
aws s3 cp lwjgl.zip s3://lwjgl-build/nightly/lwjgl.zip $S3_PARAMS
aws s3 sync bin/RELEASE s3://lwjgl-build/nightly/bin --delete $S3_PARAMS
name: Upload snapshot to S3
- run: |
export JAVA_HOME=$(pwd)/jdk8
./gradlew -Psnapshot -PsonatypeUsername=${{ secrets.SONATYPE_USER }} -PsonatypePassword=${{ secrets.SONATYPE_PWD }} publish
name: Publish snapshot to Maven
- run: |
echo -n $((LWJGL_BUILD+1)) > next-build.txt
echo "Next build will be #$(cat next-build.txt)"
aws s3 cp next-build.txt s3://lwjgl-build/ci/
name: Bump build number