Test version text
This commit is contained in:
@ -28,14 +28,36 @@ jobs:
|
|||||||
apt-get install -y curl
|
apt-get install -y curl
|
||||||
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
||||||
apt-get install -y nodejs
|
apt-get install -y nodejs
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: https://gitea.com/actions/checkout@v4
|
uses: https://gitea.com/actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
|
||||||
- name: Setup
|
- name: Setup
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p ~/.local/share/godot/export_templates/
|
mkdir -v -p ~/.local/share/godot/export_templates/
|
||||||
mkdir -v -p ~/.config/
|
mkdir -v -p ~/.config/
|
||||||
|
|
||||||
|
- name: Populate Version Text
|
||||||
|
run: |
|
||||||
|
|
||||||
|
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 these values
|
||||||
|
sed -i "s/var project_name: String = \"X\"/var project_name: String = \"${PROJECT_NAME}\"/" ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
sed -i "s/var commit_number: int = 0/var commit_number: int = ${COMMIT_NUMBER}/" ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
sed -i "s/var branch_name: String = \"X\"/var branch_name: String = \"${BRANCH_NAME}\"/" ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
sed -i "s/var short_sha: String = \"X\"/var short_sha: String = \"${SHORT_SHA}\"/" ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
sed -i "s/var build_override: bool = false/var build_override: bool = true/" ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
|
||||||
|
# Show the updated file for verification
|
||||||
|
echo "Updated version_text.gd:"
|
||||||
|
cat ${PROJECT_PATH}/game/scripts/version_text.gd
|
||||||
|
|
||||||
- name: Windows Build
|
- name: Windows Build
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/bin/windows
|
mkdir -v -p build/bin/windows
|
||||||
@ -50,146 +72,146 @@ jobs:
|
|||||||
path: build/bin/windows
|
path: build/bin/windows
|
||||||
|
|
||||||
|
|
||||||
export-linux:
|
# export-linux:
|
||||||
name: Linux Export
|
# name: Linux Export
|
||||||
runs-on: ubuntu-22.04 # Use 22.04 with godot 4
|
# runs-on: ubuntu-22.04 # Use 22.04 with godot 4
|
||||||
container:
|
# container:
|
||||||
image: barichello/godot-ci:4.4
|
# image: barichello/godot-ci:4.4
|
||||||
steps:
|
# steps:
|
||||||
# Doing this becuase barichello/godot-ci:4.4 doesn't have nodejs installed, may need to make own docker image in the future
|
# # 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
|
# # By default ubuntu-22.04 has nodejs 12, but we need a more modern version for the actions/checkout@v4
|
||||||
- name: Install Node.js
|
# - name: Install Node.js
|
||||||
run: |
|
# run: |
|
||||||
apt-get update
|
# apt-get update
|
||||||
apt-get install -y curl
|
# apt-get install -y curl
|
||||||
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
# curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
||||||
apt-get install -y nodejs
|
# apt-get install -y nodejs
|
||||||
- name: Checkout
|
# - name: Checkout
|
||||||
uses: https://gitea.com/actions/checkout@v4
|
# uses: https://gitea.com/actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
lfs: true
|
# lfs: true
|
||||||
- name: Setup
|
# - name: Setup
|
||||||
run: |
|
# run: |
|
||||||
mkdir -v -p ~/.local/share/godot/export_templates/
|
# mkdir -v -p ~/.local/share/godot/export_templates/
|
||||||
- name: Linux Build
|
# - name: Linux Build
|
||||||
run: |
|
# run: |
|
||||||
mkdir -v -p build/bin/linux
|
# mkdir -v -p build/bin/linux
|
||||||
EXPORT_DIR="$(readlink -f build/bin)"
|
# EXPORT_DIR="$(readlink -f build/bin)"
|
||||||
cd $PROJECT_PATH
|
# cd $PROJECT_PATH
|
||||||
godot --headless --verbose --export-release "Linux" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
|
# godot --headless --verbose --export-release "Linux" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
|
||||||
- name: Upload Artifact
|
# - name: Upload Artifact
|
||||||
uses: https://gitea.com/actions/upload-artifact@v3 # using v3 ad v4 has issues wwith gitea
|
# uses: https://gitea.com/actions/upload-artifact@v3 # using v3 ad v4 has issues wwith gitea
|
||||||
with:
|
# with:
|
||||||
name: linux
|
# name: linux
|
||||||
path: build/bin/linux
|
# path: build/bin/linux
|
||||||
|
|
||||||
steam-publish:
|
# steam-publish:
|
||||||
name: Steam Publish
|
# name: Steam Publish
|
||||||
runs-on: ubuntu-22.04
|
# runs-on: ubuntu-22.04
|
||||||
needs: [export-windows, export-linux]
|
# needs: [export-windows, export-linux]
|
||||||
steps:
|
# steps:
|
||||||
# I can't use the c2msnetwork/steamcmd bc I need to instlal git and nodejs for the actions/checkout@v4 to work
|
# # 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
|
# # 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
|
# # So here we setup the dependencies for the missing steamcmd image, nodejs, and git manually
|
||||||
- name: Install Dependencies
|
# - name: Install Dependencies
|
||||||
run: |
|
# run: |
|
||||||
sudo dpkg --add-architecture i386
|
# sudo dpkg --add-architecture i386
|
||||||
sudo apt-get update
|
# sudo apt-get update
|
||||||
sudo apt-get install -y --no-install-recommends \
|
# sudo apt-get install -y --no-install-recommends \
|
||||||
lib32gcc-s1 \
|
# lib32gcc-s1 \
|
||||||
lib32stdc++6 \
|
# lib32stdc++6 \
|
||||||
curl \
|
# curl \
|
||||||
nodejs \
|
# nodejs \
|
||||||
git \
|
# git \
|
||||||
git-lfs
|
# git-lfs
|
||||||
git lfs install
|
# git lfs install
|
||||||
|
|
||||||
# Get the file from the link and put it in the required directory
|
# # Get the file from the link and put it in the required directory
|
||||||
- name: Setup SteamCMD
|
# - name: Setup SteamCMD
|
||||||
run: |
|
# run: |
|
||||||
mkdir -p ~/steamcmd
|
# mkdir -p ~/steamcmd
|
||||||
curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C ~/steamcmd
|
# curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C ~/steamcmd
|
||||||
# Run once to initialize
|
# # Run once to initialize
|
||||||
~/steamcmd/steamcmd.sh +quit
|
# ~/steamcmd/steamcmd.sh +quit
|
||||||
|
|
||||||
# Get all the files from the repo into the working directory
|
# # Get all the files from the repo into the working directory
|
||||||
- name: Checkout
|
# - name: Checkout
|
||||||
uses: https://gitea.com/actions/checkout@v4
|
# uses: https://gitea.com/actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
lfs: true
|
# lfs: true
|
||||||
|
|
||||||
# Download artifacts, this isn't done automatially like it was in gitlab
|
# # Download artifacts, this isn't done automatially like it was in gitlab
|
||||||
- name: Download Windows Artifacts
|
# - name: Download Windows Artifacts
|
||||||
uses: https://gitea.com/actions/download-artifact@v3
|
# uses: https://gitea.com/actions/download-artifact@v3
|
||||||
with:
|
# with:
|
||||||
name: windows
|
# name: windows
|
||||||
path: build/bin/windows
|
# path: build/bin/windows
|
||||||
|
|
||||||
- name: Download Linux Artifacts
|
# - name: Download Linux Artifacts
|
||||||
uses: https://gitea.com/actions/download-artifact@v3
|
# uses: https://gitea.com/actions/download-artifact@v3
|
||||||
with:
|
# with:
|
||||||
name: linux
|
# name: linux
|
||||||
path: build/bin/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 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 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.
|
# # 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
|
# # After a successful upload, the config.vdf file will be created and saved in the cache for future runs
|
||||||
- name: Restore Cache
|
# - name: Restore Cache
|
||||||
uses: https://gitea.com/actions/cache/restore@v3
|
# uses: https://gitea.com/actions/cache/restore@v3
|
||||||
with:
|
# with:
|
||||||
path: |
|
# path: |
|
||||||
~/Steam/config/config.vdf
|
# ~/Steam/config/config.vdf
|
||||||
./steam_build_output/
|
# ./steam_build_output/
|
||||||
key: steam-cache-${{ runner.os }}-${{ github.ref_name }}
|
# key: steam-cache-${{ runner.os }}-${{ github.ref_name }}
|
||||||
restore-keys: |
|
# restore-keys: |
|
||||||
steam-cache-${{ runner.os }}
|
# steam-cache-${{ runner.os }}
|
||||||
steam-cache
|
# steam-cache
|
||||||
|
|
||||||
# Debug to see if cache file exists
|
# # Debug to see if cache file exists
|
||||||
- name: Debug Pre-Cache
|
# - name: Debug Pre-Cache
|
||||||
run: |
|
# run: |
|
||||||
echo "Checking for cached config file in :~/Steam/config/config.vdf"
|
# echo "Checking for cached config file in :~/Steam/config/config.vdf"
|
||||||
if [ -f ~/Steam/config/config.vdf ]; then
|
# if [ -f ~/Steam/config/config.vdf ]; then
|
||||||
echo "config.vdf exists!"
|
# echo "config.vdf exists!"
|
||||||
ls -la ~/Steam/config/config.vdf
|
# ls -la ~/Steam/config/config.vdf
|
||||||
else
|
# else
|
||||||
echo "No cached config.vdf file."
|
# echo "No cached config.vdf file."
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
- name: Update VDF
|
# - name: Update VDF
|
||||||
run: |
|
# run: |
|
||||||
cd $PROJECT_PATH
|
# cd $PROJECT_PATH
|
||||||
SHORT_SHA=$(echo $GITHUB_SHA | cut -c1-8)
|
# 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
|
# 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.
|
# # 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
|
# # 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
|
# # 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 :)
|
# # Waiting 30 mintues worked for me, idk if that supersition is real or not :)
|
||||||
- name: Publish to Steam
|
# - name: Publish to Steam
|
||||||
run: |
|
# run: |
|
||||||
cd $PROJECT_PATH
|
# 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
|
# # Sanitys check make sure file exists
|
||||||
- name: Debug Post-Cache
|
# - name: Debug Post-Cache
|
||||||
run: |
|
# run: |
|
||||||
echo "Checking for config file in :~/Steam/config/config.vdf"
|
# echo "Checking for config file in :~/Steam/config/config.vdf"
|
||||||
if [ -f ~/Steam/config/config.vdf ]; then
|
# if [ -f ~/Steam/config/config.vdf ]; then
|
||||||
echo "File exists!"
|
# echo "File exists!"
|
||||||
ls -la ~/Steam/config/config.vdf
|
# ls -la ~/Steam/config/config.vdf
|
||||||
else
|
# else
|
||||||
echo "No file found."
|
# echo "No file found."
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# Manually save the cache file, normal method doesn't work
|
# # Manually save the cache file, normal method doesn't work
|
||||||
- name: Save Cache
|
# - name: Save Cache
|
||||||
uses: https://gitea.com/actions/cache/save@v3
|
# uses: https://gitea.com/actions/cache/save@v3
|
||||||
with:
|
# with:
|
||||||
path: |
|
# path: |
|
||||||
~/Steam/config/config.vdf
|
# ~/Steam/config/config.vdf
|
||||||
./steam_build_output/
|
# ./steam_build_output/
|
||||||
key: steam-cache-${{ runner.os }}-${{ github.ref_name }}
|
# key: steam-cache-${{ runner.os }}-${{ github.ref_name }}
|
||||||
@ -1,4 +1,6 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://bgpec3avuotkt"]
|
[gd_scene load_steps=9 format=3 uid="uid://bgpec3avuotkt"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dlna6j58fshxu" path="res://game/scripts/version_label.gd" id="1_iapjp"]
|
||||||
|
|
||||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_no5d7"]
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_no5d7"]
|
||||||
sky_top_color = Color(0.340506, 0.443905, 0.662582, 1)
|
sky_top_color = Color(0.340506, 0.443905, 0.662582, 1)
|
||||||
@ -61,3 +63,18 @@ mesh = SubResource("PrismMesh_no5d7")
|
|||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[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)
|
transform = Transform3D(-0.998152, 0, -0.0607699, 0, 1, 0, 0.0607699, 0, -0.998152, 0, 0, -2.11699)
|
||||||
|
|
||||||
|
[node name="temp_ui" type="Control" parent="."]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="VersionLabel" type="Label" parent="temp_ui"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
script = ExtResource("1_iapjp")
|
||||||
|
show_label_in_editor = false
|
||||||
|
|||||||
23
game/scripts/version_label.gd
Normal file
23
game/scripts/version_label.gd
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
extends VersionText
|
||||||
|
|
||||||
|
|
||||||
|
@export var show_label_in_editor: bool = true
|
||||||
|
@export_category("Label Settings")
|
||||||
|
@export var major_version: int = 0
|
||||||
|
@export var minor_version: int = 0
|
||||||
|
@export var patch: int = 0
|
||||||
|
|
||||||
|
@export var show_branch_name: bool = true
|
||||||
|
@export var show_sha: bool = true
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
# fill text
|
||||||
|
text = ("%s_%d.%d.%d-%03d" %[project_name, major_version, minor_version, patch, commit_number])
|
||||||
|
|
||||||
|
# extra details
|
||||||
|
if show_branch_name: text += "-%s" %branch_name
|
||||||
|
if show_sha: text += "-%s" %short_sha
|
||||||
|
|
||||||
|
# show text
|
||||||
|
if show_label_in_editor || build_override: show()
|
||||||
|
else: hide()
|
||||||
1
game/scripts/version_label.gd.uid
Normal file
1
game/scripts/version_label.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://dlna6j58fshxu
|
||||||
8
game/scripts/version_text.gd
Normal file
8
game/scripts/version_text.gd
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
class_name VersionText extends Label
|
||||||
|
|
||||||
|
var project_name: String = "X"
|
||||||
|
var commit_number: int = 0
|
||||||
|
var branch_name: String = "X"
|
||||||
|
var short_sha: String = "X"
|
||||||
|
|
||||||
|
var build_override: bool = false
|
||||||
1
game/scripts/version_text.gd.uid
Normal file
1
game/scripts/version_text.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://b3rhuel4vnoss
|
||||||
Reference in New Issue
Block a user