Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 2 additions & 19 deletions .github/workflows/invoke-cloud-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ jobs:
scheduler_location=""
scheduler_expected_path=""
restore_probe_uri=""
pause_after_run="false"
ensure_invoke_bridge_job() {
local bridge_job="$1"
local bridge_uri="$2"
Expand Down Expand Up @@ -353,12 +352,11 @@ jobs:
ensure_invoke_bridge_job "${scheduler_job}" "${service_url}/dry-run" "${scheduler_location}"
;;
/session-renew)
# Manual-only forced read-only session renewal. Dedicated bridge job, kept PAUSED
# between manual invokes so its placeholder schedule never fires on its own.
# Manual-only forced read-only session renewal via a dedicated bridge job (same
# placeholder-schedule pattern as the probe/precheck bridges).
scheduler_job="${CLOUD_RUN_SERVICE}-session-renew-scheduler"
scheduler_expected_path="/session-renew"
ensure_invoke_bridge_job "${scheduler_job}" "${service_url}/session-renew" "${scheduler_location}"
pause_after_run="true"
;;
/account-facts-sync)
# Dedicated scheduler: OIDC for Cloud Run IAM (X-Serverless-Authorization) plus
Expand Down Expand Up @@ -428,7 +426,6 @@ jobs:
echo "scheduler_job=${scheduler_job}"
echo "scheduler_location=${scheduler_location}"
echo "restore_probe_uri=${restore_probe_uri}"
echo "pause_after_run=${pause_after_run}"
} >> "$GITHUB_OUTPUT"

- name: Authenticate for service invocation
Expand Down Expand Up @@ -456,7 +453,6 @@ jobs:
if: steps.service.outputs.invoke_method == 'scheduler'
env:
RESTORE_PROBE_URI: ${{ steps.service.outputs.restore_probe_uri }}
PAUSE_AFTER_RUN: ${{ steps.service.outputs.pause_after_run }}
SERVICE_URL: ${{ steps.service.outputs.url }}
run: |
set -euo pipefail
Expand All @@ -466,13 +462,6 @@ jobs:
scheduler_location="${{ steps.service.outputs.scheduler_location }}"

restore_probe_scheduler() {
if [ "${PAUSE_AFTER_RUN:-false}" = "true" ]; then
echo "Pausing manual-only bridge job ${scheduler_job}."
gcloud scheduler jobs pause "${scheduler_job}" \
--project="${GCP_PROJECT_ID}" \
--location="${scheduler_location}" \
--quiet || echo "::warning::Could not pause ${scheduler_job}; pause it manually."
fi
if [ -z "${RESTORE_PROBE_URI:-}" ]; then
return 0
fi
Expand All @@ -487,12 +476,6 @@ jobs:
--quiet || true
}
trap restore_probe_scheduler EXIT
if [ "${PAUSE_AFTER_RUN:-false}" = "true" ]; then
gcloud scheduler jobs resume "${scheduler_job}" \
--project="${GCP_PROJECT_ID}" \
--location="${scheduler_location}" \
--quiet
fi

echo "Triggering ${scheduler_job} at ${started_at}."
gcloud scheduler jobs run "${scheduler_job}" \
Expand Down
5 changes: 2 additions & 3 deletions tests/test_invoke_cloud_run_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@ def test_invoke_cloud_run_workflow_ensures_probe_and_dry_run_scheduler_bridges()
assert '--schedule="0 0 1 1 *"' in workflow


def test_invoke_cloud_run_workflow_session_renew_bridge_is_paused_after_run():
def test_invoke_cloud_run_workflow_session_renew_bridge():
workflow_path = Path(__file__).resolve().parents[1] / ".github/workflows/invoke-cloud-run.yml"
workflow = workflow_path.read_text(encoding="utf-8")

assert 'scheduler_job="${CLOUD_RUN_SERVICE}-session-renew-scheduler"' in workflow
assert 'ensure_invoke_bridge_job "${scheduler_job}" "${service_url}/session-renew"' in workflow
assert 'gcloud scheduler jobs pause "${scheduler_job}"' in workflow
assert 'pause_after_run="true"' in workflow
assert "scheduler jobs resume" not in workflow
Loading