Skip to content

Update to godot_openxr_vendors 4.0.0 #143

Update to godot_openxr_vendors 4.0.0

Update to godot_openxr_vendors 4.0.0 #143

Workflow file for this run

name: "Godot"
on:
workflow_dispatch:
pull_request:
release:
types:
- released
env:
GODOT_VERSION: 4.4.1-stable
EXPORT_NAME: MuseumOfAllThings
jobs:
export:
name: Export
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get export template directory name
run: |
echo "GODOT_TEMPLATE_VERSION=${GODOT_VERSION//-/.}" >> $GITHUB_ENV
- name: Cache Godot Engine downloads
id: cache-godot
uses: actions/cache@v4
with:
path: |
tools/godot
tools/editor_data/export_templates/${{ env.GODOT_TEMPLATE_VERSION }}
tools/._sc_
key: godot-${{ env.GODOT_VERSION }}
- name: Download Godot Engine
id: download
if: steps.cache-godot.outputs.cache-hit != 'true'
run: |
mkdir -p tools && cd tools
# Download binary from official GitHub release
wget https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}/Godot_v${GODOT_VERSION}_linux.x86_64.zip && \
unzip Godot_v${GODOT_VERSION}_linux.x86_64.zip && \
mv Godot_v${GODOT_VERSION}_linux.x86_64 godot
# Download export templates from official GitHub release
mkdir -p editor_data/export_templates
wget https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}/Godot_v${GODOT_VERSION}_export_templates.tpz && \
unzip Godot_v${GODOT_VERSION}_export_templates.tpz && \
mv templates editor_data/export_templates/${GODOT_TEMPLATE_VERSION}
# Tell Godot Engine to be self-contained
touch ._sc_
- name: Set up OpenJDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
if: github.event_name != 'pull_request'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
if: github.event_name != 'pull_request'
- name: Import project
run: |
./tools/godot --import --headless --verbose
- name: Ensure path exists
run: mkdir -p dist/web
- name: Export PCK
run: |
./tools/godot --verbose --headless --export-pack \
"Linux" ./dist/${EXPORT_NAME}.pck
- name: Upload PCK
uses: actions/upload-artifact@v4
with:
name: PCK
path: dist/${{ env.EXPORT_NAME }}.pck
- name: Export Linux
run: |
./tools/godot --verbose --headless --export-release \
"Linux" ./dist/${EXPORT_NAME}_Linux.x86_64
- name: Upload Linux
uses: actions/upload-artifact@v4
with:
name: Linux
path: dist/${{ env.EXPORT_NAME }}_Linux.x86_64
- name: Export Linux (OpenXR)
run: |
./tools/godot --verbose --headless --export-release \
"Linux (OpenXR)" ./dist/${EXPORT_NAME}_Linux_OpenXR.x86_64
- name: Upload Linux (OpenXR)
uses: actions/upload-artifact@v4
with:
name: Linux (OpenXR)
path: dist/${{ env.EXPORT_NAME }}_Linux_OpenXR.x86_64
- name: Export Windows Desktop
run: |
./tools/godot --verbose --headless --export-release \
"Windows Desktop" ./dist/${EXPORT_NAME}.exe
- name: Upload Windows Desktop
uses: actions/upload-artifact@v4
with:
name: Windows Desktop
path: dist/${{ env.EXPORT_NAME }}.exe
- name: Export Windows Desktop (OpenXR)
run: |
./tools/godot --verbose --headless --export-release \
"Windows Desktop (OpenXR)" ./dist/${EXPORT_NAME}_OpenXR.exe
- name: Upload Windows Desktop (OpenXR)
uses: actions/upload-artifact@v4
with:
name: Windows Desktop (OpenXR)
path: dist/${{ env.EXPORT_NAME }}_OpenXR.exe
- name: Export macOS
run: |
./tools/godot --verbose --headless --export-release \
"macOS" ./dist/${EXPORT_NAME}_OSX.zip
- name: Upload macOS
uses: actions/upload-artifact@v4
with:
name: macOS
path: dist/${{ env.EXPORT_NAME }}_OSX.zip
- name: Export Web
run: |
./tools/godot --verbose --headless --export-release \
"Web" ./dist/web/index.html
(cd dist/web && zip -r ../${{ env.EXPORT_NAME }}_Web.zip *)
- name: Upload Web
uses: actions/upload-artifact@v4
with:
name: Web
path: dist/${{ env.EXPORT_NAME }}_Web.zip
- name: Export Meta Quest
run: |
echo "${{ secrets.ANDROID_KEYSTORE }}" | base64 -d > android-release.keystore
export GODOT_ANDROID_KEYSTORE_RELEASE_PATH=android-release.keystore
export GODOT_ANDROID_KEYSTORE_RELEASE_USER="${{ secrets.ANDROID_KEYSTORE_USER }}"
export GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD="${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
./tools/godot --verbose --headless --install-android-build-template --export-release \
"Meta Quest" ./dist/${{ env.EXPORT_NAME }}_Quest.apk
if: github.event_name != 'pull_request'
- name: Upload Meta Quest
uses: actions/upload-artifact@v4
with:
name: Meta Quest
path: dist/${{ env.EXPORT_NAME }}_Quest.apk
if: github.event_name != 'pull_request'
release:
name: Attach to Release
needs: export
permissions: write-all
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Upload artifacts to release
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
gh release upload '${{ github.ref_name }}' */* --repo '${{ github.repository }}'