name: Deploy KubeViz on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: [linux] env: IMAGE_REPO: localhost/kubeviz IMAGE_TAG: prod SERVICE_NAME: kubeviz.service steps: - name: Checkout (git, no Node runtime required) env: CI_REPO_TOKEN: ${{ secrets.CI_REPO_TOKEN }} run: | set -euo pipefail repo_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" if [ -n "${CI_REPO_TOKEN:-}" ]; then proto="$(printf '%s' "${GITHUB_SERVER_URL}" | sed -E 's#(https?://).*#\1#')" host="$(printf '%s' "${GITHUB_SERVER_URL}" | sed -E 's#https?://##')" repo_url="${proto}${GITHUB_ACTOR}:${CI_REPO_TOKEN}@${host}/${GITHUB_REPOSITORY}.git" fi rm -rf "${GITHUB_WORKSPACE}" mkdir -p "${GITHUB_WORKSPACE}" git clone --depth 1 --no-tags "${repo_url}" "${GITHUB_WORKSPACE}" cd "${GITHUB_WORKSPACE}" git fetch --depth 1 origin "${GITHUB_SHA}" git checkout --detach "${GITHUB_SHA}" - name: Build and deploy via Podman + Quadlet service run: | chmod +x scripts/deploy-with-podman.sh scripts/deploy-with-podman.sh