# 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 EXPORT_NAME: test-project 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/windows # EXPORT_DIR="$(readlink -f build)" # 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/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/linux # EXPORT_DIR="$(readlink -f build)" # 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/linux steam-publish: name: Steam Publish runs-on: ubuntu-22.04 container: image: cm2network/steamcmd:root #needs: [export-windows, export-linux] 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 and git run: | apt-get update apt-get install -y curl curl -fsSL https://deb.nodesource.com/setup_18.x | bash - apt-get install -y nodejs git git-lfs - name: Checkout uses: https://gitea.com/actions/checkout@v4 with: lfs: true - name: Read Cache run: | echo "TODO Read Cache" - 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 # We don't need to download the artifcts, as they are alread in the container and targeted by the VDF run: | cd $PROJECT_PATH /home/steam/steamcmd/steamcmd.sh +set_steam_guard_code "${{ secrets.STEAM_GUARD_CODE }}" +login "${{ secrets.STEAM_BUILD_USERNAME }}" "${{ secrets.STEAM_BUILD_PASSWORD }}" +run_app_build "$PWD/build/build_dependencies/steam/app_build_2739610.vdf" +quit - name: Cache Config and sentry run: | echo "TODO Cache Config and sentry"