itchio-opengamepadui-artpro.../.forgejo/workflows/build.yml
Jose Falanga 588973e671
All checks were successful
Build plugin / build (push) Successful in 1m7s
ci: extract the Godot build with python3 instead of unzip
Same failure as the itch plugin: the runner image is Debian 11 based and
its apt index requests an unzip build that is no longer in the security
pool, so dependency install 404s before the build starts.
2026-10-15 11:39:16 -03:00

61 lines
2 KiB
YAML

name: Build plugin
on:
push:
branches: [trunk]
tags: ["v*"]
pull_request:
branches: [trunk]
jobs:
build:
runs-on: [docker, ubuntu-24.04]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
apt-get update
apt-get install -y -qq make git wget
- name: Install Godot
run: |
wget -q https://github.com/godotengine/godot/releases/download/4.4.1-stable/Godot_v4.4.1-stable_linux.x86_64.zip
# python3 instead of unzip: the runner image is Debian 11 based and its apt
# index points at an unzip build that is gone from the security pool.
python3 -m zipfile -e Godot_v4.4.1-stable_linux.x86_64.zip godot-dir
mkdir -p "$HOME/.local/bin"
mv godot-dir/Godot_v4.4.1-stable_linux.x86_64 "$HOME/.local/bin/godot"
chmod +x "$HOME/.local/bin/godot"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Build
env:
GODOT: godot
run: make dist
- name: Create release
if: startsWith(github.ref, 'refs/tags/v')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG="${GITHUB_REF_NAME}"
API="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}"
curl -sf -X POST "${API}/releases" \
-H "Authorization: token ${GITHUB_TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\"}" \
-o /tmp/release.json
RELEASE_ID=$(python3 -c "import json; print(json.load(open('/tmp/release.json'))['id'])")
for FILE in dist/itch-artprovider.zip dist/itch-artprovider.zip.sha256.txt; do
NAME=$(basename "$FILE")
curl -sf -X POST \
"${API}/releases/${RELEASE_ID}/assets?name=${NAME}" \
-H "Authorization: token ${GITHUB_TOKEN}" \
-H "Content-Type: application/octet-stream" \
--data-binary "@${FILE}"
done