Skip to content

fix(test): docker startup fail in macos environment#6

Closed
ChihuaYing wants to merge 3 commits into
mainfrom
feat_ych_20260429
Closed

fix(test): docker startup fail in macos environment#6
ChihuaYing wants to merge 3 commits into
mainfrom
feat_ych_20260429

Conversation

@ChihuaYing

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings April 29, 2026 16:11

Copilot AI 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.

Pull request overview

This PR aims to address Docker startup failures on macOS GitHub Actions runners by changing how Docker/Colima/Lima are installed and initialized in the shared dependency setup action.

Changes:

  • Update the macOS Docker setup in the composite dependence action to install colima via Homebrew, reset existing colima state, and validate the daemon with docker info.
  • Comment out the majority of jobs in .github/workflows/tests.yml, leaving only remote-test enabled and also commenting out the “all required jobs green” aggregator job.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/tests.yml Disables most PR test jobs (and the aggregator check), drastically changing CI behavior.
.github/actions/dependence/action.yml Adjusts macOS Docker install/startup flow to rely on Homebrew colima/lima and reinitialize colima before use.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 13 to +18
jobs:
unit-test:
uses: ./.github/workflows/unit-test.yml
unit-mds:
uses: ./.github/workflows/unit-mds.yml
case-regression:
uses: ./.github/workflows/case-regression.yml
with:
metadata-matrix: '["zookeeper"]'
standalone-test:
uses: ./.github/workflows/standalone-test.yml
with:
metadata-matrix: '["zookeeper"]'
standalone-test-no-optimizer:
uses: ./.github/workflows/standalone-test-no-optimizer.yml
with:
metadata-matrix: '["zookeeper"]'
db-ce:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
db-ce-no-optimizer:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
close-optimizer: "true"
standalone-test-no-mac-relational:
uses: ./.github/workflows/standalone-test.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng", "Oracle"]'
timeout-minutes: 100
standalone-test-no-optimizer-no-mac-relational:
uses: ./.github/workflows/standalone-test-no-optimizer.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng", "Oracle"]'
timeout-minutes: 100
standalone-test-no-mac-no-privs-dameng:
uses: ./.github/workflows/standalone-test.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng"]'
db-support-create-database: false
timeout-minutes: 120
standalone-test-no-optimizer-no-mac-no-privs-dameng:
uses: ./.github/workflows/standalone-test-no-optimizer.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng"]'
db-support-create-database: false
timeout-minutes: 100
standalone-test-oceanbase:
uses: ./.github/workflows/standalone-test.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest"]'
db-matrix: '["OceanBase"]'
timeout-minutes: 300
standalone-test-no-optimizer-oceanbase:
uses: ./.github/workflows/standalone-test-no-optimizer.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest"]'
db-matrix: '["OceanBase"]'
timeout-minutes: 300
db-ce-dameng:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 120
db-ce-no-optimizer-dameng:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["Dameng"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 120
close-optimizer: "true"
db-ce-only-linux-relational:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest"]'
db-matrix: '["Oracle", "OceanBase"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 120
db-ce-no-optimizer-only-linux-relational:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest"]'
db-matrix: '["Oracle", "OceanBase"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 120
close-optimizer: "true"
standalone-test-vectordb:
uses: ./.github/workflows/standalone-test.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["VectorDB"]'
timeout-minutes: 300
standalone-test-no-optimizer-vectordb:
uses: ./.github/workflows/standalone-test-no-optimizer.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["VectorDB"]'
timeout-minutes: 300
db-ce-vectordb:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["VectorDB"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 360
db-ce-no-optimizer-vectordb:
uses: ./.github/workflows/DB-CE.yml
with:
metadata-matrix: '["zookeeper"]'
os-matrix: '["ubuntu-latest", "windows-latest"]'
db-matrix: '["VectorDB"]'
functest: "NewSessionIT,SQLCompareIT,TagIT,RestIT,TransformIT,UDFIT,RestAnnotationIT,SQLSessionIT,SQLSessionPoolIT,SessionV2IT,CompactionIT,TimePrecisionIT,PySessionIT"
timeout-minutes: 360
close-optimizer: "true"
# unit-test:
# uses: ./.github/workflows/unit-test.yml
# unit-mds:
# uses: ./.github/workflows/unit-mds.yml
# case-regression:

Copilot AI Apr 29, 2026

Copy link

Choose a reason for hiding this comment

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

Most jobs in this workflow have been commented out, leaving only remote-test active. This effectively disables the project's unit/integration/regression CI on PRs and is a large behavioral change unrelated to the stated goal (macOS Docker startup). Please restore the jobs (or gate/disable them via a clear conditional/input) so PRs still run the expected test suite.

Copilot uses AI. Check for mistakes.
Comment on lines +167 to +200
# analyze-required-test-check:
# if: always()
# needs: # List of jobs that must pass. Add more jobs if needed.
# - unit-test
# - unit-mds
# - case-regression
# - standalone-test
# - standalone-test-no-optimizer
# - db-ce
# - db-ce-no-optimizer
# - standalone-test-vectordb
# - standalone-test-no-optimizer-vectordb
# - db-ce-vectordb
# - db-ce-no-optimizer-vectordb
# - remote-test
# - assembly-test
# - free-thread-test
# - tpc-h-test
# - standalone-test-no-mac-relational
# - standalone-test-no-optimizer-no-mac-relational
# - db-ce-dameng
# - db-ce-no-optimizer-dameng
# - db-ce-only-linux-relational
# - db-ce-no-optimizer-only-linux-relational
# - standalone-test-oceanbase
# - standalone-test-no-optimizer-oceanbase
# - cluster-test
# - restart-test
# runs-on: ubuntu-latest
# steps:
# - name: Decide whether the needed jobs succeeded or failed
# uses: re-actors/alls-green@release/v1
# with:
# jobs: ${{ toJSON(needs) }}

Copilot AI Apr 29, 2026

Copy link

Choose a reason for hiding this comment

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

analyze-required-test-check has been commented out. If branch protection relies on a single aggregating check (via re-actors/alls-green) to enforce that all matrix jobs passed, removing this job can cause required checks to be bypassed or become inconsistent. Consider keeping this job enabled and updating its needs: list to match the intended job set.

Suggested change
# analyze-required-test-check:
# if: always()
# needs: # List of jobs that must pass. Add more jobs if needed.
# - unit-test
# - unit-mds
# - case-regression
# - standalone-test
# - standalone-test-no-optimizer
# - db-ce
# - db-ce-no-optimizer
# - standalone-test-vectordb
# - standalone-test-no-optimizer-vectordb
# - db-ce-vectordb
# - db-ce-no-optimizer-vectordb
# - remote-test
# - assembly-test
# - free-thread-test
# - tpc-h-test
# - standalone-test-no-mac-relational
# - standalone-test-no-optimizer-no-mac-relational
# - db-ce-dameng
# - db-ce-no-optimizer-dameng
# - db-ce-only-linux-relational
# - db-ce-no-optimizer-only-linux-relational
# - standalone-test-oceanbase
# - standalone-test-no-optimizer-oceanbase
# - cluster-test
# - restart-test
# runs-on: ubuntu-latest
# steps:
# - name: Decide whether the needed jobs succeeded or failed
# uses: re-actors/alls-green@release/v1
# with:
# jobs: ${{ toJSON(needs) }}
analyze-required-test-check:
if: always()
needs: # List of jobs that must pass. Add more jobs if needed.
- unit-test
- case-regression
- standalone-test
- standalone-test-no-optimizer
- db-ce
- db-ce-no-optimizer
- standalone-test-vectordb
- standalone-test-no-optimizer-vectordb
- db-ce-vectordb
- db-ce-no-optimizer-vectordb
- remote-test
- assembly-test
- free-thread-test
- tpc-h-test
- standalone-test-no-mac-relational
- standalone-test-no-optimizer-no-mac-relational
- db-ce-dameng
- db-ce-no-optimizer-dameng
- db-ce-only-linux-relational
- db-ce-no-optimizer-only-linux-relational
- standalone-test-oceanbase
- standalone-test-no-optimizer-oceanbase
- cluster-test
- restart-test
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}

Copilot uses AI. Check for mistakes.
Comment thread .github/actions/dependence/action.yml Outdated
sudo curl -L -o $LIMACTL_PATH https://github.com/mikekazakov/lima-nohvf/raw/master/limactl && sudo chmod +x $LIMACTL_PATH
colima start --network-address --arch arm64 --vm-type=qemu
docker --version
brew install docker qemu lima colima

Copilot AI Apr 29, 2026

Copy link

Choose a reason for hiding this comment

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

The comment says we should keep colima and lima “in sync”, but brew install docker qemu lima colima will not upgrade already-installed packages on the runner. If the failure mode is caused by version skew, consider using brew upgrade colima lima (or brew reinstall) to actually align versions.

Suggested change
brew install docker qemu lima colima
brew install docker qemu lima colima
brew upgrade colima lima || brew reinstall colima lima

Copilot uses AI. Check for mistakes.
docker --version
brew install docker qemu lima colima
brew install lima-additional-guestagents || true
colima delete -f || true

Copilot AI Apr 29, 2026

Copy link

Choose a reason for hiding this comment

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

brew install lima-additional-guestagents || true will silently ignore installation failures. If this package is required for colima start to work reliably, this can mask the real root cause and lead to harder-to-debug downstream failures. Prefer an explicit conditional (e.g., check formula availability) or emit a clear warning when the install fails.

Suggested change
colima delete -f || true
if ! colima delete -f; then
echo "Warning: failed to delete existing Colima instance; continuing with colima start." >&2
fi

Copilot uses AI. Check for mistakes.
@ChihuaYing ChihuaYing closed this Apr 29, 2026
@ChihuaYing ChihuaYing reopened this Apr 30, 2026
@ChihuaYing ChihuaYing closed this Apr 30, 2026
@ChihuaYing ChihuaYing reopened this Apr 30, 2026
@ChihuaYing ChihuaYing closed this Apr 30, 2026
@ChihuaYing
ChihuaYing deleted the feat_ych_20260429 branch April 30, 2026 02:32
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.

2 participants