Skip to content

ci: optimize CI/CD infrastructure and upgrade dependencies#8816

Open
warren830 wants to merge 4 commits intomainfrom
ci/optimize-cicd-infrastructure
Open

ci: optimize CI/CD infrastructure and upgrade dependencies#8816
warren830 wants to merge 4 commits intomainfrom
ci/optimize-cicd-infrastructure

Conversation

@warren830
Copy link
Copy Markdown
Contributor

Summary

  • golangci-lint alignment: CI version v1.53.3v1.63.4 to match Makefile, eliminating local/CI lint discrepancies
  • Go version upgrade: 1.20 (EOL since Aug 2023) → 1.22 in go.mod, backend Dockerfile, and lake-builder Dockerfile
  • GitHub Actions upgrades: All actions bumped to latest major (checkout v4, cache v4, build-push-action v6, setup-qemu/buildx v3, login-action v3, setup-node v4, stale v9, super-linter v7, github-script v7)
  • Docker optimizations: Fixed config-ui layer cache (COPY package.json before yarn install), consolidated backend apt-get layers with cache cleanup, added Go module cache mount, created backend/.dockerignore
  • CI waste reduction: Added concurrency control to 11 workflows (auto-cancels superseded PR runs), extracted free-disk-space composite action (deduplicated 5 copies in build.yml)

Details

Files changed (21 files: 19 modified, 2 new)

Category Files
Workflows All 15 .github/workflows/*.yml
Composite action .github/actions/free-disk-space/action.yml (NEW)
Dockerfiles backend/Dockerfile, config-ui/Dockerfile, devops/docker/lake-builder/Dockerfile
Go backend/go.mod
Docker ignore backend/.dockerignore (NEW)

Note

The mericodev/lake-builder:latest CI image needs to be rebuilt with Go 1.22 (trigger build-builder.yml with a builder-* tag) for the golangci-lint v1.63.4 upgrade to take effect in CI.

Test plan

  • YAML syntax validation — all 17 YAML files parse cleanly
  • Go compilation — go build ./server/... and go build ./core/... pass
  • Dockerfile pattern verification — layer order, cache mounts, apt cleanup all correct
  • Action version audit — no stale v2/v3 actions remaining
  • Concurrency block audit — 11/11 target workflows covered
  • Composite action ordering — checkout always precedes local action reference
  • Full CI run on this branch
  • Rebuild lake-builder image with Go 1.22

🤖 Generated with Claude Code

- Align golangci-lint version to v1.63.4 across CI and Makefile
- Upgrade Go from 1.20 (EOL) to 1.22 in go.mod, backend Dockerfile,
  and lake-builder Dockerfile
- Upgrade GitHub Actions to latest major versions: checkout v4,
  cache v4, docker/build-push-action v6, setup-qemu v3,
  setup-buildx v3, login-action v3, setup-node v4, stale v9,
  super-linter v7, github-script v7
- Fix config-ui Dockerfile layer cache by copying package.json
  before yarn install
- Consolidate backend Dockerfile apt-get layers and add Go module
  cache mount
- Add backend/.dockerignore for smaller build context
- Add concurrency control to 11 PR-triggered workflows
- Extract free-disk-space composite action to reduce duplication
  in build.yml
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. devops Something about CI/CD (devops) pr-type/refactor This PR refactors existing features labels Mar 30, 2026
- Fix non-constant format string warnings in migration linter and
  logruslog (govet stricter in golangci-lint v1.63.4)
- Add GITHUB_TOKEN to yaml-lint workflow (required by super-linter v7)
super-linter v7 requires full git history to diff changed files.
super-linter v7 enables more linters by default (CHECKOV, JSCPD, etc.).
Explicitly set VALIDATE_YAML: true so only YAML linting runs, matching
the original v4 behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devops Something about CI/CD (devops) pr-type/refactor This PR refactors existing features size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant