@@ -67,7 +67,7 @@ list-workflows:
6767
6868# Test build-docs job locally with act
6969[group (' CI/CD' )]
70- test-docs-build branch = " main" :
70+ test-docs-build branch = ` git branch --show-current ` :
7171 @ echo " Testing docs build job locally (branch: {{ branch}} )..."
7272 @ sops exec-env vars/ shared.yaml ' act workflow_dispatch \
7373 -W .github/workflows/deploy-docs.yaml \
@@ -80,7 +80,7 @@ test-docs-build branch="main":
8080
8181# Test full deploy-docs workflow locally with act
8282[group (' CI/CD' )]
83- test-docs-deploy branch = " main" :
83+ test-docs-deploy branch = ` git branch --show-current ` :
8484 @ echo " Testing full docs deployment workflow locally (branch: {{ branch}} )..."
8585 @ echo " Note: Cloudflare deployment may not work in local environment"
8686 @ sops exec-env vars/ shared.yaml ' act workflow_dispatch \
@@ -92,6 +92,101 @@ test-docs-deploy branch="main":
9292 --input debug_enabled=false \
9393 --input branch={{ branch}} '
9494
95+ # Trigger docs build job remotely on GitHub (requires workflow on main)
96+ [group (' CI/CD' )]
97+ gh-docs-build branch = ` git branch --show-current ` debug = " false":
98+ #!/usr/bin/env bash
99+ echo " Triggering docs build workflow on GitHub (branch: {{ branch}} , debug: {{ debug}} )..."
100+ echo " Note: This requires deploy-docs.yaml to exist on the default branch"
101+ gh workflow run deploy-docs.yaml \
102+ - -repo ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)} \
103+ - -ref " {{ branch}} " \
104+ - -field debug_enabled=" {{ debug}} " \
105+ - -field branch=" {{ branch}} "
106+ echo " Check workflow status with: just gh-docs-status"
107+
108+ # View recent workflow runs status
109+ [group (' CI/CD' )]
110+ gh-workflow-status workflow = " deploy-docs.yaml" branch = ` git branch --show-current ` limit = " 5":
111+ #!/usr/bin/env bash
112+ echo " Recent docs workflow runs:"
113+ gh run list \
114+ - -workflow={{ workflow}} \
115+ - -branch={{ branch}} \
116+ - -limit={{ limit}} \
117+ - -repo ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}
118+
119+ # Watch a specific docs workflow run
120+ [group (' CI/CD' )]
121+ gh-docs-watch run_id = " ":
122+ #!/usr/bin/env bash
123+ if [ -z " {{ run_id}} " ]; then
124+ echo " Getting latest workflow run..."
125+ RUN_ID=$(gh run list --workflow=deploy-docs.yaml --limit=1 --json databaseId -q ' .[0].databaseId' \
126+ --repo ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)})
127+ echo " Watching run: $RUN_ID"
128+ gh run watch $RUN_ID --repo ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}
129+ else
130+ gh run watch {{ run_id}} --repo ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}
131+ fi
132+
133+ # View logs for a specific docs workflow run
134+ [group (' CI/CD' )]
135+ gh-docs-logs run_id = " " job = " ":
136+ #!/usr/bin/env bash
137+ REPO=" ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}"
138+ if [ -z " {{ run_id}} " ]; then
139+ echo " Getting latest workflow run..."
140+ RUN_ID=$(gh run list --workflow=deploy-docs.yaml --limit=1 --json databaseId -q ' .[0].databaseId' --repo $REPO)
141+ else
142+ RUN_ID=" {{ run_id}} "
143+ fi
144+
145+ if [ -z " {{ job}} " ]; then
146+ echo " Available jobs in run $RUN_ID:"
147+ gh run view $RUN_ID --repo $REPO --json jobs -q ' .jobs[].name'
148+ echo " "
149+ echo " Viewing full run logs..."
150+ gh run view $RUN_ID --log --repo $REPO
151+ else
152+ echo " Viewing logs for job '{{ job}} ' in run $RUN_ID..."
153+ gh run view $RUN_ID --log --repo $REPO | grep -A 100 " {{ job}} "
154+ fi
155+
156+ # Re-run a failed docs workflow
157+ [group (' CI/CD' )]
158+ gh-docs-rerun run_id = " " failed_only = " true":
159+ #!/usr/bin/env bash
160+ REPO=" ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}"
161+ if [ -z " {{ run_id}} " ]; then
162+ echo " Getting latest workflow run..."
163+ RUN_ID=$(gh run list --workflow=deploy-docs.yaml --limit=1 --json databaseId -q ' .[0].databaseId' --repo $REPO)
164+ else
165+ RUN_ID=" {{ run_id}} "
166+ fi
167+
168+ if [ " {{ failed_only}} " = " true" ]; then
169+ echo " Re-running failed jobs in run $RUN_ID..."
170+ gh run rerun --failed $RUN_ID --repo $REPO
171+ else
172+ echo " Re-running all jobs in run $RUN_ID..."
173+ gh run rerun $RUN_ID --repo $REPO
174+ fi
175+
176+ # Cancel a running docs workflow
177+ [group (' CI/CD' )]
178+ gh-docs-cancel run_id = " ":
179+ #!/usr/bin/env bash
180+ REPO=" ${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}"
181+ if [ -z " {{ run_id}} " ]; then
182+ echo " Getting latest workflow run..."
183+ RUN_ID=$(gh run list --workflow=deploy-docs.yaml --limit=1 --json databaseId -q ' .[0].databaseId' --repo $REPO)
184+ echo " Canceling run: $RUN_ID"
185+ gh run cancel $RUN_ID --repo $REPO
186+ else
187+ gh run cancel {{ run_id}} --repo $REPO
188+ fi
189+
95190## Conda package
96191
97192# Package commands (conda)
@@ -401,7 +496,7 @@ updatekeys:
401496# Initialize new project from template
402497[group (' template' )]
403498template-init :
404- echo " Use: nix --accept-flake-config run github:juspay/omnix -- init github:sciexp/python-nix-template -o new-python-project"
499+ echo " Use: nix --accept-flake-config run github:juspay/omnix/v1.3.0 -- init github:sciexp/python-nix-template -o new-python-project"
405500
406501# Verify template functionality by creating and checking a test project
407502[group (' template' )]
0 commit comments