chore(ci): add GitHub issue/PR templates and lint workflow - #23
Merged
Conversation
Port the shared MITRE Caldera plugin .github baseline (mitre/training, stockpile, atomic): issue templates, PR template, first-interaction greeting and stale-bot workflows, with SHA-pinned actions. The training repo's javascript-lint workflow has no counterpart here -- the Vue sources under gui/ are not an npm project, so npm ci would fail on step one. Replaced with a flake8 workflow matching what this plugin actually is. The hard gate covers syntax errors only; the wider style sweep runs with --exit-zero until the existing violations are cleared.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Ports the shared MITRE Caldera plugin
.githubbaseline into this plugin, matching what mitre/training, stockpile, and atomic already use:ISSUE_TEMPLATE/(bug report, feature request, question, config)pull_request_template.mdworkflows/greetings.yml(first-interaction bot)workflows/stale.yml(60 day stale, 60 day close)Action versions stay SHA pinned, as upstream has them. The
assignees:front matter was dropped from all three issue templates so issues do not auto assign to an upstream maintainer.Two adaptations for this repo:
No JavaScript lint. Training's
javascript-lint.ymlrunsnpm ci && npm run lint. There is nopackage.jsonor lockfile here, so that would fail on its first step. The Vue sources undergui/are consumed by Caldera's frontend rather than built as their own npm project. Replaced withpython-lint.yml, which reflects what this plugin actually is.Lint gate is narrow on purpose. The hard gate runs
flake8 --select=E9,F63,F7(syntax errors). The full sweep runs with--exit-zeroso it reports without blocking, since the existing tree has roughly 400 style findings.F82(undefined names) is left out of the gate for now: a dead legacy path inapp/capabilities/rag.pytrips it, and cleaning that up belongs in its own change. AddF82back to the gate once it is gone..flake8mirrors caldera core's own config (max-line-length = 180) plus excludes for the vendored data and taxonomy directories. Without it the advisory sweep reports 1419 findings against flake8's default 79 char limit instead of 399.Type of change
How Has This Been Tested?
flake8 . --select=E9,F63,F7 --show-source --statisticsexits 0 against this branch, so the gate is green on first run.yaml.safe_load.No test workflow is included yet.
tests/test_relation_extractor.pyimportsplugins.mcp.app.utilities.cti_relation_extractor, which no longer exists, so pytest currently fails at collection. Worth fixing separately before adding a test job.Checklist: