Skip to content

test(ci): probe velonix->Artifactory docker push reachability#1834

Open
nv-nmailhot wants to merge 2 commits into
mainfrom
nmailhot/artifactory-reachability-test
Open

test(ci): probe velonix->Artifactory docker push reachability#1834
nv-nmailhot wants to merge 2 commits into
mainfrom
nmailhot/artifactory-reachability-test

Conversation

@nv-nmailhot

@nv-nmailhot nv-nmailhot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Throwaway workflow on a velonix runner that checks TCP 443 reachability, docker login, and a tiny image push to the SWX Artifactory registry. Registry base kept in a secret so the internal URL is masked. Delete after the reachability question is answered.

What?

Describe what this PR is doing.

Why?

Justification for the PR. If there is an existing issue/bug, please reference it. For
bug fixes, the 'Why?' and 'What?' can be merged into a single item.

How?

It is optional, but for complex PRs, please provide information about the design,
architecture, approach, etc.

Summary by CodeRabbit

  • Chores
    • Added a new automated GitHub Actions workflow that runs on pushes to a specific branch.
    • The workflow checks container registry reachability, performs authentication, and publishes a small test image with a run-specific tag.
    • Added early failure behavior when required credentials are missing or connectivity checks fail.

Throwaway workflow on a velonix runner that checks TCP 443 reachability, docker
login, and a tiny image push to the SWX Artifactory registry. Registry base kept
in a secret so the internal URL is masked. Delete after the reachability question
is answered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a GitHub Actions workflow for a single branch that verifies Artifactory TCP reachability, authenticates with registry credentials, builds a minimal container image, and pushes it to a run-specific Artifactory tag.

Changes

Artifactory push test workflow

Layer / File(s) Summary
Branch-triggered reachability and push sequence
.github/workflows/artifactory-push-test.yml
Defines the workflow trigger, runner selection, required secrets, connectivity check, registry login, image build, and image push for an Artifactory reachability test.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I hopped through YAML with a happy thump,
Checked Artifactory’s path, then gave a jump.
Tiny image built, and off it flew,
Run-specific tag in a shiny queue.
Hop hop hooray, the rabbit grins—
Connectivity tests and push wins!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the CI reachability probe to Artifactory and matches the main change.
Description check ✅ Passed The description covers what, why, and how for the workflow, though the template sections are only lightly filled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch nmailhot/artifactory-reachability-test

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/artifactory-push-test.yml:
- Around line 12-23: The artifactory push test workflow currently has no
concurrency control, so repeated pushes to the same branch can leave older runs
active and waste runner time. Add a workflow-level concurrency block to the
artifactory-push-test job workflow so new runs cancel any in-progress run for
the same branch, using the existing branch trigger and workflow name as the
grouping key.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 63ba0503-6242-4512-8eef-8041c112af9c

📥 Commits

Reviewing files that changed from the base of the PR and between a9f456b and 3bcba5f.

📒 Files selected for processing (1)
  • .github/workflows/artifactory-push-test.yml

Comment on lines +12 to +23
on:
push:
branches:
- nmailhot/artifactory-reachability-test

permissions:
contents: read

jobs:
artifactory-push-test:
runs-on: ${{ vars.NIXL_RUNNER_PREFIX || 'prod' }}-nixl-builder-amd-v1
timeout-minutes: 15

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Add workflow concurrency to cancel stale test runs.

This branch-only probe can be triggered repeatedly while earlier runs are still active, which just burns runner time and can leave redundant pushes behind. A small concurrency block is enough here.

Suggested workflow stanza
 on:
   push:
     branches:
       - nmailhot/artifactory-reachability-test
+
+concurrency:
+  group: artifactory-push-test-${{ github.ref }}
+  cancel-in-progress: true
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
on:
push:
branches:
- nmailhot/artifactory-reachability-test
permissions:
contents: read
jobs:
artifactory-push-test:
runs-on: ${{ vars.NIXL_RUNNER_PREFIX || 'prod' }}-nixl-builder-amd-v1
timeout-minutes: 15
on:
push:
branches:
- nmailhot/artifactory-reachability-test
concurrency:
group: artifactory-push-test-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
artifactory-push-test:
runs-on: ${{ vars.NIXL_RUNNER_PREFIX || 'prod' }}-nixl-builder-amd-v1
timeout-minutes: 15
🧰 Tools
🪛 zizmor (1.26.1)

[info] 21-21: workflow or action definition without a name (anonymous-definition): this job

(anonymous-definition)


[warning] 12-15: insufficient job-level concurrency limits (concurrency-limits): workflow is missing concurrency setting

(concurrency-limits)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/artifactory-push-test.yml around lines 12 - 23, The
artifactory push test workflow currently has no concurrency control, so repeated
pushes to the same branch can leave older runs active and waste runner time. Add
a workflow-level concurrency block to the artifactory-push-test job workflow so
new runs cancel any in-progress run for the same branch, using the existing
branch trigger and workflow name as the grouping key.

Source: Linters/SAST tools

…_TOKEN

Use the existing repo secrets (no new secrets needed) so the velonix->Artifactory
push can be tested immediately: docker login as nmailhot, push a tiny image to
sw-dynamo-nixl-docker-local. Same auth path PR3 uses.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/artifactory-push-test.yml (1)

37-58: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Mask the derived registry host before Docker emits it.

The PR summary says the internal URL should stay masked, but AF_HOST is derived from the secret rather than read directly from it. GitHub only redacts exact secret values, so docker login/docker push can still leak the internal host in logs once they print the registry reference.

Suggested fix
          AF_HOST="$(printf '%s' "$ARTIFACTORY_URL" | sed -E 's#^https?://##; s#/.*##')"
+         echo "::add-mask::$AF_HOST"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/artifactory-push-test.yml around lines 37 - 58, The
workflow step derives AF_HOST from ARTIFACTORY_URL, but GitHub masking won’t
redact that computed registry host when docker login or docker push prints it.
Update the artifactory-push-test job to explicitly mask the derived host before
any Docker commands run, using the same step that computes AF_HOST, so docker
emitted registry references stay hidden in logs.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In @.github/workflows/artifactory-push-test.yml:
- Around line 37-58: The workflow step derives AF_HOST from ARTIFACTORY_URL, but
GitHub masking won’t redact that computed registry host when docker login or
docker push prints it. Update the artifactory-push-test job to explicitly mask
the derived host before any Docker commands run, using the same step that
computes AF_HOST, so docker emitted registry references stay hidden in logs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: dcf63eb6-92e9-40e4-8c64-45de3d8b3515

📥 Commits

Reviewing files that changed from the base of the PR and between 3bcba5f and 3664407.

📒 Files selected for processing (1)
  • .github/workflows/artifactory-push-test.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant