initial commit

This commit is contained in:
2025-11-26 18:58:15 +08:00
commit 3ec494ca69
168 changed files with 16142 additions and 0 deletions

53
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
name: Build
on:
# Trigger the workflow on any pull request
pull_request:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
defaults:
run:
working-directory: ./orx
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout current repository
uses: actions/checkout@v4
with:
path: ./orx
- name: Checkout OPENRNDR repository
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: openrndr/openrndr
path: ./openrndr
ref: master
- name: Test glxinfo
run: |
sudo apt-get update
sudo apt-get install -y mesa-utils xvfb
xvfb-run glxinfo
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build OPENRNDR
working-directory: ./openrndr
run: ./gradlew publishToMavenLocal snapshot
- name: Build ORX
run: ./gradlew build
- name: Collect screenshots without errors
run: xvfb-run ./gradlew collectScreenshots

View File

@@ -0,0 +1,69 @@
name: Build and generate screenshots
on:
push:
branches: [ master ]
defaults:
run:
working-directory: ./orx
jobs:
generate_screenshots:
runs-on: ubuntu-latest
steps:
- name: Checkout current repository
uses: actions/checkout@v4
with:
path: ./orx
- name: Checkout OPENRNDR repository
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: openrndr/openrndr
path: ./openrndr
ref: master
- name: Test glxinfo
run: |
sudo apt-get update
sudo apt-get install -y mesa-utils xvfb
xvfb-run glxinfo
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build OPENRNDR
working-directory: ./openrndr
run: ./gradlew publishToMavenLocal snapshot
- name: Build ORX
run: ./gradlew build
- name: Collect screenshots
run: xvfb-run ./gradlew collectScreenshots
- name: Build main readme
run: xvfb-run ./gradlew buildMainReadme
- name: Prepare media branch
run: |
git config --global user.email "actions@openrndr.org"
git config --global user.name "OPENRNDR Actions"
git reset HEAD -- .
(git add README.md && git commit -m "add auto-generated README" && git push origin master) || true
(git add [a-z-]*/README.md && git commit -m "add demos to README.md" && git push origin master) || true
(git add orx-jvm/[a-z-]*/README.md && git commit -m "add orx-jvm demos to README.md" && git push origin master) || true
git checkout --orphan media
git reset HEAD -- .
git add [a-z-]*/images/*.png
cd orx-jvm
git add [a-z-]*/images/*.png
cd ..
git commit -m "add auto-generated media"
git push -f origin media

13
.github/workflows/pick-me.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Pick me issue assignment
on:
issue_comment:
types: [created, edited]
jobs:
auto-assign:
runs-on: ubuntu-latest
steps:
- name: 'Auto-assign issue'
uses: edwinRNDR/pick-me@v0.3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

65
.github/workflows/release-apidocs.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: Release API docs
on:
push:
branches: [ master ]
defaults:
run:
working-directory: ./orx
jobs:
release_apidocs:
if: github.repository == 'openrndr/orx'
runs-on: ubuntu-latest
steps:
- name: Checkout current repository
uses: actions/checkout@v4
with:
path: ./orx
fetch-depth: 0
- name: Checkout OPENRNDR repository
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: openrndr/openrndr
path: ./openrndr
ref: master
- name: Test glxinfo
run: |
sudo apt-get update
sudo apt-get install -y mesa-utils xvfb
xvfb-run glxinfo
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build OPENRNDR
working-directory: ./openrndr
run: ./gradlew publishToMavenLocal snapshot
- name: Build apidocs
run: ./gradlew :dokkaGenerate -Dorg.gradle.jvmargs=-Xmx1536M
- name: Publish to gh-pages
run: |
git worktree add --detach docs-temp
cd docs-temp
git checkout --orphan gh-pages
git reset HEAD -- .
git clean -df
mv ../build/dokka/html/* .
cp ../dokka/styles/* styles/
echo orx.openrndr.org > CNAME
git status
git config --global user.email "actions@openrndr.org"
git config --global user.name "OPENRNDR Actions"
git add .
git commit -m "Add automatically generated API docs"
git push origin gh-pages --force

View File

@@ -0,0 +1,25 @@
name: Release candidate to Maven Central
on:
push:
tags:
- v[0-9].[0-9]+.[0-9]+-rc.[0-9]+
jobs:
release_candidate_to_maven_central:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Build ORX
run: ./gradlew -Prelease.useLastTag=true build
- name: Decode
run: |
echo "${{secrets.SIGNING_SECRET_KEY_RING_FILE}}" > ~/.gradle/secring.gpg.b64
base64 -d ~/.gradle/secring.gpg.b64 > ~/.gradle/secring.gpg
- name: Publish
run: ./gradlew publishAggregationToCentralPortal -Prelease.useLastTag=true -Psigning.keyId=${{secrets.SIGNING_KEY_ID}} -Psigning.password=openrndr -Psigning.secretKeyRingFile=$(echo ~/.gradle/secring.gpg)
env:
OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}}
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}

View File

@@ -0,0 +1,27 @@
name: Release to Maven Central
on:
push:
tags:
- v[0-9].[0-9]+.[0-9]+
- v[0-9].[0-9]+.[0-9]+-alpha[0-9]+
- v[0-9].[0-9]+.[0-9]+-beta[0-9]+
jobs:
release_to_maven_central:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Build ORX
run: ./gradlew -Prelease.useLastTag=true build
- name: Decode
run: |
echo "${{secrets.SIGNING_SECRET_KEY_RING_FILE}}" > ~/.gradle/secring.gpg.b64
base64 -d ~/.gradle/secring.gpg.b64 > ~/.gradle/secring.gpg
- name: Publish
run: ./gradlew publishAggregationToCentralPortal -Prelease.useLastTag=true -Psigning.keyId=${{secrets.SIGNING_KEY_ID}} -Psigning.password=openrndr -Psigning.secretKeyRingFile=$(echo ~/.gradle/secring.gpg)
env:
OSSRH_USERNAME: ${{secrets.OSSRH_USERNAME}}
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}