-
Notifications
You must be signed in to change notification settings - Fork 4
Use dev-container image #45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
6c6be8f
8d9f6fe
5800432
73e5bb6
fe93834
d193ee9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,10 +25,11 @@ jobs: | |
| e2e: | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: ghcr.io/vdaas/vald/vald-ci-container:nightly | ||
| image: ghcr.io/vdaas/vald/vald-dev-container:nightly | ||
| options: "--add-host host.docker.internal:host-gateway" | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
# Verify no deprecated checkout major versions remain in workflows.
rg -nP 'uses:\s*actions/checkout@v[123]\b' .github/workflowsRepository: vdaas/vald-client-python Length of output: 131 🌐 Web query:
💡 Result: actions/checkout@v3 is not formally deprecated or scheduled for support end in 2025. It uses Node 16 runtime, which reached end-of-life in GitHub Actions runners on November 12, 2024. Using v3 now produces deprecation warnings due to Node 16, and workflows may fail if runners no longer support it post-EOL. Official docs and changelog recommend upgrading to v4 (Node 20), v5 (Node 24), or latest v6 for continued support and security updates. No specific 2025 cutoff for v3 is announced; older major versions receive security fixes indefinitely per GitHub policy. Upgrade to actions/checkout@v6 (latest as of 2026-01-09) to avoid issues. Citations:
🏁 Script executed: #!/bin/bash
# Examine the full e2e.yaml workflow to verify claims in scratchpad
head -50 .github/workflows/e2e.yaml | cat -nRepository: vdaas/vald-client-python Length of output: 1370 🏁 Script executed: #!/bin/bash
# Check all GitHub workflow files for action versions and permissions
echo "=== Checking for permissions block in e2e.yaml ==="
grep -n "permissions:" .github/workflows/e2e.yaml || echo "No permissions block found"
echo -e "\n=== Full workflow structure (first 40 lines) ==="
cat -n .github/workflows/e2e.yaml | head -40Repository: vdaas/vald-client-python Length of output: 1498 Upgrade Line 31 uses Proposed fix- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4🧰 Tools🪛 actionlint (1.7.12)[error] 31-31: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue (action) 🤖 Prompt for AI Agents |
||
| - uses: vdaas/vald-client-ci/.github/actions/e2e@main | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # First, locate and examine the e2e.yaml workflow file
find . -path "./.github/workflows/e2e.yaml" -type f | head -1Repository: vdaas/vald-client-python Length of output: 96 🏁 Script executed: # Read the file content around line 32 to verify the issue
cat -n .github/workflows/e2e.yaml | sed -n '20,45p'Repository: vdaas/vald-client-python Length of output: 577 🏁 Script executed: # Check all action usages in the file to see the overall pattern
rg 'uses:' .github/workflows/e2e.yaml -nRepository: vdaas/vald-client-python Length of output: 167 Pin the reusable action to an immutable commit SHA, not The reference to Compare with line 31 ( 🤖 Prompt for AI Agents |
||
| with: | ||
| client_type: python | ||
| image_tag: pr-3448 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # First, let's examine the e2e.yaml workflow file
cat -n .github/workflows/e2e.yaml | head -50Repository: vdaas/vald-client-python Length of output: 1370 🏁 Script executed: # Also check if there are other workflows that manage image tags
fd -t f '\.yaml$' .github/workflows/ | head -20Repository: vdaas/vald-client-python Length of output: 231 🏁 Script executed: # Search for how image tags are typically managed in workflows
rg "image_tag" .github/workflows/ -A 2 -B 2Repository: vdaas/vald-client-python Length of output: 221 🏁 Script executed: # Check for any documentation or comments about image tags
rg "VALD_IMAGE_TAG|pr-3448" --type yaml --type mdRepository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Look at other workflows to see how they reference images
rg "image:" .github/workflows/ -B 1 -A 1Repository: vdaas/vald-client-python Length of output: 284 🏁 Script executed: # Check if there's any GitHub vars definition or similar patterns
find .github -name "*.yml" -o -name "*.yaml" | xargs grep -l "vars\." 2>/dev/null | head -10Repository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Check git history or comments around this file
git log -p --all -S "pr-3448" -- ".github/workflows/e2e.yaml" 2>/dev/null | head -100 || echo "No git history available"Repository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Check if there are any GitHub Actions secrets or variables referenced elsewhere
rg "secrets\.|vars\." .github/workflows/ -oRepository: vdaas/vald-client-python Length of output: 448 🏁 Script executed: # Look at the reusable action being called to understand image_tag parameter
# First, find if there's documentation about this action
rg "vald-client-ci|e2e" .github -B 2 -A 2Repository: vdaas/vald-client-python Length of output: 2054 🏁 Script executed: # Check if there's any README or documentation about image tags
cat README.md 2>/dev/null | head -100 || echo "No README in root"Repository: vdaas/vald-client-python Length of output: 2191 🏁 Script executed: # Look for any configuration or environment-related files
ls -la .github/ | grep -v "^d"Repository: vdaas/vald-client-python Length of output: 143 🏁 Script executed: # Check if this file is auto-generated or synced (the "DO NOT EDIT" comment)
head -20 .github/workflows/e2e.yamlRepository: vdaas/vald-client-python Length of output: 741 🏁 Script executed: # Look for any sync configuration or references to vald-client-ci
cat .github/dependabot-cli.yamlRepository: vdaas/vald-client-python Length of output: 316 🏁 Script executed: # Check if there's any documentation about workflow management
find . -name "*.md" -type f | xargs grep -l "workflow\|e2e" 2>/dev/null | head -5Repository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Verify the actual hardcoded value and understand the context better
grep -n "pr-3448" .github/workflows/e2e.yamlRepository: vdaas/vald-client-python Length of output: 99 🏁 Script executed: # Check the full context of the e2e.yaml workflow to understand intent
cat -n .github/workflows/e2e.yamlRepository: vdaas/vald-client-python Length of output: 1370 🏁 Script executed: # Look for any recent changes or comments about pr-3448
git log --all --oneline -- ".github/workflows/e2e.yaml" 2>/dev/null | head -20 || echo "No git log"Repository: vdaas/vald-client-python Length of output: 212 🏁 Script executed: # Check if there's a .syncpackage or similar file indicating syncing
find .github -type f -name "*sync*" -o -name "*template*" 2>/dev/nullRepository: vdaas/vald-client-python Length of output: 95 🏁 Script executed: # Check the sync.yaml to understand how workflows are synced
cat .github/workflows/sync.yamlRepository: vdaas/vald-client-python Length of output: 1034 🏁 Script executed: # Look at the git commit that introduced pr-3448 to understand context
git show fe93834 --stat 2>/dev/null | head -30 || echo "No commit details"Repository: vdaas/vald-client-python Length of output: 1669 🏁 Script executed: # Check if vars are used anywhere in GitHub Actions contexts
rg "\$\{\{" .github/workflows/ | head -20Repository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Check the vald-client-ci repository or documentation about how image_tag is managed
# First, let's see if there's any issue tracker or documentation
find . -name "*.md" -type f -exec grep -l "image_tag\|pr-3448" {} \; 2>/dev/nullRepository: vdaas/vald-client-python Length of output: 50 🏁 Script executed: # Check what the e2e action expects and if it supports variable interpolation
# Since we can't access the external repo, let's check if there are any env vars or workflow_call inputs
grep -r "workflow_call\|inputs:" .github/workflows/ 2>/dev/null || echo "No workflow_call found"Repository: vdaas/vald-client-python Length of output: 90 🏁 Script executed: # Verify the current status: is pr-3448 a stable, maintained tag or a temporary one?
# Check container registries info if available in docs
rg "ghcr.io|vald.*image" --type md -A 2 -B 2Repository: vdaas/vald-client-python Length of output: 50 Hardcoded PR-scoped image tags should be replaced with configurable values. Line 35 uses 🤖 Prompt for AI Agents |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
cat -n .github/workflows/e2e.yaml | head -40Repository: vdaas/vald-client-python
Length of output: 1370
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 52
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 93
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
# Check if there's a .github directory structure ls -la .github/workflows/Repository: vdaas/vald-client-python
Length of output: 559
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 93
🏁 Script executed:
# Look at the actual content of the e2e.yaml more carefully cat .github/workflows/e2e.yamlRepository: vdaas/vald-client-python
Length of output: 1125
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 92
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 705
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 52
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 50
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 52
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 2114
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 52
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 2191
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 52
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 1034
🏁 Script executed:
Repository: vdaas/vald-client-python
Length of output: 128
🏁 Script executed:
# Search web for information about vald-dev-container nightly tag web_search ghcr.io vdaas vald-dev-container nightly digest pinningRepository: vdaas/vald-client-python
Length of output: 164
🌐 Web query:
vdaas vald-dev-container nightly image digest pinning GitHub Actions💡 Result:
The vdaas/vald-dev-container is a nightly-built Docker image used for development containers (devcontainers) in the Vald project (github.com/vdaas/vald). It is built via GitHub Actions workflow .github/workflows/dockers-dev-container-image.yaml on pushes to main (nightly tag) and PRs (pr-XXXX tags). Images are published to Docker Hub (hub.docker.com/r/vdaas/vald-dev-container) and GHCR. No evidence of digest pinning (e.g., image:tag@sha256:digest) in workflows or devcontainer.json for this image or its base images. Workflows use tag references like :nightly or :pr-XXXX. Docker Hub lists digests (e.g., sha256:8d544902cc0a for pr-3493), but they are not pinned in configs. General pinning best practices apply (e.g., result 2 recommends digest pinning for security), but Vald workflows do not implement it for vald-dev-container. Devcontainer.json likely references "vdaas/vald-dev-container:nightly" by tag.
Citations:
Coordinate with vdaas/vald-client-ci to pin container image by digest.
Line 28 uses
:nightly, a mutable tag that rebuilds daily and can cause non-deterministic E2E results. However, this file is marked "DO NOT EDIT" and auto-synced from vdaas/vald-client-ci. The fix should be coordinated at the source (vdaas/vald-client-ci level) or the nightly build process should support stable digest references. Pinning locally may be overwritten on next sync.🤖 Prompt for AI Agents