environment: &environment GAME_NAME: impostor GAME_LANG: lua steps: - name: version image: alpine commands: - 'META_HEADER_PATH=./inc/meta/meta.header.${GAME_LANG}' - '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'