-
-
Notifications
You must be signed in to change notification settings - Fork 0
chore(ci): add OSSF and CI best practices #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,19 @@ | ||
| # To get started with Dependabot version updates, you'll need to specify which | ||
| # package ecosystems to update and where the package manifests are located. | ||
| # Please see the documentation for more information: | ||
| # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
| # https://containers.dev/guide/dependabot | ||
|
|
||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "cargo" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| - package-ecosystem: "github-actions" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| - package-ecosystem: "rust-toolchain" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| - package-ecosystem: "devcontainers" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| - package-ecosystem: "cargo" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| rebase-strategy: "disabled" | ||
|
|
||
| - package-ecosystem: "github-actions" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| rebase-strategy: "disabled" | ||
|
|
||
| - package-ecosystem: "devcontainers" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| rebase-strategy: "disabled" |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,50 @@ | ||||||
| name: Scorecard supply-chain security | ||||||
| on: | ||||||
| # For Branch-Protection check. Only the default branch is supported. See | ||||||
| # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection | ||||||
| branch_protection_rule: | ||||||
| # To guarantee Maintained check is occasionally updated. See | ||||||
| # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained | ||||||
| schedule: | ||||||
| - cron: "36 23 * * 3" | ||||||
| push: | ||||||
| branches: ["main"] | ||||||
|
|
||||||
| # Declare default permissions as read-only. | ||||||
| permissions: read-all | ||||||
|
|
||||||
| jobs: | ||||||
| analysis: | ||||||
| name: Scorecard analysis | ||||||
| runs-on: ubuntu-latest | ||||||
| if: github.event.repository.default_branch == github.ref_name | ||||||
|
||||||
| if: github.event.repository.default_branch == github.ref_name | |
| if: github.event.repository.default_branch == github.ref_name |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -131,3 +131,4 @@ megalinter-reports/* | |
| target/* | ||
| stringy-output/* | ||
| tests/fixtures/* | ||
| .claude.local.md | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,89 @@ | ||||||
| queue_rules: | ||||||
| - name: default | ||||||
| merge_method: squash | ||||||
| merge_conditions: | ||||||
|
||||||
| merge_conditions: | |
| conditions: |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -84,6 +84,27 @@ excluded_tools: [] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # initial prompt for the project. It will always be given to the LLM upon activating the project | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # (contrary to the memories, which are loaded on demand). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| initial_prompt: "" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # the name by which the project can be referenced within Serena | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| project_name: "Stringy" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| included_optional_tools: [] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # list of mode names to that are always to be included in the set of active modes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # The full set of modes to be activated is base_modes + default_modes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # If the setting is undefined, the base_modes from the global configuration (serena_config.yml) apply. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Otherwise, this setting overrides the global configuration. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Set this to [] to disable base modes for this project. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Set this to a list of mode names to always include the respective modes for this project. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| base_modes: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # list of mode names that are to be activated by default. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # The full set of modes to be activated is base_modes + default_modes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Otherwise, this overrides the setting from the global configuration (serena_config.yml). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # This setting can, in turn, be overridden by CLI parameters (--mode). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| default_modes: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+99
to
+106
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| base_modes: | |
| # list of mode names that are to be activated by default. | |
| # The full set of modes to be activated is base_modes + default_modes. | |
| # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. | |
| # Otherwise, this overrides the setting from the global configuration (serena_config.yml). | |
| # This setting can, in turn, be overridden by CLI parameters (--mode). | |
| default_modes: | |
| # list of mode names that are to be activated by default. | |
| # The full set of modes to be activated is base_modes + default_modes. | |
| # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. | |
| # Otherwise, this overrides the setting from the global configuration (serena_config.yml). | |
| # This setting can, in turn, be overridden by CLI parameters (--mode). |
Copilot
AI
Feb 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default_modes: is declared but has no value, which YAML parses as null. If the intent is an empty list, set it to []; if the intent is to inherit global defaults, omit this key entirely.
| base_modes: | |
| # list of mode names that are to be activated by default. | |
| # The full set of modes to be activated is base_modes + default_modes. | |
| # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. | |
| # Otherwise, this overrides the setting from the global configuration (serena_config.yml). | |
| # This setting can, in turn, be overridden by CLI parameters (--mode). | |
| default_modes: | |
| # list of mode names that are to be activated by default. | |
| # The full set of modes to be activated is base_modes + default_modes. | |
| # If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply. | |
| # Otherwise, this overrides the setting from the global configuration (serena_config.yml). | |
| # This setting can, in turn, be overridden by CLI parameters (--mode). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The qlty coverage upload is configured to read "target/lcov.info", but earlier in this job the LCOV report is written to "lcov.info" (repo root). This mismatch will prevent qlty from finding the report. Align the output path and the upload path (either write into target/lcov.info or upload lcov.info).