Skip to content

ci(chapel): bump Chapel toolchain 2.3.0 → 2.8.0 (closes #181)#183

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/chapel-2.8.0-bump-issue-181
Jun 2, 2026
Merged

ci(chapel): bump Chapel toolchain 2.3.0 → 2.8.0 (closes #181)#183
hyperpolymath merged 2 commits into
mainfrom
fix/chapel-2.8.0-bump-issue-181

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Files

  • .github/workflows/chapel-ci.ymlenv: block hoist + 2.8.0 URL/SHA + libunwind-dev preinstall on both chapel-installing jobs.
  • src/chapel/chapel_ffi_exports.chpl — comment-only update referencing the new .deb filename.

Test plan

  • chapel-build job downloads chapel-2.8.0-1.ubuntu22.amd64.deb, SHA-checks, dpkg -i, prints chpl --version showing 2.8.0.
  • chapel-build compiles chapel_ffi_exports.chpl + parallel_proof_search.chpl into libechidna_chapel.a with no keyword regressions.
  • Compile + run smoke target builds + runs smoke.chpl (coforall + atomic CAS + reduction) → expected exit 0.
  • rust-chapel-real (allow-fail) installs Chapel via the same env vars without divergence from the chapel-build job.
  • Owner verifies no CI-budget surprise: this workflow runs only on chapel/**, zig_ffi/**, proof_search.rs, dispatch.rs, Cargo.toml, and itself — the PR's diff touches only the last bucket, so a single run is expected.

🤖 Generated with Claude Code

Sibling estate repos `proven` (#141, admin-merged 2026-05-31) and
`panic-attack` (#85, the chapel-ci pilot) both moved to Chapel 2.8.0;
echidna was the lone laggard on 2.3.0. This bump closes the cross-repo
toolchain seam called out in #181.

Pattern reused verbatim from proven#141:
  * `CHAPEL_DEB_URL` -> ubuntu22 .deb at 2.8.0 (installs cleanly on the
    ubuntu24 runner image). SHA-256 verified out-of-band against the
    GitHub Releases asset
    (944a454b8a791f344312fcd261b562871159b74f5ef41d81e11833eb21d85f60).
  * `libunwind-dev` preinstall on every chapel-installing job - without
    it the chapel-built smoke binary fails to run with
    `libunwind.so.8: cannot open shared object`.
  * Top-level `env:` block hoists the version pin so all three install
    sites stay in sync; `chpl --version` echoed on each install to make
    the log self-describing.
  * No `CHPL_TARGET_*` overrides needed (sibling pattern: the 2.3.0-era
    runtime-tuple mismatch is gone on 2.8.0).

Sources audited for the four documented 2.8.0 keyword gotchas
(`out`/`label` reserved-as-locals, single-quoted char literals, Justfile
`env(...) + str` paren rule) - echidna's .chpl already uses 2.x APIs
(`createCopyingBuffer`, `sendPosixSignal`, `compareAndSwap`) and trips
NONE of them. The only source-side touch is updating one comment in
`chapel_ffi_exports.chpl` to reference the new .deb filename.

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

github-actions Bot commented Jun 1, 2026

🔍 Hypatia Security Scan

Findings: 246 issues detected

Severity Count
🔴 Critical 12
🟠 High 75
🟡 Medium 159

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in agda-meta-checker.yml",
    "type": "missing_timeout_minutes",
    "file": "agda-meta-checker.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 cargo-audit.yml",
    "type": "missing_timeout_minutes",
    "file": "cargo-audit.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_batch.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_batch.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_pr.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_pr.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.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"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

hyperpolymath added a commit that referenced this pull request Jun 2, 2026
## Summary

Closes out the `wave3/161-162-bench-telemetry-corpus` branch by landing
its 2-commit CI/CD remediation tail. The branch's saturation + typing
content already shipped via #198 (merged 2026-06-01T21:51:58Z, SHA
cced305); this PR is the residual CI/CD-only delta.

Both commits carry identical title `ci: fix CI/CD configuration
(campaigns C001-C005)` — apparent duplicate-apply by a parallel agent.
Net diff is what matters; squash-merge collapses them.

## Files touched

- `.github/copilot/coding-agent.yml`
- `echidna-playground/.github/workflows/codeql.yml`
- `echidna-playground/.github/workflows/governance.yml`

Zero overlap with any in-flight PR (verified against open PR list: only
dependabot bumps + #183 chapel bump + this).

## Test plan

- [x] Diff scope verified against `gh api compare main...wave3/...` (3
files, all CI-config)
- [x] No source/proof/doc touch — pure CI-config
- [ ] CI green post-merge (squash collapses the duplicate)

## Rationale

Companion to #198 (saturation campaign content already merged). Filing
as `--admin --squash --delete-branch` per owner authorisation; wave3
branch retires after merge.
…p edge)

Chapel 2.8.0's debian package is `chapel-2.8.0-1.ubuntu22.amd64.deb`
and links its compiler driver against libclang-cpp.so.14 (Ubuntu 22.04
LLVM-14 runtime). On Ubuntu 24.04 (= ubuntu-latest) apt resolves the
unmet dep with libclang-cpp 18, leaving chpl unable to load:

  chpl: error while loading shared libraries: libclang-cpp.so.14:
        cannot open shared object file: No such file or directory
  exit code 127.

Pin runs-on: ubuntu-22.04 at all four chapel-using jobs (chapel-build,
zig-ffi, rust-chapel-feature, rust-chapel-real).

Also switch `dpkg -i ... || apt-get install -f -y` → `apt-get install -y
/tmp/chapel.deb` so apt resolves libclang-cpp14 / libllvm14 declaratively
in one pass instead of relying on the post-failure auto-fix path.

This is the 5th Chapel-2.8.0 sharp edge — sibling to the four documented
in panic-attack's wiki (MANPATH unset, CHPL_LLVM unset, `chpl --about`
dropped, `printchplenv --simple` format). Will append to that wiki.

Refs #181

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

🔍 Hypatia Security Scan

Findings: 245 issues detected

Severity Count
🔴 Critical 12
🟠 High 75
🟡 Medium 158

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in agda-meta-checker.yml",
    "type": "missing_timeout_minutes",
    "file": "agda-meta-checker.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 cargo-audit.yml",
    "type": "missing_timeout_minutes",
    "file": "cargo-audit.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_batch.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_batch.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cflite_pr.yml",
    "type": "missing_timeout_minutes",
    "file": "cflite_pr.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in chapel-ci.yml",
    "type": "missing_timeout_minutes",
    "file": "chapel-ci.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"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 16012df into main Jun 2, 2026
51 of 56 checks passed
@hyperpolymath hyperpolymath deleted the fix/chapel-2.8.0-bump-issue-181 branch June 2, 2026 09:40
hyperpolymath added a commit that referenced this pull request Jun 2, 2026
…208)

## Summary

- Adds a `### Fixed` bullet under `## [Unreleased]` in `CHANGELOG.md`
documenting the libclang-cpp.so.14 ABI compatibility pin landed in #183.
- Records the install-mode switch from `dpkg -i || apt-get install -f
-y` to declarative `apt-get install -y /tmp/chapel.deb`.

## Test plan

- [x] `git diff main...HEAD --stat` shows single-file CHANGELOG.md edit
(4 lines).
- [x] Off origin/main; no spillover from local dirty working trees.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.

seam(chapel): chapel-ci pinned to 2.3.0 while proven + panic-attack moved to 2.8.0 — keyword drift incoming

1 participant