Skip to content

[Enhancement] Add basic CI pipeline (GitHub Actions) and pytest infrastructure#113

Closed
pigeio wants to merge 1 commit intoEAPD-DRB:mainfrom
pigeio:feature/github-actions-ci-pipeline
Closed

[Enhancement] Add basic CI pipeline (GitHub Actions) and pytest infrastructure#113
pigeio wants to merge 1 commit intoEAPD-DRB:mainfrom
pigeio:feature/github-actions-ci-pipeline

Conversation

@pigeio
Copy link
Contributor

@pigeio pigeio commented Feb 28, 2026

Summary

  • What changed: Added a foundational CI/CD pipeline using GitHub Actions ([.github/workflows/python-app.yml]). The workflow installs dependencies, runs flake8 for syntax errors, and executes a newly added pytest suite.

  • Why: To automatically verify code integrity on all new Pull Requests and pushes to main/mac-port. This prevents regressions, catches syntax errors early, and reduces the manual testing burden on maintainers. Includes [pytest.ini] and a basic API test ([tests/test_api_basics.py] to demonstrate the live testing pipeline.

Related issues

Validation

  • Tests added/updated (or not applicable)
  • Validation steps documented
  • Evidence attached (logs/screenshots/output as relevant)

Validation:
When this PR is opened, the GitHub Actions tab will automatically boot an Ubuntu runner, install Python 3.10 and pytest, and execute pytest tests/test_api_basics.py. Evidence is visible directly in the "Checks" section below this PR description.

Documentation

  • Docs updated in this PR (or not applicable)
  • Any setup/workflow changes reflected in repo docs

Scope check

  • No unrelated refactors
  • Implemented from a feature branch
  • Change is deliverable without upstream OSeMOSYS/MUIO dependency
  • Base repo/branch is EAPD-DRB/MUIOGO:main (not upstream)

@pigeio pigeio changed the base branch from main to mac-port February 28, 2026 18:30
@SeaCelo SeaCelo changed the base branch from mac-port to main March 2, 2026 00:36
@SeaCelo SeaCelo marked this pull request as draft March 2, 2026 00:37
@SeaCelo
Copy link
Collaborator

SeaCelo commented Mar 2, 2026

@pigeio
Closing this in favor of #120 as the single active CI path.

This PR is cleaner and narrower, and the simple Flask request-level smoke test here is useful. But I do not want to keep two overlapping CI PRs active in parallel.

I’m choosing #120 as the surviving CI path because it is the stronger long-term base and already handles the current requirements.txt encoding issue in CI.

That said, the request-level test idea in this PR is still valuable. If #120 lands without an equivalent app-level smoke test, a small follow-up PR that adds that test on top of the merged CI baseline would still be welcome.

@SeaCelo SeaCelo closed this Mar 2, 2026
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.

[Task] Add CI/CD Pipeline (GitHub Actions) and Pytest Infrastructure

2 participants