Skip to content

Development 3.0: Add GitHub Actions CI/CD Workflow to MeteoForge #40

@rflinnenbank

Description

@rflinnenbank

Title: Add GitHub Actions CI/CD Workflow to the MeteoForge Project

Description:
We should add a GitHub Actions workflow to automate testing, linting, and possibly deployment for this project. This will help ensure code quality, catch issues early, and maintain consistent development practices.

Proposed Tasks:

  1. Determine the proper workflow triggers for each situation

    • What to run on push to main branches (e.g., main, develop).
    • What to run on pull_request for all branches.
    • What to run manually
    • Which workflow elements to keep separate for reusability, and what to include for endgoals only.
  2. Define job steps

    • Check out repository.
    • Set up an appropriate runtime environment (Proper Python version(s) or evaluation-image).
    • Install dependencies if needed.
    • Run tests and/or linting (and store the results) if needed.
    • Optionally build and deploy if on the proper branches.
  3. Add status badges

    • Display workflow status badge in README.md.
  4. Document CI/CD in contributing guide

    • Mention that all PRs must pass GitHub Actions checks before merging.

Acceptance Criteria:

  • Workflow files exists in .github/workflows/ for all intended situations in the MeteoForge repo
  • Workflow files exists in .github/workflows/ for all intended situations in the MeteoForge-Sources repo
  • Workflow files exists in .github/workflows/ for all intended situations in the MeteoForge-API repo
  • Workflow runs successfully on push and PR events
  • All tests pass in the workflow environment
  • README contains status badge
  • Contributing guide refers to requirements for CI/CD workflows

Additional Notes:

  • Consider caching dependencies where possible to speed up runs.
  • If sensitive secrets are needed (e.g., for deployment), store them in GitHub repository secrets.

Sub-issues

Metadata

Metadata

Assignees

Labels

breaking changeWill radically change project functionalityciContinuous Integration or deployment-relatedcriticalConcerns an issue with critical severityhighHigh priorityrelease blockerNeeds to be taken care of before the next release can be made

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions