environment: &environment GAME_NAME: impostor GAME_LANG: lua steps: - name: version image: alpine commands: - "VERSION=$(sed -n 's/^-- version: //p' $GAME_NAME.$GAME_LANG | 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"