Author SHA1 Message Date
adtpdn af6870f6a9 fix: use https instead of http for gitea API and clones
Release / Build & Release (push) Successful in 15m53s
2026-07-06 13:47:23 +08:00
adtpdn 968808df6d feat: modify the CI try over https
Release / Build & Release (push) Failing after 13m3s
2026-07-06 12:53:35 +08:00
adtpdn 472c49944b feat: downgrade to 4.6.3
Release / Build & Release (push) Failing after 25s
2026-07-06 12:42:59 +08:00
adtpdn 5c789cb37f fix: downgrade workflow godot version to 4.6.3 to match system, fix godot compilation errors 2026-07-06 12:09:23 +08:00
8 changed files with 380 additions and 366 deletions
+19 -19
View File
@@ -3,7 +3,7 @@ name: Release
on:
push:
tags:
- 'v*'
- "v*"
jobs:
release:
@@ -20,29 +20,29 @@ jobs:
- name: Checkout Code
run: |
git config --global credential.helper store
echo "http://god:${{ secrets.TEKTON_RELEASE_TOKEN }}@52.74.133.55:3000" > ~/.git-credentials
git clone http://52.74.133.55:3000/danchie/tekton.git .
echo "https://god:${{ secrets.TEKTON_RELEASE_TOKEN }}@git.klud.top" > ~/.git-credentials
git clone https://git.klud.top/danchie/tekton.git .
git checkout $TAG_NAME
- name: Setup Godot (Cached)
run: |
apt-get update -qq && apt-get install -y -qq unzip curl
if [ ! -f /cache/godot_4.7 ]; then
echo "Downloading Godot 4.7..."
curl -sL -o /tmp/godot.zip "https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_linux.x86_64.zip"
if [ ! -f /cache/godot_4.6.3 ]; then
echo "Downloading Godot 4.6.3..."
curl -sL -o /tmp/godot.zip "https://github.com/godotengine/godot-builds/releases/download/4.6.3-stable/Godot_v4.6.3-stable_linux.x86_64.zip"
unzip -q -o /tmp/godot.zip -d /cache/
mv /cache/Godot_v4.7-stable_linux.x86_64 /cache/godot_4.7
mv /cache/Godot_v4.6.3-stable_linux.x86_64 /cache/godot_4.6.3
fi
cp /cache/godot_4.7 /usr/local/bin/godot
cp /cache/godot_4.6.3 /usr/local/bin/godot
chmod +x /usr/local/bin/godot
mkdir -p ~/.local/share/godot/export_templates/4.7.stable
if [ ! -f /cache/Godot_v4.7-stable_export_templates.tpz ]; then
mkdir -p ~/.local/share/godot/export_templates/4.6.3.stable
if [ ! -f /cache/Godot_v4.6.3-stable_export_templates.tpz ]; then
echo "Downloading templates..."
curl -sL -o /cache/Godot_v4.7-stable_export_templates.tpz \
"https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_export_templates.tpz"
curl -sL -o /cache/Godot_v4.6.3-stable_export_templates.tpz \
"https://github.com/godotengine/godot-builds/releases/download/4.6.3-stable/Godot_v4.6.3-stable_export_templates.tpz"
fi
cd ~/.local/share/godot/export_templates/4.7.stable
unzip -q -o /cache/Godot_v4.7-stable_export_templates.tpz
cd ~/.local/share/godot/export_templates/4.6.3.stable
unzip -q -o /cache/Godot_v4.6.3-stable_export_templates.tpz
mv templates/* .
rm -rf templates
cd $GITHUB_WORKSPACE
@@ -85,7 +85,7 @@ jobs:
- name: Create Gitea Release
run: |
set -e
API="http://52.74.133.55:3000/api/v1/repos/danchie/tekton/releases"
API="https://git.klud.top/api/v1/repos/danchie/tekton/releases"
TAG="$TAG_NAME"
echo "Checking existing release for $TAG..."
RELEASE_JSON=$(curl -s -H "Authorization: token $GITEA_TOKEN" "$API/tags/$TAG" 2>/dev/null || echo "")
@@ -116,7 +116,7 @@ jobs:
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "attachment=@build/tekton_armageddon_windows_${TAG_NAME}.zip" \
"http://52.74.133.55:3000/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
"https://git.klud.top/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
echo "Windows uploaded"
- name: Upload Linux asset
@@ -126,7 +126,7 @@ jobs:
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "attachment=@build/tekton_armageddon_linux_${TAG_NAME}.zip" \
"http://52.74.133.55:3000/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
"https://git.klud.top/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
echo "Linux uploaded"
- name: Upload macOS asset
@@ -137,7 +137,7 @@ jobs:
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "attachment=@build/tekton_armageddon_macos_${TAG_NAME}.zip" \
"http://52.74.133.55:3000/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
"https://git.klud.top/api/v1/repos/danchie/tekton/releases/$RELEASE_ID/assets"
echo "macOS uploaded"
else
echo "macOS asset not built, skipping"
@@ -150,5 +150,5 @@ jobs:
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"draft":false}' \
"http://52.74.133.55:3000/api/v1/repos/danchie/tekton/releases/$RELEASE_ID"
"https://git.klud.top/api/v1/repos/danchie/tekton/releases/$RELEASE_ID"
echo "Published: https://git.klud.top/danchie/tekton/releases/tag/$TAG_NAME"
+9 -9
View File
@@ -4,11 +4,11 @@ on:
workflow_dispatch:
inputs:
version:
description: 'Patch version (e.g., 2.4.2)'
description: "Patch version (e.g., 2.4.4)"
required: true
type: string
notes:
description: 'Release notes'
description: "Release notes"
required: false
type: string
@@ -22,20 +22,20 @@ jobs:
env:
GITEA_TOKEN: ${{ secrets.TEKTON_RELEASE_TOKEN }}
run: |
git clone --depth 1 http://god:$GITEA_TOKEN@52.74.133.55:3000/danchie/tekton.git .
git clone --depth 1 https://god:$GITEA_TOKEN@git.klud.top/danchie/tekton.git .
git config user.name "god"
git config user.email "god@noreply.git.klud.top"
- name: Setup Godot (Cached)
run: |
if [ ! -f /cache/godot_4.7 ]; then
echo "Downloading Godot 4.7..."
if [ ! -f /cache/godot_4.6.3 ]; then
echo "Downloading Godot 4.6.3..."
apt-get update -qq && apt-get install -y -qq unzip curl
curl -sL -o /tmp/godot.zip "https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_linux.x86_64.zip"
curl -sL -o /tmp/godot.zip "https://github.com/godotengine/godot-builds/releases/download/4.6.3-stable/Godot_v4.6.3-stable_linux.x86_64.zip"
unzip -q -o /tmp/godot.zip -d /cache/
mv /cache/Godot_v4.7-stable_linux.x86_64 /cache/godot_4.7
mv /cache/Godot_v4.6.3-stable_linux.x86_64 /cache/godot_4.6.3
fi
cp /cache/godot_4.7 /usr/local/bin/godot
cp /cache/godot_4.6.3 /usr/local/bin/godot
chmod +x /usr/local/bin/godot
mkdir -p build
@@ -61,7 +61,7 @@ jobs:
git init
git config user.name "god"
git config user.email "god@noreply.git.klud.top"
git remote add origin http://god:$GITEA_TOKEN@52.74.133.55:3000/danchie/tekton.git
git remote add origin https://god:$GITEA_TOKEN@git.klud.top/danchie/tekton.git
git checkout -b patches
git add .
git commit -m "patch ${{ github.event.inputs.version }}"
+1 -1
View File
@@ -17,7 +17,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
config/name="Tekton Dash Armageddon"
config/version="2.4.3"
run/main_scene="res://scenes/ui/boot_screen.tscn"
config/features=PackedStringArray("4.7", "Forward Plus")
config/features=PackedStringArray("4.6", "Forward Plus")
boot_splash/bg_color=Color(0.16470589, 0.6745098, 0.9372549, 1)
boot_splash/stretch_mode=0
boot_splash/image="uid://b10e6kr508642"
+2 -1
View File
@@ -204,7 +204,8 @@ func _setup_effect_elevation():
print("[Main] MeshLibrary elevation applied: Wall(4) and Freeze(5) at Y=0.8")
# Force gridmap cell size to match player logic (1, 0.05, 1) - >0.001 to avoid errors
var em = $EnhancedGridMap
if not em:
em = get_node_or_null("EnhancedGridMap")
if em:
em.cell_size = Vector3(1, 0.05, 1)
+14 -4
View File
@@ -218,15 +218,25 @@ func _run_ai_tick():
# Priority 0.7: Candy Survival — Deliver candies to Mekton NPC
if strategic_planner and strategic_planner.is_candy_survival_mode():
var gm = strategic_planner._get_candy_survival_manager()
if gm and gm.is_active:
if gm and gm.active:
var pid = actor.get("peer_id") if "peer_id" in actor else actor.name.to_int()
var held_color = gm.player_candy_color.get(pid, -1)
if held_color != -1 and gm.player_candies.get(pid, 0) > 0:
if held_color == gm.current_face:
# Face matches! Run to the NPC Center!
var path = strategic_planner.find_path(actor.current_position, Vector2i(8, 8))
if path.size() > 0:
_execute_move(path[0])
var path = enhanced_gridmap.find_path(
Vector2(actor.current_position),
Vector2(8, 8),
0, false, false
)
if path.size() >= 2:
var next_step = Vector2i(path[1].x, path[1].y)
if actor.movement_manager.simple_move_to(next_step):
_is_processing_action = true
_current_action = "delivering_candies"
while is_instance_valid(actor) and actor.is_player_moving:
await get_tree().process_frame
_is_processing_action = false
print("[BotController] Action Taken: Delivering candies to Mekton!")
return
+11 -8
View File
@@ -79,10 +79,6 @@ func _setup_hud() -> void:
if hud_rush_bar:
hud_rush_label = hud_rush_bar.get_node_or_null("SugarRushLabel")
func start_game_mode() -> void:
if multiplayer.is_server():
activate_client_side()
func activate_client_side() -> void:
active = true
if hud_layer:
@@ -129,6 +125,8 @@ func _define_sticky_walls() -> void:
sticky_cells[Vector2i(NPC_CENTER.x + dx, NPC_CENTER.y + dy)] = true
func start_game_mode() -> void:
if multiplayer.is_server():
activate_client_side()
active = true
current_face = CandyColor.HEART
face_timer = 0.0
@@ -391,9 +389,9 @@ func is_ghost_active(pid: int) -> bool:
func _setup_arena() -> void:
if not gridmap:
return
gridmap.clear_layer(0)
gridmap.clear_layer(1)
gridmap.clear_layer(2)
gridmap.set("columns", ARENA_COLS)
gridmap.set("rows", ARENA_ROWS)
gridmap.clear()
# Build floor
for x in range(ARENA_COLS):
@@ -490,6 +488,8 @@ func get_score(pid: int) -> int:
@rpc("authority", "call_remote", "unreliable")
func sync_candy_badge(pid: int, count: int, mult: float, face_match: bool) -> void:
if not active:
activate_client_side()
if pid == multiplayer.get_unique_id():
if hud_stack_badge:
hud_stack_badge.text = "Stack: %d (x%.1f)" % [count, mult]
@@ -506,6 +506,8 @@ func sync_candy_badge(pid: int, count: int, mult: float, face_match: bool) -> vo
@rpc("authority", "call_remote", "unreliable")
func sync_knock_result(attacker: int, target: int, candies: int) -> void:
if not active:
activate_client_side()
var local = multiplayer.get_unique_id()
if attacker == local or target == local:
if hud_knock_label and player_knocks.has(local):
@@ -513,7 +515,8 @@ func sync_knock_result(attacker: int, target: int, candies: int) -> void:
@rpc("authority", "call_remote", "unreliable")
func sync_ghost_active(pid: int, active_on: bool) -> void:
if not active:
activate_client_side()
if pid == multiplayer.get_unique_id():
if hud_ghost_label and player_ghosts.has(pid):
hud_ghost_label.text = "👻 Ghosts: %d" % player_ghosts[pid]
+1 -1
View File
@@ -122,7 +122,7 @@ func simple_move_to(grid_position: Vector2i) -> bool:
return false
# Candy Survival explicit wall overrides (since we visually removed the wall blocks)
if gm and gm.is_active:
if gm and gm.active:
if gm._is_npc_zone(grid_position):
print("[Move] Failed: Blocked by Candy Survival NPC center at %s" % grid_position)
return false