From db9e6c2a392473d0b981c827e1209e88c6634d5f Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Fri, 10 Jan 2025 18:50:15 -0700 Subject: [PATCH] Added gitea publish action --- .gitea/workflows/publish.yaml | 59 +++++++++++++++++++++++++++++++++++ debug_build.sh | 11 +++---- export_presets.cfg | 6 ++-- 3 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 .gitea/workflows/publish.yaml diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml new file mode 100644 index 0000000..717a428 --- /dev/null +++ b/.gitea/workflows/publish.yaml @@ -0,0 +1,59 @@ +# Based on https://github.com/aBARICHELLO/godot-ci/blob/master/.github/workflows/godot-ci.yml +name: GFOLF - itch.io publish action +run-name: ${{ gitea.actor }} is publishing GFOLF ${{ gitea.ref }} to itch.io. + +on: + push: + branches: + - ci-test + tags: + - v* + +env: + GODOT_VERSION: 4.3 + EXPORT_NAME: gfolf + PROJECT_PATH: . + +jobs: + build: + runs-on: ubuntu-20.04 + container: + image: barichello/godot-ci:4.3 + strategy: + matrix: + include: + - target: linux64 + ext: x86_64 + - target: osx + ext: app + - target: win64 + ext: exe + steps: + - name: Checkout repository + run: | + git init + git remote add origin ${{ gitea.event.repository.clone_url }} + git fetch --depth 1 origin ${{ gitea.ref }} + git checkout FETCH_HEAD + git lfs pull + - name: Setup + run: | + mkdir -v -p ~/.local/share/godot/export_templates/ + mkdir -v -p ~/.config/ + mv /root/.config/godot ~/.config/godot + mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable + - name: Build project + run: | + OUT_DIR=gfolf_${{ matrix.target }} + BUILD_DIR=build/$OUT_DIR + ZIP_NAME=gfolf_${{ gitea.ref }}_${{ matrix.target }}.7z + mkdir -p $BUILD_DIR + godot --headless --export-debug ${{ matrix.target }} $BUILD_DIR/gfolf.${{ matrix.ext }} + (cd build && 7z a $ZIP_NAME $OUT_DIR) + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: Debug Build - ${{ matrix.platform }} + path: ${{ gitea.workspace }}/build/gfolf_${{ matrix.target }} + - name: Publish + run: butler push "build/$ZIP_NAME" tetramorph/gfolf:${{ matrix.target }} diff --git a/debug_build.sh b/debug_build.sh index aaf1269..21cb809 100755 --- a/debug_build.sh +++ b/debug_build.sh @@ -47,9 +47,8 @@ echo "Packaging to: $BUILD_DIR" ## Shared build logic function build_project { TARGET="$1" - TARGET_SHORT="$2" TARGET_EXT="$3" - TARGET_SUBDIR="$PROJECT_NAME""_$TARGET_SHORT" + TARGET_SUBDIR="$PROJECT_NAME""_$TARGET" TARGET_DIR="$BUILD_DIR/$TARGET_SUBDIR" TARGET_OUT="$TARGET_DIR/$PROJECT_NAME.$TARGET_EXT" @@ -61,7 +60,7 @@ function build_project { godot --headless --export-debug "$TARGET" $TARGET_OUT set +x - ZIP_OUT="$PROJECT_NAME""_$VERSION_TAG""_$TARGET_SHORT.7z" + ZIP_OUT="$PROJECT_NAME""_$VERSION_TAG""_$TARGET.7z" echo "Packaging to: $ZIP_OUT" # TODO @@ -72,10 +71,10 @@ function build_project { # Build linux -build_project "Linux" "linux64" "x86_64" +build_project "linux64" "x86_64" # Build OSX -build_project "macOS" "osx" "app" +build_project "osx" "app" # Build Michaelsoft Binbows -build_project "Windows Desktop" "win64" "exe" +build_project "win64" "exe" diff --git a/export_presets.cfg b/export_presets.cfg index 09fe2dc..91b4bbc 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -1,6 +1,6 @@ [preset.0] -name="Linux" +name="linux64" platform="Linux" runnable=true advanced_options=true @@ -40,7 +40,7 @@ rm -rf \"{temp_dir}\"" [preset.1] -name="Windows Desktop" +name="win64" platform="Windows Desktop" runnable=true advanced_options=true @@ -105,7 +105,7 @@ Remove-Item -Recurse -Force '{temp_dir}'" [preset.2] -name="macOS" +name="osx" platform="macOS" runnable=true advanced_options=true