Compare commits

...

8 Commits

Author SHA1 Message Date
Zsolt Tasnadi
fd7b5650d3 cicd improvements
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2026-02-27 13:11:01 +01:00
0e956ec7a9 Merge pull request 'feature/task71_drawing_street' (#15) from feature/task71_drawing_street into master
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #15
Reviewed-by: mr.two <zoltan.timar31@gmail.com>
2026-02-27 07:51:43 +00:00
0c2999f596 Merge pull request 'feature/imp-27-add-minifier' (#21) from feature/imp-27-add-minifier into master
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #21
2026-02-26 23:49:35 +00:00
e46c48b2ec tic80pro image pull always
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2026-02-27 00:46:55 +01:00
c321fbc19a Rename the backgrounds (bedroom, office) to a uniform filename format.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
2026-02-25 06:33:53 +01:00
dc8a82d583 Delete the unnecessary version of the bedroom background.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-25 06:30:56 +01:00
c565213e44 Delete the unnecessary versions of the office background.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-25 06:29:47 +01:00
035a2bc37e Add the drawing of street background in ase format.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-25 06:26:47 +01:00
8 changed files with 94 additions and 49 deletions

View File

@@ -5,7 +5,32 @@ steps:
- 'apk add --no-cache make' - 'apk add --no-cache make'
- 'make ci-version' - 'make ci-version'
- name: build - name: lint
image: alpine
commands:
- 'apk add --no-cache make lua5.4 lua5.4-dev luarocks gcc musl-dev'
- 'ln -sf /usr/bin/lua5.4 /usr/bin/lua'
- 'ln -sf /usr/bin/luarocks-5.4 /usr/bin/luarocks'
- 'luarocks install luacheck'
- 'make ci-lint'
- name: minify
image: alpine
commands:
- 'apk add --no-cache make lua5.4 curl'
- 'ln -sf /usr/bin/lua5.4 /usr/bin/lua'
- 'make ci-minify'
- name: docs
image: alpine
commands:
- 'apk add --no-cache make lua5.4 lua5.4-dev luarocks gcc musl-dev zip'
- 'ln -sf /usr/bin/lua5.4 /usr/bin/lua'
- 'ln -sf /usr/bin/luarocks-5.4 /usr/bin/luarocks'
- 'luarocks install ldoc'
- 'make ci-docs'
- name: export
image: git.teletype.hu/internal/tic80pro:latest image: git.teletype.hu/internal/tic80pro:latest
environment: environment:
XDG_RUNTIME_DIR: /tmp XDG_RUNTIME_DIR: /tmp
@@ -23,7 +48,7 @@ steps:
from_secret: droparea_ssh_password from_secret: droparea_ssh_password
commands: commands:
- 'apk add --no-cache make openssh-client sshpass' - 'apk add --no-cache make openssh-client sshpass'
- 'make ci-upload' - 'make ci-artifact'
- name: update - name: update
image: alpine image: alpine
@@ -33,4 +58,4 @@ steps:
from_secret: update_secret_key from_secret: update_secret_key
commands: commands:
- 'apk add --no-cache make curl' - 'apk add --no-cache make curl'
- 'make ci-update' - 'make ci-update'

112
Makefile
View File

@@ -34,28 +34,22 @@ UPDATE_SERVER ?= https://games.vps.teletype.hu
all: build all: build
build: $(OUTPUT) build:
$(OUTPUT): $(SRC) $(ORDER)
@rm -f $(OUTPUT) @rm -f $(OUTPUT)
@sed 's/\r$$//' $(ORDER) | while read f; do \ @sed 's/\r$$//' $(ORDER) | while read f; do \
cat "$(SRC_DIR)/$$f" >> $(OUTPUT); \ cat "$(SRC_DIR)/$$f" >> $(OUTPUT); \
echo "" >> $(OUTPUT); \ echo "" >> $(OUTPUT); \
done done
$(MINIFY): download-minify:
@echo "==> Downloading $(MINIFY)" @test -f $(MINIFY) || { echo "==> Downloading $(MINIFY)"; curl -fsSL $(MINIFY_URL) -o $(MINIFY); }
@curl -fsSL $(MINIFY_URL) -o $(MINIFY)
minify: $(OUTPUT_ORIGINAL) minify: build download-minify
$(OUTPUT_ORIGINAL): $(SRC) $(ORDER) $(MINIFY)
@$(MAKE) build
@echo "==> Minifying $(OUTPUT)" @echo "==> Minifying $(OUTPUT)"
@cp $(OUTPUT) $(OUTPUT_ORIGINAL) @cp $(OUTPUT) $(OUTPUT_ORIGINAL)
@lua $(MINIFY) minify $(OUTPUT_ORIGINAL) > $(OUTPUT) @lua $(MINIFY) minify $(OUTPUT_ORIGINAL) > $(OUTPUT)
export: build minify export: minify
@if [ -z "$(VERSION)" ]; then \ @if [ -z "$(VERSION)" ]; then \
echo "ERROR: VERSION not set!"; \ echo "ERROR: VERSION not set!"; \
exit 1; \ exit 1; \
@@ -77,7 +71,7 @@ watch:
$(MAKE) build $(MAKE) build
fswatch -o $(SRC_DIR) $(ORDER) assets | while read; do $(MAKE) build; done fswatch -o $(SRC_DIR) $(ORDER) assets | while read; do $(MAKE) build; done
import_assets: $(OUTPUT) import_assets: build
@TIC_CMD="load $(OUTPUT) &"; \ @TIC_CMD="load $(OUTPUT) &"; \
for t in $(ASSET_TYPES); do \ for t in $(ASSET_TYPES); do \
for f in $(ASSETS_DIR)/$$t/*.png; do \ for f in $(ASSETS_DIR)/$$t/*.png; do \
@@ -172,41 +166,9 @@ export_assets:
@$(call f_export_asset_awk,WAVES,$(OUTPUT),$(ASSETS_LUA)) @$(call f_export_asset_awk,WAVES,$(OUTPUT),$(ASSETS_LUA))
clean: clean:
@rm -f $(PROJECT)-*.tic $(PROJECT)-*.html.zip $(OUTPUT) $(OUTPUT_MIN) $(PROJECT).original.lua @rm -f $(PROJECT)-*.tic $(PROJECT)-*.html.zip $(PROJECT)-*-docs.zip $(PROJECT)-docs.zip $(OUTPUT) $(OUTPUT_ORIGINAL)
@echo "==> Cleaned build artifacts" @echo "==> Cleaned build artifacts"
# CI/CD Targets
ci-version:
@VERSION=$$(sed -n "s/^-- version: //p" inc/meta/meta.header.lua | head -n 1 | tr -d "[:space:]"); \
BRANCH=$${CI_COMMIT_BRANCH:-$${WOODPECKER_BRANCH}}; \
BRANCH=$$(echo "$$BRANCH" | tr '/' '-'); \
if [ "$$BRANCH" != "main" ] && [ "$$BRANCH" != "master" ] && [ -n "$$BRANCH" ]; then \
VERSION=dev-$$VERSION-$$BRANCH; \
fi; \
echo "VERSION is: $$VERSION"; \
echo $$VERSION > $(VERSION_FILE)
ci-export:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Building and exporting version $$VERSION"; \
$(MAKE) export VERSION=$$VERSION
ci-upload:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Uploading artifacts for version $$VERSION"; \
ls -lh $(PROJECT)-$$VERSION.* $(PROJECT).tic $(PROJECT).html.zip 2>/dev/null || true; \
cp $(PROJECT).lua $(PROJECT)-$$VERSION.lua; \
FILE_LUA=$(PROJECT)-$$VERSION.lua; \
FILE_TIC=$(PROJECT)-$$VERSION.tic; \
FILE_HTML_ZIP=$(PROJECT)-$$VERSION.html.zip; \
SCP_TARGET="$(DROPAREA_USER)@$(DROPAREA_HOST):$(DROPAREA_TARGET_PATH)/"; \
sshpass -p "$(DROPAREA_SSH_PASSWORD)" scp -o StrictHostKeyChecking=no -P $(DROPAREA_PORT) $$FILE_LUA $$FILE_TIC $$FILE_HTML_ZIP $$SCP_TARGET
ci-update:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Triggering update for version $$VERSION"; \
curl "$(UPDATE_SERVER)/update?secret=$(UPDATE_SECRET)&name=$(PROJECT)&platform=tic80&version=$$VERSION"
install_precommit_hook: install_precommit_hook:
@echo "Installing Git pre-commit hook (lint check)..." @echo "Installing Git pre-commit hook (lint check)..."
@mkdir -p .git/hooks @mkdir -p .git/hooks
@@ -235,4 +197,62 @@ docs: build
@ldoc ${OUTPUT} -d docs @ldoc ${OUTPUT} -d docs
@echo "==> Documentation generated." @echo "==> Documentation generated."
.PHONY: all build minify export watch import_assets export_assets clean lint ci-version ci-export ci-upload ci-update install_precommit_hook docs # -----------------------------------------
# CI/CD Pipeline targets
# -----------------------------------------
ci-version:
@VERSION=$$(sed -n "s/^-- version: //p" inc/meta/meta.header.lua | head -n 1 | tr -d "[:space:]"); \
BRANCH=$${CI_COMMIT_BRANCH:-$${WOODPECKER_BRANCH}}; \
BRANCH=$$(echo "$$BRANCH" | tr '/' '-'); \
if [ "$$BRANCH" != "main" ] && [ "$$BRANCH" != "master" ] && [ -n "$$BRANCH" ]; then \
VERSION=dev-$$VERSION-$$BRANCH; \
fi; \
echo "VERSION is: $$VERSION"; \
echo $$VERSION > $(VERSION_FILE)
ci-lint: lint
ci-minify: minify
ci-docs:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Generating docs from $(OUTPUT_ORIGINAL)"; \
ldoc $(OUTPUT_ORIGINAL) -d docs; \
echo "==> Zipping docs for version $$VERSION"; \
(cd docs && zip -r ../$(PROJECT)-$$VERSION-docs.zip .); \
cp $(PROJECT)-$$VERSION-docs.zip $(PROJECT)-docs.zip; \
echo "==> Docs zip created"
ci-export:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Exporting HTML for version $$VERSION"; \
tic80 --cli --skip --fs=. \
--cmd="load $(OUTPUT) & save $(PROJECT)-$$VERSION & export html $(PROJECT)-$$VERSION.html & exit"; \
if [ -f "$(PROJECT)-$$VERSION.tic" ]; then \
cp $(PROJECT)-$$VERSION.tic $(PROJECT).tic; \
fi; \
if [ -f "$(PROJECT)-$$VERSION.html.zip" ]; then \
cp $(PROJECT)-$$VERSION.html.zip $(PROJECT).html.zip; \
fi; \
echo "==> Generated files:"; \
ls -lh $(PROJECT)-$$VERSION.* $(PROJECT).tic $(PROJECT).html.zip 2>/dev/null || true
ci-artifact:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Uploading artifacts for version $$VERSION"; \
cp $(PROJECT).lua $(PROJECT)-$$VERSION.lua; \
SCP_TARGET="$(DROPAREA_USER)@$(DROPAREA_HOST):$(DROPAREA_TARGET_PATH)/"; \
sshpass -p "$(DROPAREA_SSH_PASSWORD)" scp -o StrictHostKeyChecking=no -P $(DROPAREA_PORT) \
$(PROJECT)-$$VERSION.lua \
$(PROJECT)-$$VERSION.tic \
$(PROJECT)-$$VERSION.html.zip \
$(PROJECT)-$$VERSION-docs.zip \
$$SCP_TARGET
ci-update:
@VERSION=$$(cat $(VERSION_FILE)); \
echo "==> Triggering update for version $$VERSION"; \
curl "$(UPDATE_SERVER)/update?secret=$(UPDATE_SECRET)&name=$(PROJECT)&platform=tic80&version=$$VERSION"
.PHONY: all build download-minify minify export watch import_assets export_assets clean lint install_precommit_hook docs ci-version ci-lint ci-minify ci-docs ci-export ci-artifact ci-update

Binary file not shown.

Binary file not shown.

Binary file not shown.