Merge pull request #171 from svc-design/codex/replace-long-run-sections-with-external-script-1i2ey1
Refactor Pulumi offline installer workflow scripts
This commit is contained in:
commit
68967496c6
@ -49,6 +49,8 @@ jobs:
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}
|
||||
PULUMI_VERSION: ${{ steps.resolve.outputs.version }}
|
||||
MATRIX_ARCH: ${{ matrix.arch }}
|
||||
|
||||
run: script/build-offline-pulumi-package.sh
|
||||
|
||||
- name: Upload artifact
|
||||
@ -65,6 +67,8 @@ jobs:
|
||||
arch: [amd64, arm64]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@ -81,6 +85,8 @@ jobs:
|
||||
env:
|
||||
ARCH: ${{ matrix.arch }}
|
||||
PULUMI_VERSION: ${{ needs.build-offline-installer.outputs.version }}
|
||||
MATRIX_ARCH: ${{ matrix.arch }}
|
||||
|
||||
run: script/verify-pulumi-bundle.sh
|
||||
|
||||
publish-release:
|
||||
@ -155,6 +161,8 @@ jobs:
|
||||
VPS_HOST: ${{ secrets.VPS_HOST }}
|
||||
REMOTE_ROOT: /data/update-server/pulumi
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Init SSH
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
@ -1,6 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
|
||||
ARCH="${MATRIX_ARCH:-}"
|
||||
if [[ -z "${ARCH}" ]]; then
|
||||
echo "MATRIX_ARCH environment variable is required" >&2
|
||||
|
||||
PULUMI_VERSION="${PULUMI_VERSION:?PULUMI_VERSION is required}"
|
||||
ARCH="${ARCH:-}"
|
||||
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
REMOTE_ROOT="${REMOTE_ROOT:?REMOTE_ROOT is required}"
|
||||
RSYNC_SSH_USER="${RSYNC_SSH_USER:?RSYNC_SSH_USER is required}"
|
||||
VPS_HOST="${VPS_HOST:?VPS_HOST is required}"
|
||||
if [[ -z "${REMOTE_ROOT:-}" || -z "${RSYNC_SSH_USER:-}" || -z "${VPS_HOST:-}" ]]; then
|
||||
echo "Missing required environment variables" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ssh -i ~/.ssh/id_rsa "${RSYNC_SSH_USER}@${VPS_HOST}" bash -lc '
|
||||
set -euo pipefail
|
||||
cd "'"${REMOTE_ROOT}"'" || exit 0
|
||||
cd "'"'${REMOTE_ROOT}'"'" || exit 0
|
||||
keep=3
|
||||
mapfile -t all < <(ls -1 | grep -E "^(offline-pulumi-|v[0-9]+\.)" | sort -V -r || true)
|
||||
if [ "${#all[@]}" -le "$keep" ]; then
|
||||
if [[ "${#all[@]}" -le "${keep}" ]]; then
|
||||
|
||||
echo "Nothing to prune. Count=${#all[@]}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
OVERRIDE_VERSION="${OVERRIDE_VERSION:-}"
|
||||
|
||||
if [ -n "${OVERRIDE_VERSION}" ]; then
|
||||
if [[ -n "${OVERRIDE_VERSION:-}" ]]; then
|
||||
VERSION="${OVERRIDE_VERSION}"
|
||||
else
|
||||
VERSION=$(curl -fsSL https://api.github.com/repos/pulumi/pulumi/releases?per_page=100 \
|
||||
@ -14,7 +12,7 @@ else
|
||||
| tail -n 1)
|
||||
fi
|
||||
|
||||
if [ -z "${VERSION}" ]; then
|
||||
if [[ -z "${VERSION}" ]]; then
|
||||
echo "Failed to resolve Pulumi version" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
REMOTE_ROOT="${REMOTE_ROOT:?REMOTE_ROOT is required}"
|
||||
TAG_NAME="${TAG_NAME:?TAG_NAME is required}"
|
||||
RSYNC_SSH_USER="${RSYNC_SSH_USER:?RSYNC_SSH_USER is required}"
|
||||
VPS_HOST="${VPS_HOST:?VPS_HOST is required}"
|
||||
|
||||
if [[ -z "${REMOTE_ROOT:-}" || -z "${TAG_NAME:-}" || -z "${RSYNC_SSH_USER:-}" || -z "${VPS_HOST:-}" ]]; then
|
||||
echo "Missing required environment variables" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
REMOTE_DIR="${REMOTE_ROOT}/${TAG_NAME}"
|
||||
ssh -i ~/.ssh/id_rsa "${RSYNC_SSH_USER}@${VPS_HOST}" "mkdir -p '${REMOTE_DIR}'"
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ARCH="${ARCH:-}"
|
||||
PULUMI_VERSION="${PULUMI_VERSION:-}"
|
||||
|
||||
if [ -z "${ARCH}" ]; then
|
||||
echo "ARCH environment variable is required" >&2
|
||||
ARCH="${MATRIX_ARCH:-}"
|
||||
if [[ -z "${ARCH}" ]]; then
|
||||
echo "MATRIX_ARCH environment variable is required" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -13,7 +12,8 @@ cd test-dir/pulumi-offline-package
|
||||
|
||||
test -f VERSION
|
||||
|
||||
if [ "${ARCH}" = "amd64" ]; then
|
||||
|
||||
if [[ "${ARCH}" == "amd64" ]]; then
|
||||
./bin/pulumi version
|
||||
./bin/pulumi version | grep "v${PULUMI_VERSION}"
|
||||
else
|
||||
|
||||
Loading…
Reference in New Issue
Block a user