Skip to content

fix(elixir-ci-reusable): wrap bare job-level if: in ${{ }} (same anti-pattern as #322/#334)#336

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/elixir-ci-reusable-same-bare-if-pattern
Jun 1, 2026
Merged

fix(elixir-ci-reusable): wrap bare job-level if: in ${{ }} (same anti-pattern as #322/#334)#336
hyperpolymath merged 1 commit into
mainfrom
fix/elixir-ci-reusable-same-bare-if-pattern

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Same root cause as #322 / #334 — `elixir-ci-reusable.yml:105` had a bare `if:` at job level containing `hashFiles(format('{0}/mix.exs', inputs.working_directory))`. Surfaced via the sweep recipe from #334:

```bash
grep -nE '^\s+if: [^\$]+(hashFiles|format|inputs\.)' .github/workflows/*-reusable.yml
```

Only hit — every other reusable is clean. Same 2-line \${{ }} wrap.

Test plan

🤖 Generated with Claude Code

…-pattern as #322/#334)

elixir-ci-reusable.yml:105 had the same bare-`if:`-at-job-level pattern
that #334 fixed in rust-ci-reusable.yml. Surfaced via the sweep recipe
documented in standards#334:

    grep -nE '^\s+if: [^$]+(hashFiles|format|inputs\.)' .github/workflows/*-reusable.yml

The mix.exs guard is structurally identical to the Cargo.toml guard
that broke 43+ Rust callers — same fix.

Follow-up audit: same grep found ZERO additional hits in other
reusables (governance/secret-scanner/scorecard/mirror/casket/dogfood).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 1, 2026 18:40
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

🔍 Hypatia Security Scan

Findings: 201 issues detected

Severity Count
🔴 Critical 64
🟠 High 43
🟡 Medium 94

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action  (for the check script)\n        uses: actions/checkout@de needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action  (for the check script)\n        uses: actions/checkout@de needs attention",
    "type": "unpinned_action",
    "file": "governance-reusable.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in affinescript-verify.yml",
    "type": "missing_timeout_minutes",
    "file": "affinescript-verify.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in changelog-reusable.yml",
    "type": "missing_timeout_minutes",
    "file": "changelog-reusable.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql-reusable.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql-reusable.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in deno-ci-reusable.yml",
    "type": "missing_timeout_minutes",
    "file": "deno-ci-reusable.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 2894681 into main Jun 1, 2026
20 checks passed
@hyperpolymath hyperpolymath deleted the fix/elixir-ci-reusable-same-bare-if-pattern branch June 1, 2026 18:41
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.

1 participant