name: Release Morska (from latest build cache) on: workflow_dispatch: {} env: DEPLOY_HOST: "bim-it.pl" DEPLOY_USER: "mz" DEPLOY_PATH: "./deployment/" SSH_KEYFILE: "/ci-keys/morska" jobs: release: runs-on: ubuntu-latest steps: - name: Checkout (for completeness) uses: https://github.com/actions/checkout@v4 - name: Tools run: | set -euo pipefail apt-get update -y apt-get install -y zip openssh-client - name: Verify runner cache env: SRC: /runner-cache/builds/latest run: | set -euo pipefail echo "Expecting artifacts in: $SRC" test -d "$SRC/frontend" || { echo "Missing $SRC/frontend"; exit 1; } test -d "$SRC/webapi" || { echo "Missing $SRC/webapi"; exit 1; } ls -la "$SRC" - name: Create archives env: SRC: /runner-cache/builds/latest run: | set -euo pipefail mkdir -p release (cd "$SRC/frontend" && zip -r "$GITHUB_WORKSPACE/release/DiunaBI-Morska-Frontend.zip" .) (cd "$SRC/webapi" && zip -r "$GITHUB_WORKSPACE/release/DiunaBI-Morska-WebApi.zip" .) ls -la release - name: Prepare known_hosts run: | set -euo pipefail mkdir -p ~/.ssh ssh-keyscan -H "${{ env.DEPLOY_HOST }}" >> ~/.ssh/known_hosts 2>/dev/null || true - name: Upload via SCP run: | set -euo pipefail scp -i "${{ env.SSH_KEYFILE }}" -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes \ ./release/DiunaBI-Morska-Frontend.zip \ "${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:${{ env.DEPLOY_PATH }}" scp -i "${{ env.SSH_KEYFILE }}" -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes \ ./release/DiunaBI-Morska-WebApi.zip \ "${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:${{ env.DEPLOY_PATH }}" - name: Remote deploy run: | set -euo pipefail ssh -i "${{ env.SSH_KEYFILE }}" -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes \ "${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}" << 'EOF' ./deployment/DiunaBI-Morska.Release.sh EOF