Skip to content

feat(ci): PR #4 — GnuCOBOL build skeleton (build.yml) - #175

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1784572174-ci-build-skeleton
Open

devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1784572174-ci-build-skeleton

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 20, 2026

Copy link
Copy Markdown

Summary

Wave 1 / PR #4. Adds .github/workflows/build.yml — CI that compiles the CardDemo batch/service (CB*) programs with GnuCOBOL on every push/PR, replacing the manual JCL compile (samples/jcl/BATCMP.jcl + samples/proc/BUILDBAT.prc). Does not yet build/publish images (that's PR #9 / deploy.yml) — kept intentionally small. Independent of PR #3 (containers).

Parameterized by program via ci/programs.txt (single source of truth), so onboarding a service is a config change, not new pipeline code:

discover  -> reads ci/programs.txt into a JSON matrix
validate  -> each listed program has a source in app/cbl
compile   -> matrix job per program: cobc -x -std=ibm -fixed -I app/cpy  (same flags as Dockerfile.batch)
             + optional 2nd field for called subprograms; uploads artifact

ci/programs.txt is seeded with the 7 CB* programs that compile cleanly under GnuCOBOL today. CBACT04C (PROCEDURE DIVISION USING vs -x), CBSTM03A/CBSTM03B (copybook CUSTREC.cpy tab indentation) are intentionally excluded and documented — each is added in its own per-program PR once the GnuCOBOL issue is resolved without touching business logic.

Verified locally

  • Matrix generation from ci/programs.txt["CBACT01C",…,"CBTRN03C"].
  • Source-existence validation passes (handles .cbl/.CBL case variants).
  • cobc -x -std=ibm -fixed compiles a sample program + produces the artifact.
  • Workflow YAML parses.

Links

  • docs/modernization/CURRENT_STATE_ANALYSIS.md §5 (build chain), §6 (gaps)
  • docs/modernization/MIGRATION_PLAYBOOK.md phase 3

Link to Devin session: https://app.devin.ai/sessions/c0f261ce337a4aee965332f1754d037a
Requested by: @vibhaseshadri-cognition


Devin Review

Status Commit
⚪ Not started

Run Devin Review

Open in Devin Review (Staging)

PR #4 / Wave 1: .github/workflows/build.yml compiles CardDemo batch (CB*)
programs with GnuCOBOL (cobc -std=ibm -fixed) on push/PR, replacing the manual
JCL compile. Parameterized via ci/programs.txt (single source of truth for the
build matrix) so new services onboard by config. Seeds the list with the 7
batch programs that currently compile cleanly; validates each entry has a
source; uploads compiled artifacts. Does not yet build/publish images (PR #9).

Co-Authored-By: Vibha  Seshadri <vibha.seshadri@cognition.ai>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

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.

0 participants