pipeline update
This commit is contained in:
@@ -3,14 +3,29 @@ environment: &environment
|
|||||||
GAME_LANG: lua
|
GAME_LANG: lua
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: version
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- 'META_HEADER_PATH=./inc/meta/meta.header.lua
|
||||||
|
- 'VERSION=$(sed -n "s/^-- version: //p" $META_HEADER_PATH | head -n 1 | tr -d "[:space:]")'
|
||||||
|
- 'echo VERSION is: $VERSION'
|
||||||
|
- 'echo $VERSION > .version'
|
||||||
|
- 'cat .version'
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
image: git.teletype.hu/internal/tic80pro:latest
|
image: git.teletype.hu/internal/tic80pro:latest
|
||||||
environment:
|
environment:
|
||||||
<<: *environment
|
<<: *environment
|
||||||
XDG_RUNTIME_DIR: /tmp
|
XDG_RUNTIME_DIR: /tmp
|
||||||
commands:
|
commands:
|
||||||
- make build
|
- 'apt-get update && apt-get install -y zip'
|
||||||
- make export
|
- 'cat .version'
|
||||||
|
- 'export VERSION=$(cat .version)'
|
||||||
|
- 'echo Building version: $VERSION'
|
||||||
|
- 'make build'
|
||||||
|
- 'make export VERSION=$VERSION'
|
||||||
|
- 'echo Generated files:'
|
||||||
|
- 'ls -lh $GAME_NAME-*.* $GAME_NAME.tic $GAME_NAME.html.zip'
|
||||||
|
|
||||||
- name: artifact
|
- name: artifact
|
||||||
image: alpine
|
image: alpine
|
||||||
@@ -23,9 +38,16 @@ steps:
|
|||||||
DROPAREA_SSH_PASSWORD:
|
DROPAREA_SSH_PASSWORD:
|
||||||
from_secret: droparea_ssh_password
|
from_secret: droparea_ssh_password
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache openssh-client sshpass
|
- 'apk add --no-cache openssh-client sshpass'
|
||||||
- mkdir -p /root/.ssh
|
- 'mkdir -p /root/.ssh'
|
||||||
- sshpass -p $DROPAREA_SSH_PASSWORD scp -o StrictHostKeyChecking=no -P $DROPAREA_PORT $GAME_NAME.$GAME_LANG $GAME_NAME.tic $GAME_NAME.html.zip $DROPAREA_USER@$DROPAREA_HOST:$DROPAREA_TARGET_PATH
|
- 'export VERSION=$(cat .version)'
|
||||||
|
- 'echo VERSION artifact step: $VERSION'
|
||||||
|
- 'echo SCP Target Path: $DROPAREA_TARGET_PATH/$GAME_NAME/$VERSION/'
|
||||||
|
- 'sshpass -p $DROPAREA_SSH_PASSWORD ssh -p $DROPAREA_PORT -o StrictHostKeyChecking=no $DROPAREA_USER@$DROPAREA_HOST mkdir -p $DROPAREA_TARGET_PATH/$GAME_NAME/$VERSION'
|
||||||
|
- 'echo Files to upload:'
|
||||||
|
- 'ls -lh $GAME_NAME-$VERSION.* $GAME_NAME.tic $GAME_NAME.html.zip'
|
||||||
|
- 'sshpass -p $DROPAREA_SSH_PASSWORD scp -o StrictHostKeyChecking=no -P $DROPAREA_PORT $GAME_NAME-$VERSION.tic $GAME_NAME-$VERSION.html.zip $DROPAREA_USER@$DROPAREA_HOST:$DROPAREA_TARGET_PATH/$GAME_NAME/$VERSION/'
|
||||||
|
- 'sshpass -p $DROPAREA_SSH_PASSWORD scp -o StrictHostKeyChecking=no -P $DROPAREA_PORT $GAME_NAME.$GAME_LANG $GAME_NAME.tic $GAME_NAME.html.zip $DROPAREA_USER@$DROPAREA_HOST:$DROPAREA_TARGET_PATH/$GAME_NAME/$VERSION/'
|
||||||
|
|
||||||
- name: update
|
- name: update
|
||||||
image: alpine
|
image: alpine
|
||||||
@@ -35,5 +57,7 @@ steps:
|
|||||||
UPDATE_SECRET:
|
UPDATE_SECRET:
|
||||||
from_secret: update_secret_key
|
from_secret: update_secret_key
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache curl
|
- 'apk add --no-cache curl'
|
||||||
- curl "$UPDATE_SERVER/update?secret=$UPDATE_SECRET&name=$GAME_NAME&platform=tic80"
|
- 'export VERSION=$(cat .version)'
|
||||||
|
- 'echo Triggering update for version $VERSION'
|
||||||
|
- 'curl $UPDATE_SERVER/update?secret=$UPDATE_SECRET&name=$GAME_NAME&platform=tic80&version=$VERSION'
|
||||||
32
Makefile
32
Makefile
@@ -25,6 +25,28 @@ $(OUTPUT): $(SRC) $(ORDER)
|
|||||||
echo "" >> $(OUTPUT); \
|
echo "" >> $(OUTPUT); \
|
||||||
done < $(ORDER)
|
done < $(ORDER)
|
||||||
|
|
||||||
|
export: build
|
||||||
|
@if [ -z "$(VERSION)" ]; then \
|
||||||
|
echo "ERROR: VERSION not set!"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo "==> Exporting HTML for version $(VERSION)"
|
||||||
|
@tic80 --cli --skip --fs=. \
|
||||||
|
--cmd="load $(OUTPUT) & save $(PROJECT)-$(VERSION) & export html $(PROJECT)-$(VERSION).html & exit"
|
||||||
|
@echo "==> Creating versioned files"
|
||||||
|
@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
|
||||||
|
|
||||||
|
watch:
|
||||||
|
make build
|
||||||
|
fswatch -o $(SRC_DIR) $(ORDER) assets | while read; do make build; done
|
||||||
|
|
||||||
import_assets:
|
import_assets:
|
||||||
@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 \
|
||||||
@@ -45,10 +67,8 @@ export_assets: build
|
|||||||
/^-- <MUSIC>/,/^-- <\/MUSIC>/p' \
|
/^-- <MUSIC>/,/^-- <\/MUSIC>/p' \
|
||||||
$(OUTPUT) > $(ASSETS_LUA)
|
$(OUTPUT) > $(ASSETS_LUA)
|
||||||
|
|
||||||
export: build
|
clean:
|
||||||
tic80 --cli --skip --fs=. \
|
@rm -f $(PROJECT)-*.tic $(PROJECT)-*.html.zip $(OUTPUT)
|
||||||
--cmd="load $(OUTPUT) & save $(PROJECT) & export html $(PROJECT).html & exit"
|
@echo "==> Cleaned build artifacts"
|
||||||
|
|
||||||
watch:
|
.PHONY: all build export watch import_assets export_assets clean
|
||||||
make build
|
|
||||||
fswatch -o $(SRC_DIR) $(ORDER) assets | while read; do make build; done
|
|
||||||
Reference in New Issue
Block a user