my-git

GitHub Actions CI

English 中文

CI is the baseline quality gate in the GitHub collaboration workflow.

It cannot guarantee that the code is absolutely correct, but it prevents obvious compilation failures, test failures, formatting errors, and basic security issues from entering the main branch directly.

The value of CI is not just about “shipping faster”, but more importantly making merge decisions more reliable and giving reviewers and authors more confidence in the quality of changes. For related research, see Empirical Git Workflow Research Notes.

Minimal CI

A formal team should at least have:

Example:

name: ci

on:
  pull_request:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm test
      - run: npm run build

Commands vary by language, but the principle is consistent: the most critical paths must be automatically verified before a PR is merged.

Integration with Branch Protection

In GitHub branch protection, CI jobs can be configured as required status checks.

This prevents PRs from merging into the main branch if they fail CI.

Multi-Repository Teams

Multi-repository teams should not copy and paste a workflow into every repository.

Extract common checks into reusable workflows, and then have business repositories call them by version. This standardizes job names, permissions, cache strategies, and basic checks, making it easier to promote alongside organizational-level rules.

See Reusable Workflows for details.

AI Programming Scenarios

After AI generates code, CI is the baseline quality assurance.

At a minimum, check:

Further Reading