Skip to content

Mark auto-generated files for GitHub linguist#5269

Open
janniklasrose wants to merge 1 commit into
mainfrom
janniklasrose/generated-linguist
Open

Mark auto-generated files for GitHub linguist#5269
janniklasrose wants to merge 1 commit into
mainfrom
janniklasrose/generated-linguist

Conversation

@janniklasrose
Copy link
Copy Markdown
Contributor

Changes

Extends linguist-generated=true coverage in .gitattributes (and its .gitattributes.manual source) so generated files don't pollute language stats or show up as hand-written code in reviews. Added patterns:

Generator Files
./task generate-direct bundle/direct/dresources/*.generated.yml
./task generate-schema-docs bundle/schema/jsonschema_for_docs.json
./task generate-schema bundle/internal/schema/annotations_openapi.yml
./task generate-docs bundle/docsgen/output/*.md
mockery internal/mocks/**/*.go
./task generate-genkit internal/genkit/tagging.py{,.lock}, .github/workflows/tagging.yml
./task pydabs-codegen python/databricks/bundles/{catalogs,jobs,pipelines,schemas,volumes}/**
./task test-update{,-templates} acceptance/**/out*, acceptance/**/output/**

Entries go into .gitattributes.manual (prepended onto genkit's output by ./task generate-genkit, per Taskfile.yml:768) and are mirrored into the live .gitattributes so they take effect immediately.

Why

bundle/direct/dresources/apitypes.generated.yml (and resources.generated.yml) were showing up as human-authored code on GitHub. The genkit-managed section of .gitattributes only covers cmd/account/** and cmd/workspace/**, so the rest of the auto-generated tree was unmarked. This brings linguist's view in line with .agent/rules/auto-generated-files.md.

Tests

Verified each pattern with git check-attr linguist-generated <path>:

  • Intended files report true.
  • Adjacent manually-maintained files (bundle/direct/dresources/apitypes.yml, bundle/internal/schema/annotations_openapi_overrides.yml, bundle/internal/schema/annotations.yml, internal/mocks/README.md, python/databricks/bundles/core/**, python/databricks/bundles/build.py, acceptance/test.toml, acceptance/**/script, acceptance/**/databricks.yml) stay unspecified.
  • Pre-existing local .gitattributes (TF schema, validation generated, root jsonschema, acceptance out.test.toml) still resolve correctly.

./task ws passes.

This PR was written by Claude Code.

Extends linguist-generated coverage beyond the genkit CLI stubs in
cmd/account and cmd/workspace to include direct engine YAML, schema
artifacts, mocks, pydabs codegen, acceptance test golden outputs, and
the genkit-managed tagging workflow. Entries land in
.gitattributes.manual so they survive `./task generate-genkit`, which
overwrites .gitattributes and then prepends the manual file.

Co-authored-by: Isaac
@github-actions
Copy link
Copy Markdown
Contributor

Waiting for approval

Based on git history, these people are best suited to review:

  • @denik -- recent work in ./

Eligible reviewers: @andrewnester, @anton-107, @pietern, @renaudhartert-db, @shreyas-goenka, @simonfaltum

Suggestions based on git history. See OWNERS for ownership rules.

Comment thread .gitattributes

# Acceptance test golden outputs (./task test-update, ./task test-update-templates)
acceptance/**/out* linguist-generated=true
acceptance/**/output/** linguist-generated=true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I like seeing these on all PRs because it forces you to acknowledge any side effects of the change.

Sometimes the unexpected behavior is captured only inside the output files.

Comment thread .gitattributes
python/databricks/bundles/volumes/** linguist-generated=true

# Acceptance test golden outputs (./task test-update, ./task test-update-templates)
acceptance/**/out* linguist-generated=true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think all the output of the acceptance test is important to see explicitly as it helps to detect the changes in behaviour

Comment thread .gitattributes
internal/mocks/**/*.go linguist-generated=true

# Genkit-generated tagging artifacts (./task generate-genkit)
internal/genkit/tagging.py linguist-generated=true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd maybe keep this unhidden because if there's something changes here it can affect the release process

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.

3 participants