Merge pull request #21988 from dybucc/ci-generated-lints

internal: add workflow to handle generating lints
diff --git a/.github/workflows/gen-lints.yml b/.github/workflows/gen-lints.yml
new file mode 100644
index 0000000..7319b2b
--- /dev/null
+++ b/.github/workflows/gen-lints.yml
@@ -0,0 +1,35 @@
+name: Generate lints and feature flags
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '50 23 * * 6'
+
+defaults:
+  run:
+    shell: bash
+
+jobs:
+  lints-gen:
+    name: Generate lints
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v6
+
+      - name: Install nightly
+        run: rustup default nightly
+
+      - name: Generate lints/feature flags
+        run: cargo codegen lint-definitions
+
+      - name: Submit PR
+        uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
+        with:
+          commit-message: "internal: update generated lints"
+          branch: "ci/gen-lints"
+          delete-branch: true
+          sign-commits: true
+          title: "Update generated lints"
+          body: "Weekly lint updates for `crates/ide-db/src/generated/lints.rs`."
+          labels: "A-infra"