bugged-racing/.github/workflows/deploy.yml

72 lines
2.4 KiB
YAML

name: "Deploy to Itch.io"
on:
push:
branches: [ main ]
workflow_dispatch:
env:
GODOT_VERSION: 3.4
jobs:
export:
strategy:
matrix:
target: [[windows, Windows Desktop], [linux, Linux/X11], [html, HTML5]]
runs-on: ubuntu-latest
container:
image: barichello/godot-ci:3.4
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup export templates
run: |
mkdir -v -p ~/.local/share/godot/templates
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
- name: Build game
env:
EXPORT_DIR_NAME: ${{ matrix.target[0] }}
EXPORT_TARGET_NAME: ${{ matrix.target[1] }}
run: |
mkdir -v -p build/$EXPORT_DIR_NAME
godot -v --export "$EXPORT_TARGET_NAME"
- name: Itch.io deploy
env:
EXPORT_DIR_NAME: ${{ matrix.target[0] }}
ITCHIO_USERNAME: ${{ secrets.ITCHIO_USERNAME }}
ITCHIO_GAME: ${{ secrets.ITCHIO_GAME }}
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
run: |
butler push ./build/$EXPORT_DIR_NAME $ITCHIO_USERNAME/$ITCHIO_GAME:$EXPORT_DIR_NAME
export-mac:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install godot
run: brew install --cask godot
- name: Install butler
run: brew install --cask butler
- name: Setup export templates
run: |
mkdir -v -p ~/.local/share/godot/templates
wget -q https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_export_templates.tpz
unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz
mv templates/* ~/.local/share/godot/templates/${GODOT_VERSION}.stable/
- name: Build game
env:
EXPORT_DIR_NAME: ${{ matrix.target[0] }}
EXPORT_TARGET_NAME: ${{ matrix.target[1] }}
run: |
mkdir -v -p build/$EXPORT_DIR_NAME
godot -v --export "$EXPORT_TARGET_NAME"
- name: Itch.io deploy
env:
EXPORT_DIR_NAME: ${{ matrix.target[0] }}
ITCHIO_USERNAME: ${{ secrets.ITCHIO_USERNAME }}
ITCHIO_GAME: ${{ secrets.ITCHIO_GAME }}
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
run: |
butler push ./build/$EXPORT_DIR_NAME $ITCHIO_USERNAME/$ITCHIO_GAME:$EXPORT_DIR_NAME