Skip to content

Enhances workflows for improved security and resiliency#39

Merged
lucas-koontz merged 6 commits into
mainfrom
chore/eng-1053-startup-failure-watchdog
Jul 27, 2026
Merged

Enhances workflows for improved security and resiliency#39
lucas-koontz merged 6 commits into
mainfrom
chore/eng-1053-startup-failure-watchdog

Conversation

@lucas-koontz

Copy link
Copy Markdown
Contributor

Refines PR environment comment workflow by removing sensitive data like login credentials and account details from public comments, opting instead for a secure runbook reference. Ensures better security by validating and declaring necessary permissions explicitly, preventing runtime errors due to missing scopes.

Improves workflow structure and documentation for managing secrets, detailing their appropriate storage and retrieval methods. This enhances collaboration across public and private repositories while maintaining safety.

Increases robustness through refined workflow checks and allowances for workflow exceptions, addressing past issues with deployment confirmation and notification clarity.

Relates to ENG-1053

The dev/staging/prod trio was the same pipeline three times, and the drift it
hid was real: prod built its image without waiting for lint or tests, staging
and prod disagreed on deploy's needs list, and inference's prod migrate keyed
its concurrency group on a matrix it does not have.

One repo-local build-deploy.yml now holds the graph; the three callers hold the
trigger, the concurrency group, the checks the build waits on, the permission
ceiling, and the env knobs. migrate/deploy/integration-tests collapse to one
matrixed path gated on a has-envs boolean, because an empty matrix concludes
the whole run as failed with no failed job in it.

Also fixes what the pipelines were saying. Two pushes to staging had concluded
startup_failure with zero jobs -- a caller granted no pull-requests scope while
a callee declared one, and that cap is enforced when the file loads -- so
staging served the previous image for ten hours and nothing alerted, because
the notify job is a job inside the run. Prevention is a shared lint gate,
detection is a scheduled sweep; the same fix closed an unnoticed prod window.
Promotion PRs stop rebuilding images nothing deploys, and a release is one run
tree instead of two.
…NG-1053)

Replaces `workflow_permissions.py` with `workflow_graph.py` to incorporate additional static checks on workflow graphs, addressing issues with multiple run trees and uncalled reusables. Updates related workflow and test references. Introduces `.gitignore` to exclude common Python and IDE-specific files.
Update README to provide clear guidelines on choosing secret storage locations based on the type of secret, emphasizing security considerations and correcting misconceptions about Kubernetes as the default. Removes redundant compiled Python file.
…orkflow robustness (ENG-1053)

Enhances PR environment comment workflow by removing sensitive details, promoting security by linking to protected documentation, and refines permission declarations to prevent runtime failures. Updates README and test cases to reflect these changes, ensuring clarity and consistency. These improvements address previous detection gaps and enhance auditability for pull request-based operations.
@lucas-koontz
lucas-koontz requested a review from a team as a code owner July 26, 2026 23:53
…ments (ENG-1053)

Introduces a new input option to customize the heading text in PR environment comments, accommodating varied use cases such as installer artifacts. Simplifies message consistency by updating the subtext. These changes provide greater flexibility and clearer communication in pull request comments.
@lucas-koontz
lucas-koontz merged commit b3b9388 into main Jul 27, 2026
5 checks passed
@lucas-koontz
lucas-koontz deleted the chore/eng-1053-startup-failure-watchdog branch July 27, 2026 00:03
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.

2 participants