Skip to content

Don't share collision shapes between instances of platforms #80

Don't share collision shapes between instances of platforms

Don't share collision shapes between instances of platforms #80

Workflow file for this run

name: "Build and Export Game"
on:
workflow_dispatch:
pull_request:
release:
types:
- published
push:
branches:
- '*'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
env:
GODOT_VERSION: 4.4.1
jobs:
build:
name: Build for web
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
lfs: true
- name: Cache Godot Engine downloads
id: cache-godot
uses: actions/cache@v4
with:
path: |
build/godot
build/._sc_
build/editor_data/export_templates/${{ env.GODOT_VERSION }}.stable
key: godot-${{ env.GODOT_VERSION }}
- name: Download Godot Engine from GitHub release
id: download
if: steps.cache-godot.outputs.cache-hit != 'true'
run: |
mkdir -p build && cd build
# Download Godot Engine itself
wget --progress=dot:giga https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip && \
unzip Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip && \
mv Godot_v${GODOT_VERSION}-stable_linux.x86_64 godot
# Download export templates
mkdir -p editor_data/export_templates
wget --progress=dot:giga https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \
unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \
mv templates editor_data/export_templates/${GODOT_VERSION}.stable
# Tell Godot Engine to run in "self-contained" mode so it looks for
# templates here instead of in ~/.local/share/godot/
touch ._sc_
- name: Export web release
run: |
mkdir -v -p build/web && cd build
# Note that the export path can be confusing; it's relative to the
# Godot project path, NOT necessarily the current directory or Godot
# binary location
./godot --headless --verbose --path ../ --export-release "Web" ./build/web/index.html
- name: Upload web artifact
uses: actions/upload-artifact@v5
with:
name: web
path: build/web
release:
name: Attach to release
needs: [build]
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
steps:
- name: Download web bundle
uses: actions/download-artifact@v6
with:
name: web
path: web
- name: Attach web bundle to release
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
pushd web
zip -r "../moddable-platformer-${{ github.ref_name }}-web.zip" .
popd
gh release upload '${{ github.ref_name }}' 'moddable-platformer-${{ github.ref_name }}-web.zip' --repo '${{ github.repository }}'