diff --git a/.gitea/workflows/godot-ci.yml b/.gitea/workflows/godot-ci.yml index 2c206af..a793231 100644 --- a/.gitea/workflows/godot-ci.yml +++ b/.gitea/workflows/godot-ci.yml @@ -80,188 +80,188 @@ jobs: # Debug to see if the export templates were downloaded correctly ls -la "$PROJECT_PATH/build/build_dependencies/export_templates/" - # - 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: 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 + - 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 + 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: Checkout + uses: https://gitea.com/actions/checkout@v4 + with: + lfs: true - # - name: Setup - # run: | - # mkdir -v -p ~/.local/share/godot/export_templates/ + - name: Setup + run: | + mkdir -v -p ~/.local/share/godot/export_templates/ - # # Update the version_text.gd file with info about this build. - # # If it isn't in the expected spot of game/scripts/version_text.gd skip it - # - name: Populate Version Text - # run: | - # VERSION_FILE="${PROJECT_PATH}/game/scripts/version_text.gd" - # if [ -f "$VERSION_FILE" ]; then - # PROJECT_NAME="${EXPORT_NAME}" - # COMMIT_NUMBER="${GITHUB_RUN_NUMBER}" - # BRANCH_NAME="${GITHUB_REF_NAME}" - # SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-8) + # Update the version_text.gd file with info about this build. + # If it isn't in the expected spot of game/scripts/version_text.gd skip it + - name: Populate Version Text + run: | + VERSION_FILE="${PROJECT_PATH}/game/scripts/version_text.gd" + if [ -f "$VERSION_FILE" ]; then + PROJECT_NAME="${EXPORT_NAME}" + COMMIT_NUMBER="${GITHUB_RUN_NUMBER}" + BRANCH_NAME="${GITHUB_REF_NAME}" + SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-8) - # sed -i "s/var project_name: String = \"X\"/var project_name: String = \"${PROJECT_NAME}\"/" "$VERSION_FILE" - # sed -i "s/var commit_number: int = 0/var commit_number: int = ${COMMIT_NUMBER}/" "$VERSION_FILE" - # sed -i "s/var branch_name: String = \"X\"/var branch_name: String = \"${BRANCH_NAME}\"/" "$VERSION_FILE" - # sed -i "s/var short_sha: String = \"X\"/var short_sha: String = \"${SHORT_SHA}\"/" "$VERSION_FILE" - # sed -i "s/var build_override: bool = false/var build_override: bool = true/" "$VERSION_FILE" + sed -i "s/var project_name: String = \"X\"/var project_name: String = \"${PROJECT_NAME}\"/" "$VERSION_FILE" + sed -i "s/var commit_number: int = 0/var commit_number: int = ${COMMIT_NUMBER}/" "$VERSION_FILE" + sed -i "s/var branch_name: String = \"X\"/var branch_name: String = \"${BRANCH_NAME}\"/" "$VERSION_FILE" + sed -i "s/var short_sha: String = \"X\"/var short_sha: String = \"${SHORT_SHA}\"/" "$VERSION_FILE" + sed -i "s/var build_override: bool = false/var build_override: bool = true/" "$VERSION_FILE" - # echo "Updated version_text.gd:" - # cat "$VERSION_FILE" - # else - # echo "version_text.gd not found at $VERSION_FILE, skipping." - # fi + echo "Updated version_text.gd:" + cat "$VERSION_FILE" + else + echo "version_text.gd not found at $VERSION_FILE, skipping." + fi - # - 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: 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 + - 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 - # needs: [export-windows, export-linux] - # steps: - # # I can't use the c2msnetwork/steamcmd bc I need to instlal git and nodejs for the actions/checkout@v4 to work - # # and I would need root access to install them, which breaks saving the cache file - # # So here we setup the dependencies for the missing steamcmd image, nodejs, and git manually - # - 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 + steam-publish: + name: Steam Publish + runs-on: ubuntu-22.04 + needs: [export-windows, export-linux] + steps: + # I can't use the c2msnetwork/steamcmd bc I need to instlal git and nodejs for the actions/checkout@v4 to work + # and I would need root access to install them, which breaks saving the cache file + # So here we setup the dependencies for the missing steamcmd image, nodejs, and git manually + - 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 - # # Get the file from the link and put it in the required directory - # - 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 + # Get the file from the link and put it in the required directory + - 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 - # # Get all the files from the repo into the working directory - # - name: Checkout - # uses: https://gitea.com/actions/checkout@v4 - # with: - # lfs: true + # Get all the files from the repo into the working directory + - 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 + # 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: Download Linux Artifacts + uses: https://gitea.com/actions/download-artifact@v3 + with: + name: linux + path: build/bin/linux - # # The normal actions/cache@v3 doesn't work here, so need to manully restore the cache in this step - # # The only file we need is the config.vdf file for the steam gaurd code + # The normal actions/cache@v3 doesn't work here, so need to manully restore the cache in this step + # The only file we need is the config.vdf file for the steam gaurd code - # # If the file doesn't exist, the steam upload will fail and request a new steam guard code. - # # After a successful upload, the config.vdf file will be created and saved in the cache for future runs - # - name: Restore Cache - # uses: https://gitea.com/actions/cache/restore@v3 - # with: - # path: | - # ~/Steam/config/config.vdf - # ./steam_build_output/ - # key: steam-cache-${{ runner.os }}-${{ github.ref_name }} - # restore-keys: | - # steam-cache-${{ runner.os }} - # steam-cache + # If the file doesn't exist, the steam upload will fail and request a new steam guard code. + # After a successful upload, the config.vdf file will be created and saved in the cache for future runs + - name: Restore Cache + uses: https://gitea.com/actions/cache/restore@v3 + with: + path: | + ~/Steam/config/config.vdf + ./steam_build_output/ + key: steam-cache-${{ runner.os }}-${{ github.ref_name }} + restore-keys: | + steam-cache-${{ runner.os }} + steam-cache - # # Debug to see if cache file exists - # - name: Debug Pre-Cache - # run: | - # echo "Checking for cached config file in :~/Steam/config/config.vdf" - # if [ -f ~/Steam/config/config.vdf ]; then - # echo "config.vdf exists!" - # ls -la ~/Steam/config/config.vdf - # else - # echo "No cached config.vdf file." - # fi + # Debug to see if cache file exists + - name: Debug Pre-Cache + run: | + echo "Checking for cached config file in :~/Steam/config/config.vdf" + if [ -f ~/Steam/config/config.vdf ]; then + echo "config.vdf exists!" + ls -la ~/Steam/config/config.vdf + else + echo "No cached config.vdf file." + fi - # # Update the vdf with steam description from build info - # - 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 + # Update the vdf with steam description from build info + - 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 - # # There is a chacne that if you fail enough uplaods, steam will rate limit you. - # # But to get a new steamguard code, you need to fail at least once to get the emial with the code - # # The ratelimit time isn't published, but I saw in a reddit commit that its 30 minutes, but if you fail in that 30 mintues, it resets the timer - # # Waiting 30 mintues worked for me, idk if that supersition is real or not :) - # - name: Publish to Steam - # run: | - # cd $PROJECT_PATH + # There is a chacne that if you fail enough uplaods, steam will rate limit you. + # But to get a new steamguard code, you need to fail at least once to get the emial with the code + # The ratelimit time isn't published, but I saw in a reddit commit that its 30 minutes, but if you fail in that 30 mintues, it resets the timer + # Waiting 30 mintues worked for me, idk if that supersition is real or not :) + - 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 + ~/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 - # # Sanitys check make sure file exists - # - name: Debug Post-Cache - # run: | - # echo "Checking for config file in :~/Steam/config/config.vdf" - # if [ -f ~/Steam/config/config.vdf ]; then - # echo "File exists!" - # ls -la ~/Steam/config/config.vdf - # else - # echo "No file found." - # fi + # Sanitys check make sure file exists + - name: Debug Post-Cache + run: | + echo "Checking for config file in :~/Steam/config/config.vdf" + if [ -f ~/Steam/config/config.vdf ]; then + echo "File exists!" + ls -la ~/Steam/config/config.vdf + else + echo "No file found." + fi - # # Manually save the cache file, normal method doesn't work - # - name: Save Cache - # uses: https://gitea.com/actions/cache/save@v3 - # with: - # path: | - # ~/Steam/config/config.vdf - # ./steam_build_output/ - # key: steam-cache-${{ runner.os }}-${{ github.ref_name }} \ No newline at end of file + # Manually save the cache file, normal method doesn't work + - name: Save Cache + uses: https://gitea.com/actions/cache/save@v3 + with: + path: | + ~/Steam/config/config.vdf + ./steam_build_output/ + key: steam-cache-${{ runner.os }}-${{ github.ref_name }} \ No newline at end of file diff --git a/demo_scene.tscn b/demo_scene.tscn index 09db7db..b6185ab 100644 --- a/demo_scene.tscn +++ b/demo_scene.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=6 format=3 uid="uid://bgpec3avuotkt"] +[gd_scene load_steps=7 format=3 uid="uid://bgpec3avuotkt"] [ext_resource type="Script" uid="uid://dlna6j58fshxu" path="res://game/scripts/version_label.gd" id="1_iapjp"] @@ -21,6 +21,8 @@ glow_enabled = true [sub_resource type="TorusMesh" id="TorusMesh_no5d7"] +[sub_resource type="SphereMesh" id="SphereMesh_iapjp"] + [node name="Node3D" type="Node3D"] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] @@ -35,6 +37,10 @@ environment = SubResource("Environment_8n7uv") transform = Transform3D(0.9115, 0.389701, -0.131534, 0.290076, -0.382369, 0.877297, 0.291589, -0.837811, -0.461572, 0.24582, 0, 0) mesh = SubResource("TorusMesh_no5d7") +[node name="MeshInstance3D4" type="MeshInstance3D" parent="."] +transform = Transform3D(0.9115, 0.389701, -0.131534, 0.290076, -0.382369, 0.877297, 0.291589, -0.837811, -0.461572, 0.514811, -0.197967, 0) +mesh = SubResource("SphereMesh_iapjp") + [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(-0.998152, 0, -0.0607699, 0, 1, 0, 0.0607699, 0, -0.998152, 0, 0, -2.11699) @@ -51,3 +57,4 @@ layout_mode = 0 offset_right = 40.0 offset_bottom = 23.0 script = ExtResource("1_iapjp") +minor_version = 1