diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index b60c508..3277183 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -10,6 +10,7 @@ env: GODOT_VERSION: 4.6.1 EXPORT_NAME: Experements PROJECT_PATH: . + BLENDER_VERSION: 5.0.0 jobs: export-windows: @@ -33,57 +34,79 @@ jobs: lfs: true - name: Setup + shell: bash run: | mkdir -v -p ~/.local/share/godot/export_templates/ mkdir -v -p ~/.config/ + set -Eeuo pipefail + echo "Installing Blender ${{ env.BLENDER_VERSION }}..." + MAJOR_MINOR="$(echo "${{ env.BLENDER_VERSION }}" | cut -d. -f1,2)" + BLENDER_URL="https://download.blender.org/release/Blender${MAJOR_MINOR}/blender-${{ env.BLENDER_VERSION }}-linux-x64.tar.xz" + wget -q "$BLENDER_URL" -O ~/blender.tar.xz + tar -xf ~/blender.tar.xz -C ~/ + BLENDER_DIR="$(find ~ -maxdepth 1 -name "blender-*" -type d | head -n 1)" + echo "${BLENDER_DIR}" >> "$GITHUB_PATH" + echo "BLENDER_PATH=${BLENDER_DIR}/blender" >> "$GITHUB_ENV" + "${BLENDER_DIR}/blender" --version + + GODOT_CFG="$(find ~/.config/godot -name "editor_settings-*.tres" | head -n 1 || true)" + if [ -n "$GODOT_CFG" ]; then + if [ -n "${BLENDER_PATH:-}" ]; then + grep -q '^filesystem/import/blender/blender_path' "$GODOT_CFG" \ + && sed -i "s|^filesystem/import/blender/blender_path = .*|filesystem/import/blender/blender_path = \"$BLENDER_PATH\"|" "$GODOT_CFG" \ + || echo "filesystem/import/blender/blender_path = \"$BLENDER_PATH\"" >> "$GODOT_CFG" + fi + fi - name: Windows Build run: | + set -Eeuo pipefail mkdir -v -p build/windows EXPORT_DIR="$(readlink -f build)" cd $PROJECT_PATH - godot --headless --verbose --export-release "Windows" "$EXPORT_DIR/windows/$EXPORT_NAME.exe" + godot --headless --export-release "Windows" "$EXPORT_DIR/windows/$EXPORT_NAME.exe" - name: Upload Artifact uses: actions/upload-artifact@v3 with: name: windows path: build/windows - export-linux: - name: Linux Export - runs-on: ubuntu-24.04 # Use 24.04 with godot 4 - container: barichello/godot-ci:4.6 - steps: - - name: Update and install dependencies - run: | - apt-get update - apt-get install -y curl gnupg + # export-linux: + # name: Linux Export + # runs-on: ubuntu-24.04 # Use 24.04 with godot 4 + # container: barichello/godot-ci:4.6 + # steps: + # - name: Update and install dependencies + # run: | + # apt-get update + # apt-get install -y curl gnupg - - name: Install Node.js - run: | - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - - apt-get install -y nodejs + # - name: Install Node.js + # run: | + # curl -fsSL https://deb.nodesource.com/setup_20.x | bash - + # apt-get install -y nodejs - - name: Checkout - uses: actions/checkout@v4 - with: - lfs: true - - name: Setup - run: | - mkdir -v -p ~/.local/share/godot/export_templates/ + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # lfs: true + # - name: Setup + # run: | + # mkdir -v -p ~/.local/share/godot/export_templates/ - - name: Linux Build - run: | - mkdir -v -p build/linux - EXPORT_DIR="$(readlink -f build)" - cd $PROJECT_PATH - godot --headless --verbose --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64" + # - name: Linux Build + # run: | + # set -Eeuo pipefail + # mkdir -v -p build/linux + # EXPORT_DIR="$(readlink -f build)" + # cd $PROJECT_PATH + # godot --headless --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64" - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: linux - path: build/linux + # - name: Upload Artifact + # uses: actions/upload-artifact@v3 + # with: + # name: linux + # path: build/linux create-release: name: Create Release