Skip to content

Add Travis-CI integration, and minor improvements#600

Open
dannyedel wants to merge 4 commits into
BALL-Project:masterfrom
dannyedel:enable-travis-ci
Open

Add Travis-CI integration, and minor improvements#600
dannyedel wants to merge 4 commits into
BALL-Project:masterfrom
dannyedel:enable-travis-ci

Conversation

@dannyedel
Copy link
Copy Markdown
Contributor

@dannyedel dannyedel commented Nov 13, 2016

While working on the Debian packaging of ball, I (or rather,
my computer : ) spent quite a bit of time on building and
executing the unittests repeatedly, while bisecting for patches.

While ball has CI servers, their build results and logs are not public,
so I wrote up a travis-ci configuration file because it is so nicely
integrated with GitHub - in the hope that it might be useful the next
time around.

In the course of building current ball on the 14.04 'trusty' image I
had to make some small changes in order to get a clean compile,
or improve diagnostic output, these are on their own commits
to ease reviewing.

It would be nice if this work could be merged back into the main repository.

Edit: Example log of a travis run: https://travis-ci.org/dannyedel/ball/builds/175482549

This improves on the previous logic of just printing a generic statement
that an unexpected exception was caught.
In case of errors, latex by default prompts the user and blocks on
stdin.  This is unsuitable for automatic building in a makefile.
With nonstopmode, latex will exit with an error code if something goes
wrong, but still output enough information to figure out why.
Trying to read the new v13 archive on boost-1.55 (which is the highest
in Ubuntu 14.04 official repositories, and otherwise supported)
resulted in 'unsupported version' error.  Since boost::serialization
is backwards-compatible, the newer versions can still read the old file.

This commit effectively restores the serialized file as it was
at 9fa1e6d
This adds a travis-ci configuration file, enabling automatic CI
building, well integrated with GitHub.  All required library
dependencies are pulled from the official Ubuntu repositories,
using the 14.04 "trusty" distribution.

Note that this currently builds without QT_WEBENGINE support, because it
is not (yet) available in Ubuntu or Debian.

Travis' ccache integration is enabled to reduce build times as much as
possible.
@tkemmer
Copy link
Copy Markdown
Contributor

tkemmer commented Aug 3, 2017

Thanks for your patches and suggestions! I'm not currently involved in the Travis part but I have merged your other commits as d1b6f27...b89f49f.

okohlbacher added a commit that referenced this pull request May 15, 2026
Adds Phase 5.2 as a new in-scope item with per-PR disposition matrix:

- #640 FindXDR refactor: investigate-then-close-or-rebase (XDR may be gone post-Phase-4)
- #600 Travis-CI integration: close .travis.yml part (Travis dead), cherry-pick 4 orthogonal files
- #554 Omega torsion: extract C++ slice (residueRotamerSet, residue.C), defer .sip to Phase 6
- #550 HYP residue: rebase + merge in v1.6.1 (no Python parts, pure C+++data gap fix)
- #546 Insertion code printing: extract C++ slice (residue.{h,C}), defer .sip to Phase 6

