Skip to content

feat: add scheduled Go version digest check workflow#4368

Draft
behzad-mir wants to merge 1 commit intomasterfrom
behzadm/go-1.26-upgrade
Draft

feat: add scheduled Go version digest check workflow#4368
behzad-mir wants to merge 1 commit intomasterfrom
behzadm/go-1.26-upgrade

Conversation

@behzad-mir
Copy link
Copy Markdown
Contributor

Adds a new GitHub Actions workflow that runs weekly to detect Go image digest drift in MCR. When drift is detected, it creates a GitHub issue with the updated SHAs and a checklist of files to update.

This complements the existing baseimages.yaml workflow which validates Dockerfile consistency on PRs.

Resolves #4366

Reason for Change:

Issue Fixed:

Requirements:

Notes:

Comment thread .github/workflows/go-version-check.yaml Outdated
env:
GH_TOKEN: ${{ github.token }}
run: |
MARKER="go-digest-update:${{ steps.check.outputs.go_tag }}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not dismiss this alert. Resolve.

Comment thread .github/workflows/go-version-check.yaml Outdated
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "| Check | Value |" >> "$GITHUB_STEP_SUMMARY"
echo "|-------|-------|" >> "$GITHUB_STEP_SUMMARY"
echo "| GO_IMG | \`${{ steps.check.outputs.go_img }}\` |" >> "$GITHUB_STEP_SUMMARY"
Comment thread .github/workflows/go-version-check.yaml Outdated
echo "| Check | Value |" >> "$GITHUB_STEP_SUMMARY"
echo "|-------|-------|" >> "$GITHUB_STEP_SUMMARY"
echo "| GO_IMG | \`${{ steps.check.outputs.go_img }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Current digest | \`${{ steps.check.outputs.current_digest }}\` |" >> "$GITHUB_STEP_SUMMARY"
Comment thread .github/workflows/go-version-check.yaml Outdated
echo "|-------|-------|" >> "$GITHUB_STEP_SUMMARY"
echo "| GO_IMG | \`${{ steps.check.outputs.go_img }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Current digest | \`${{ steps.check.outputs.current_digest }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Latest MCR digest | \`${{ steps.check.outputs.latest_digest }}\` |" >> "$GITHUB_STEP_SUMMARY"
Comment thread .github/workflows/go-version-check.yaml Outdated
echo "| GO_IMG | \`${{ steps.check.outputs.go_img }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Current digest | \`${{ steps.check.outputs.current_digest }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Latest MCR digest | \`${{ steps.check.outputs.latest_digest }}\` |" >> "$GITHUB_STEP_SUMMARY"
echo "| Update needed | \`${{ steps.check.outputs.update_needed }}\` |" >> "$GITHUB_STEP_SUMMARY"
Copy link
Copy Markdown
Contributor

@jpayne3506 jpayne3506 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just creating an issue? What is the design here?

Any opinions against creating a PR with a workflow that already ran make dockerfiles on a given branch?


on:
schedule:
- cron: '0 9 * * 1' # Every Monday at 9am UTC
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would rather this be done on a sunday. Ideally we have CI/CD hooked in, ran, and we can approve -> thrown into merge queue.

Comment thread .github/workflows/go-version-check.yaml Outdated
env:
GH_TOKEN: ${{ github.token }}
run: |
MARKER="go-digest-update:${{ steps.check.outputs.go_tag }}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not dismiss this alert. Resolve.

…ades

3-tier detection and action system:
- Tier 1 (Digest drift): Auto-creates PR with refreshed SHAs
- Tier 2 (Patch bump): Auto-creates PR with version + SHA updates
- Tier 3 (Minor/Major): Creates issue assigned to Copilot agent
  - Agent reads .github/copilot-instructions.md for procedure
  - Agent researches release notes and checks for breaking changes
  - Agent creates PR with all necessary changes
  - FIPS readiness auto-detected (skips FIPS steps if already configured)

Includes .github/copilot-instructions.md with full Go upgrade procedure
for the Copilot coding agent to follow.

Closes #4366

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@behzad-mir behzad-mir force-pushed the behzadm/go-1.26-upgrade branch from 54d8d84 to bc4bf90 Compare April 30, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Automated Go version bump via GitHub Actions + Copilot Agent

3 participants