Files
impostor/.woodpecker.yml
2026-01-26 21:23:54 +01:00

63 lines
2.5 KiB
YAML

environment: &environment
GAME_NAME: impostor
GAME_LANG: lua
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
image: git.teletype.hu/internal/tic80pro:latest
environment:
<<: *environment
XDG_RUNTIME_DIR: /tmp
commands:
- 'apt-get update && apt-get install -y zip'
- '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
image: alpine
environment:
<<: *environment
DROPAREA_HOST: vps.teletype.hu
DROPAREA_PORT: 2223
DROPAREA_TARGET_PATH: /home/drop
DROPAREA_USER: drop
DROPAREA_SSH_PASSWORD:
from_secret: droparea_ssh_password
commands:
- 'apk add --no-cache openssh-client sshpass'
- 'mkdir -p /root/.ssh'
- '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
image: alpine
environment:
<<: *environment
UPDATE_SERVER: https://games.vps.teletype.hu
UPDATE_SECRET:
from_secret: update_secret_key
commands:
- 'apk add --no-cache curl'
- 'export VERSION=$(cat .version)'
- 'echo Triggering update for version $VERSION'
- 'curl $UPDATE_SERVER/update?secret=$UPDATE_SECRET&name=$GAME_NAME&platform=tic80&version=$VERSION'