Files
actions-sync/.github/workflows/licensed.yml
Philip Gai 8d10c36b44
Some checks failed
CodeQL / Analyze (go) (push) Has been cancelled
licenses check / licensed check (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
Close inactive issues / close-issues (push) Has been cancelled
feat: add --batch-size flag to push refs in batches (#173)
* feat: add --batch-size flag to push refs in batches

Add support for pushing refs in smaller batches to avoid server-side
limits and timeouts when syncing large repositories with many tags/branches.

- Add --batch-size flag (default 0 = no batching, original behavior)
- Add References() method to GitRepository interface
- Implement collectRefs() and pushRefsInBatches() helpers
- Add MinBatchSize validation (must be 0 or >= 10)

This addresses issues where repositories with 1000+ refs fail to sync
to GHES with 'command error on refs/heads/<branch>: failed' errors.

* test: add tests for batch-size flag and push batching functionality

* fix: pin tool dependencies to versions compatible with Go 1.21

* ci: fix docker compose v2 syntax and update setup-ruby action

* refactor: address PR review feedback

- Remove unused RefInfo struct from git.go
- Remove redundant pushedAny variable tracking in pushRefsInBatches
- Remove incomplete TestPushRefsInBatches_PartialUpToDate test (already covered by existing test case)

* docs: add --batch-size flag to README
2026-01-27 15:19:55 -06:00

52 lines
953 B
YAML

name: licenses check
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
# github/licensed-ci
permissions:
pull-requests: write
contents: write
jobs:
licensed:
name: licensed check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- run: go version
- run: go mod vendor
# Ruby is required for licensed
- uses: ruby/setup-ruby@90be1154f987f4dc0fe0dd0feedac9e473aa4ba8 # v1
with:
ruby-version: "3.2"
- uses: github/setup-licensed@v1
with:
version: 4.x
- uses: github/licensed-ci@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: branch
env:
GOFLAGS: "-mod=vendor"