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 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