Files
godotv4.4.1-mono-actions/.gitea/workflows/godot-ci.yml
Zaytha a374eabc49
All checks were successful
godot-ci export / Steam Publish (push) Successful in 39s
reading out this whole folder now
2025-07-06 12:43:40 -07:00

181 lines
6.4 KiB
YAML

# This is an edtied version of abarichello's automation script for gitea and godot mono
# https://github.com/abarichello/godot-ci/blob/master/.github/workflows/godot-ci.yml
name: "godot-ci export"
on: push
# NOTE: If your `project.godot` is at the repository root, set `PROJECT_PATH` below to ".".
env:
GODOT_VERSION: 4.4.1
EXPORT_NAME: videogame
PROJECT_PATH: "."
ACTIONS_RUNNER_DEBUG: true
ACTIONS_STEP_DEBUG: true
jobs:
# export-windows:
# name: Windows Export
# runs-on: ubuntu-22.04 # Use 22.04 with godot 4
# container:
# image: barichello/godot-ci:mono-4.4.1 # change to mono
# steps:
# # Doing this becuase barichello/godot-ci:4.4 doesn't have nodejs installed, may need to make own docker image in the future
# # By default ubuntu-22.04 has nodejs 12, but we need a more modern version for the actions/checkout@v4
# - name: Install Node.js
# run: |
# apt-get update
# apt-get install -y curl
# curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
# apt-get install -y nodejs
# - name: Checkout
# uses: https://gitea.com/actions/checkout@v4
# with:
# lfs: true
# - name: Setup
# run: |
# mkdir -v -p ~/.local/share/godot/export_templates/
# mkdir -v -p ~/.config/
# - name: Windows Build
# run: |
# mkdir -v -p build/bin/windows
# EXPORT_DIR="$(readlink -f build/bin)"
# cd $PROJECT_PATH
# godot --headless --verbose --export-release "Windows Desktop" "$EXPORT_DIR/windows/$EXPORT_NAME.exe"
# - name: Upload Artifact
# uses: https://gitea.com/actions/upload-artifact@v3 # using v3 ad v4 has issues wwith gitea
# with:
# name: windows
# path: build/bin/windows
# export-linux:
# name: Linux Export
# runs-on: ubuntu-22.04 # Use 22.04 with godot 4
# container:
# image: barichello/godot-ci:4.4
# steps:
# # Doing this becuase barichello/godot-ci:4.4 doesn't have nodejs installed, may need to make own docker image in the future
# # By default ubuntu-22.04 has nodejs 12, but we need a more modern version for the actions/checkout@v4
# - name: Install Node.js
# run: |
# apt-get update
# apt-get install -y curl
# curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
# apt-get install -y nodejs
# - name: Checkout
# uses: https://gitea.com/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/bin/linux
# EXPORT_DIR="$(readlink -f build/bin)"
# cd $PROJECT_PATH
# godot --headless --verbose --export-release "Linux" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
# - name: Upload Artifact
# uses: https://gitea.com/actions/upload-artifact@v3 # using v3 ad v4 has issues wwith gitea
# with:
# name: linux
# path: build/bin/linux
steam-publish:
name: Steam Publish
runs-on: ubuntu-22.04
# The container is no longer needed
# container:
# image: cm2network/steamcmd:root
#needs: [export-windows, export-linux]
steps:
- name: Install Dependencies
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
lib32gcc-s1 \
lib32stdc++6 \
curl \
nodejs \
git \
git-lfs
git lfs install
- name: Setup SteamCMD
run: |
mkdir -p ~/steamcmd
curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C ~/steamcmd
# Run once to initialize
~/steamcmd/steamcmd.sh +quit
# - name: Checkout
# uses: https://gitea.com/actions/checkout@v4
# with:
# lfs: true
# # Download artifacts, this isn't done automatially like it was in gitlab
# - name: Download Windows Artifacts
# uses: https://gitea.com/actions/download-artifact@v3
# with:
# name: windows
# path: build/bin/windows
# - name: Download Linux Artifacts
# uses: https://gitea.com/actions/download-artifact@v3
# with:
# name: linux
# path: build/bin/linux
# - name: Restore Cache
# uses: https://gitea.com/actions/cache/restore@v3
# with:
# path: |
# ~/steamcmd/
# ./steam_build_output/
# key: steam-cache-${{ runner.os }}-${{ github.ref_name }}
# restore-keys: |
# steam-cache-${{ runner.os }}
# steam-cache
# - name: Read Cache
# run: |
# # The Read Cache step is now handled by the actions/cache@v3 restore process.
# # This step can be removed or left for debugging.
# echo "Files in steamcmd directory:"
# ls -la ~/steamcmd/
# - name: Update VDF
# run: |
# cd $PROJECT_PATH
# SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-8)
# sed -i -e "s/STEAM_DESCRIPTION/${GITHUB_REF_NAME} - ${SHORT_SHA}/" build/build_dependencies/steam/app_build_2739610.vdf
# - name: Publish to Steam
# run: |
# cd $PROJECT_PATH
# ~/steamcmd/steamcmd.sh +set_steam_guard_code "${{ secrets.STEAM_GUARD_CODE }}" +login "${{ vars.STEAM_BUILD_USERNAME }}" "${{ secrets.STEAM_BUILD_PASSWORD }}" +run_app_build "$PWD/build/build_dependencies/steam/app_build_2739610.vdf" +quit
- name: Write Cache
run: |
# The Write Cache step is now handled by the actions/cache@v3 save process.
# This step can be removed or left for debugging.
echo "Files in steamcmd directory to be cached:"
ls -la ~/
echo "Files in steamcmd directory:"
ls -la ~/steamcmd/
echo "Files in steam directory:"
ls -la ~/Steam/
echo "Files in steam config directory:"
ls -la ~/Steam/config
# - name: Save Cache
# uses: https://gitea.com/actions/cache/save@v3
# with:
# path: |
# ~/steamcmd/
# ./steam_build_output/
# key: steam-cache-${{ runner.os }}-${{ github.ref_name }}