Plan breakdown (A/B/C/D) sequenced to avoid residue.C merge conflicts
(C bundles #554+#546; D HYP runs after C OR merges into it).

Release criterion 4 added: each open PR must reach a recorded disposition.

Open question 3 added: XDR-still-used grep verifies #640's path.
Open question 4 added: maintainer policy on cherry-picking from departed contributors.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
okohlbacher added a commit that referenced this pull request May 16, 2026
…ygiene audit (3-round Codex-reviewed)

Cross-checks ROADMAP.md against MILESTONE-CONTEXT.md, CONCERNS.md, recent commits,
debug sessions, planning artifacts, and open issues/PRs to surface items deferred
to v1.6.2 (or "v1.6.x housekeeping") that never made it into the backlog, plus
hygiene fixes for stale entries.

Three rounds of adversarial Codex review (v1 REJECT-AND-REWORK → v2 APPROVE-WITH-FIXES
→ v3 APPROVE-AS-IS). Key Codex catches:

- v1 claimed 6 forgotten items: 2 were false positives (ContourSurface bug from
  stale CONCERNS.md; B3 baseline already recorded). 2 were tracking-fixes-not-
  backlog (Phase 9 progress-table row; glwidget debug doc reconcile).
- v2 added Phase 999.21 Qt 6 regressions (CR-01/02/03) based on stale
  05-VERIFICATION.md — all three are actually fixed in current code
  (HTMLPage.C:36, molecularControl.C:500, PresentaBALLView.C:41, pyWidget.C:349).
  REMOVED in v3.
- v2 also overstated 999.7 remaining scope — gl_profile landed in 7b28685.
  NARROWED in v3 to Windows driver capture only.

Net findings:
- 2 real source-level additions for v1.6.2 backlog:
    A1: 999.22 Tier-C warning census + (a)-subset (NOT wholesale ~3700 cleanup)
    A3: 999.21 DockResultFile QtXml dead-code cleanup (1 hour)
- 1 stretch addition:
    A4: 999.23 CIF Bison grammar audit (defer to v1.7 if v1.6.2 fills up)
- 1 progress-cleanup not a backlog item:
    A2: Phase 9 close — CI wiring already in tree (b2bb718 + 61bf5a7),
        only 3 baseline failures need triage + flip gatekeeper to blocking
- §B PR triage decision: use 999.14 with named "5-PR legacy bundle"
  (#640, #600, #554, #550, #546); NOT a new Phase 5.2 unless triage
  turns into real merge code work
- 5 hygiene fixes (§C2/C3/C4 + §D1/D2/D4/D5):
    - Mark Phase 999.4 as COMPLETED via Phase 4.1
    - Narrow Phase 999.7 scope to Windows driver capture only
    - Mark Phase 5.1 B3 baseline carry-forward as RESOLVED (run 25953405453)
    - Remove false ContourSurface bug from CONCERNS.md
    - Update ROADMAP Phase 9 row to reflect partial completion
    - Reconcile glwidget-port-misprojection debug session status
    - Add "Updates / Resolution log" pointer on 05-VERIFICATION.md → 05-HUMAN-UAT.md
      (the recurring trap of stale planning docs misleading future audits)
- §E workflow gap: no v1.6.2 MILESTONE-CONTEXT.md yet; create when v1.6.1 tags
- §F recommended v1.6.2 shape: 5 build-accel/CI-hygiene phases + Phase 9 close +
  999.14 PR triage + 999.21 dead-code; ~7-11 days core effort (patch shape)

Audit is approve-as-is; §G action items totaling ~2 hours of edits can apply
in a separate follow-up commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex (GPT-5.5) <noreply@openai.com>
okohlbacher added a commit that referenced this pull request May 16, 2026
… + 3 new backlog entries)

Follow-up commit to 11c8e0f. Applies all 8 §G action items from the audit
in a single focused change.

ROADMAP.md hygiene (§C2/C3/C4 + §D2):
- Phase 9 row: 0/0 Not started → (partial) In Progress (v1.6.2); CI wiring
  + coverage + JUnit reporter landed in b2bb718 + 61bf5a7; 3 baseline
  failures remain (Directory_test, AmberFF_test, AssignBondOrderProcessor_test2).
- Phase 5.1 row: B3 carry-forward marked RESOLVED — 3495 → 0 on run
  25953405453 per 05.1-08-SUMMARY.md + 05.1-UAT.md.
- Phase 999.4 header: "PROMOTED to Phase 4.1" → "COMPLETED via Phase 4.1
  (2026-05-15)" with completion citation.
- Phase 999.7 entry: scope-narrowed per audit §C3. Build-system pain
  (SEED-005-1 Linux aqtinstall, SEED-005-2 Windows vcpkg baseline) and
  macOS gl_profile=(compatibility|none) relaxation all CLOSED by other
  phases (commit 54da903, run 25953405453, commit 7b28685). Only SEED-005-3
  Windows VM driver-behaviour capture remains; defer to v2.0 post-PIPE-01
  unless Windows-access contributor surfaces sooner.
- Phase 999.5 (Open-PR triage): closed as superseded by Phase 999.14.

ROADMAP.md backlog (§B):
- Phase 999.14: added named "5-PR legacy bundle" subtask per audit §B +
  MILESTONE-CONTEXT.md:270-279 (#640 FindXDR, #600 Travis-CI, #554 Omega
  torsion, #550 hydroxyproline AA, #546 residue insertion code). Table
  per-PR with likely category. Bundle-escape clause: spin out as Phase 5.2
  if rebase work exceeds ~3 days. Target milestone explicit: v1.6.2.

ROADMAP.md new backlog entries (§A1/A3/A4):
- Phase 999.21 (DockResultFile QtXml dead-code cleanup, v1.6.2, 1 hour) —
  was Phase 5.1 BLOCKER-A2, never picked up.
- Phase 999.22 (warning census + (a)-subset, v1.6.2, ≤2 weeks) — recast
  from "clean ~3700 warnings wholesale" to census + small-subset-only,
  per Codex correction. Includes residual Windows C4910/C4834.
- Phase 999.23 (CIF Bison grammar audit, v1.6.2 or v1.7, 1-2 days) —
  scope narrowed to CIF only (count 3 vs 5 reconcile during phase);
  other 7 Bison grammars out of scope.

Doc hygiene (§D1/D4/D5):
- CONCERNS.md ContourSurface entry: marked NOT-A-BUG with audit citation
  (implementation at contourSurface.h:302-306 is correct; original audit
  inspected only the declaration). Includes lesson-for-future-audits.
- 05-VERIFICATION.md: added "⚠ STALE FINDINGS" banner pointing readers
  at 05-HUMAN-UAT.md as the rolling-resolution source of truth + new
  `resolution_log:` frontmatter field. Two roadmap audits (v1 + v2)
  were misled by reading this snapshot without cross-checking HUMAN-UAT.
- glwidget-port-misprojection.md: added `audit_notes:` frontmatter
  citing audit §D4 — status stays awaiting_human_verify (cannot be
  auto-closed; needs interactive macOS visual recheck), with explicit
  action for whoever runs the recheck.

§E (v1.6.2 MILESTONE-CONTEXT.md creation) deferred — appropriate
trigger is "v1.6.1 has tagged + shipped," not yet true.

Net ROADMAP delta:
- Active phases unchanged.
- Backlog: 5 v1.6.2 phases → 8 (added 999.21/22/23).
- 999.5 closed (superseded), 999.4 closed (promoted+completed),
  999.7 narrowed.
- Progress table reflects current state for Phase 5.1 (B3 done) and
  Phase 9 (CI wiring landed, 3 failures remain).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex (GPT-5.5) <noreply@openai.com>
okohlbacher added a commit that referenced this pull request May 16, 2026
Three remaining v1.6.2 PLAN.md execution prompts, written via /gsd-plan-phase
pattern to complete the milestone planning round:

- 999.22 (WARN-CENSUS-01, CENSUS-ONLY per 2026-05-16 Open Q3):
  Pull tri-OS green CI build logs, build CENSUS.md per-warning x file x
  cause classification tagged (a)/(b)/(c), file three deferral backlog
  stubs (999.22a v1.7 mechanical, 999.22b v2.0 blocked-by-999.6,
  999.22c v1.7 per-site). Zero source-code changes.

- Phase 9 close (TEST-CLOSE-01 + TEST-CLOSE-02):
  Six tasks. Triage the 3 baseline failures (Directory_test, AmberFF_test
  with Linux cross-check for FP-precision-vs-regression diagnosis,
  AssignBondOrderProcessor_test2 fine-penalty), pre-flip green-list
  verification, flip macOS+Linux gatekeeper continue-on-error true->false
  in ci.yml + release.yml mirror, file Phase 999.24 Windows-test-gatekeeper
  backlog stub. Disposition heuristic: <2h -> FIX, 2-8h or FP-driven ->
  QUARANTINE, v2.0-architectural -> KNOWN-CASUALTY.

- 999.14 triage (TRIAGE-01 + TRIAGE-02 + TRIAGE-03):
  Five tasks. Snapshot open issues+PRs to JSON baselines, categorize per
  5-category rubric with templated close comments + decisions.md audit
  trail, stale-docs audit applying f176b8b pattern (banner +
  resolution_log frontmatter) to VERIFICATION.md files with stale rows
  resolved in sibling HUMAN-UAT.md, 5-PR legacy bundle (#640 FindXDR /
  #600 Travis-CI / #554 Omega / #550 HYP / #546 InsertionCode) with
  per-PR scope-check + rebase-or-close + 3-day bundle-escape clause
  routing spillover to Phase 5.2, wire 999.5 <-> 999.14 supersedes
  pointer.

All three closes the v1.6.2 milestone planning round; execution can now
proceed via /gsd-execute-phase 999.16 (and others) without re-planning.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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