-
-
Notifications
You must be signed in to change notification settings - Fork 588
chore(ci): try Shipfox #3268
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?
chore(ci): try Shipfox #3268
Changes from all commits
af054ef
d2a3d9b
c8107ab
4332883
2a2ac47
7544234
5d8427e
e06a456
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 |
|---|---|---|
|
|
@@ -12,7 +12,7 @@ concurrency: | |
|
|
||
| jobs: | ||
| detect-modules: | ||
| runs-on: ubuntu-latest | ||
| runs-on: shipfox-2vcpu-ubuntu-2404 | ||
|
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: cat -n .github/workflows/ci.yml | head -160Repository: testcontainers/testcontainers-go Length of output: 6552 🏁 Script executed: #!/bin/bash
# Check for Ubuntu version references in codebase
echo "=== Checking for Ubuntu version references ==="
rg "ubuntu-2[0-9]|jammy|noble" --type yaml --type sh --type toml --type md -n
echo -e "\n=== Checking for Docker version constraints ==="
rg "docker.*version|DOCKER_VERSION|DOCKER_BUILDKIT" -n --type yaml --type sh --type toml
echo -e "\n=== Checking for kernel version or system-specific constraints ==="
rg "uname|kernel.*version|lsb_release" -n --type yaml --type shRepository: testcontainers/testcontainers-go Length of output: 444 🏁 Script executed: # Check if there are any known issues or compatibility notes for Ubuntu 24.04 in docs
echo "=== Checking for compatibility notes or setup documentation ==="
find . -maxdepth 2 -type f \( -name "README*" -o -name "SETUP*" -o -name "*.md" \) | head -10 | xargs grep -l "ubuntu\|docker\|24.04\|noble" 2>/dev/null | head -5Repository: testcontainers/testcontainers-go Length of output: 147 🏁 Script executed: #!/bin/bash
# Check for other CI workflow files
echo "=== Other workflow files ==="
find .github/workflows -type f -name "*.yml" -o -name "*.yaml" | sort
echo -e "\n=== Check for README or infrastructure docs ==="
find . -maxdepth 2 -type f \( -name "README*" -o -name "CONTRIBUTING*" -o -name "*INFRA*" \) | head -10
echo -e "\n=== Look for any documentation on runners or CI ==="
find . -type f -name "*.md" | xargs grep -l "shipfox\|runner\|ubuntu.*24" 2>/dev/null | head -5Repository: testcontainers/testcontainers-go Length of output: 953 🏁 Script executed: # Check ci-test-go.yml to understand how the platform parameter is used
echo "=== Checking ci-test-go.yml for platform usage ==="
cat .github/workflows/ci-test-go.yml | head -100Repository: testcontainers/testcontainers-go Length of output: 3633 🏁 Script executed: # Look for any fallback logic or GitHub runner configuration elsewhere
echo "=== Checking for github.io or other runner configurations ==="
rg "runs-on|ubuntu-latest|macos-latest|windows-latest" .github/workflows/ -A 2 -B 2Repository: testcontainers/testcontainers-go Length of output: 6218 Verify Ubuntu 24.04 compatibility for non-modulegen modules and ensure fallback strategy is documented. The Shipfox runner is already established across the CI infrastructure. However, non-modulegen modules lack fallback runners. Before merging, verify:
🧰 Tools🪛 actionlint (1.7.9)15-15: label "shipfox-2vcpu-ubuntu-2404" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file (runner-label) 🤖 Prompt for AI Agents |
||
| outputs: | ||
| modules: ${{ steps.set-modified-modules.outputs.modules }} | ||
| modules_count: ${{ steps.set-modified-modules-count.outputs.modules_count }} | ||
|
|
@@ -69,7 +69,7 @@ jobs: | |
| uses: ./.github/workflows/ci-test-go.yml | ||
| with: | ||
| go-version: ${{ matrix.go-version }} | ||
| platforms: ${{ matrix.module == 'modulegen' && '["ubuntu-latest", "macos-latest", "windows-latest"]' || '["ubuntu-latest"]' }} | ||
| platforms: ${{ matrix.module == 'modulegen' && '["shipfox-2vcpu-ubuntu-2404", "macos-latest", "windows-latest"]' || '["shipfox-2vcpu-ubuntu-2404"]' }} | ||
| project-directory: "${{ matrix.module }}" | ||
| testcontainers-cloud: false | ||
| rootless-docker: false | ||
|
|
@@ -92,7 +92,7 @@ jobs: | |
| uses: ./.github/workflows/ci-test-go.yml | ||
| with: | ||
| go-version: ${{ matrix.go-version }} | ||
| platforms: '["ubuntu-latest"]' | ||
| platforms: '["shipfox-2vcpu-ubuntu-2404"]' | ||
| project-directory: "." | ||
| testcontainers-cloud: true | ||
| rootless-docker: false | ||
|
|
@@ -113,7 +113,7 @@ jobs: | |
| uses: ./.github/workflows/ci-test-go.yml | ||
| with: | ||
| go-version: ${{ matrix.go-version }} | ||
| platforms: '["ubuntu-latest"]' | ||
| platforms: '["shipfox-2vcpu-ubuntu-2404"]' | ||
| project-directory: "." | ||
| testcontainers-cloud: false | ||
| rootless-docker: false | ||
|
|
@@ -134,7 +134,7 @@ jobs: | |
| uses: ./.github/workflows/ci-test-go.yml | ||
| with: | ||
| go-version: ${{ matrix.go-version }} | ||
| platforms: '["ubuntu-latest"]' | ||
| platforms: '["shipfox-2vcpu-ubuntu-2404"]' | ||
| project-directory: "." | ||
| testcontainers-cloud: false | ||
| rootless-docker: true | ||
|
|
@@ -146,7 +146,7 @@ jobs: | |
| needs: | ||
| - detect-modules | ||
| - test | ||
| runs-on: ubuntu-latest | ||
| runs-on: shipfox-2vcpu-ubuntu-2404 | ||
| steps: | ||
| - name: Check if any jobs failed | ||
| if: ${{ failure() || cancelled() }} | ||
|
|
||
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.
Remove either
required: trueor the default value.The
platformsinput is marked asrequired: truebut also has a default value. If an input is required, its default value will never be used since callers must always provide a value. This creates confusion about the intended behavior.🔎 Recommended fix
Choose one approach:
Option 1: Remove the default if the value must always be explicitly provided:
platforms: required: true type: string - default: "shipfox-2vcpu-ubuntu-2404" description: "The platforms in which the project will be run"Option 2: Remove
required: trueif the default should be used when not specified:Based on the workflow design where callers explicitly provide platform matrices (see ci.yml lines 72, 95, 116, 137), Option 1 appears more appropriate.
📝 Committable suggestion
🧰 Tools
🪛 actionlint (1.7.9)
14-14: input "platforms" of workflow_call event has the default value "shipfox-2vcpu-ubuntu-2404", but it is also required. if an input is marked as required, its default value will never be used
(events)
🤖 Prompt for AI Agents