Skip to content

Add GitHub Actions CI Pipeline for Testing #6284

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
MiguelAntonioRS opened this issue Jun 10, 2025 · 3 comments
Closed

Add GitHub Actions CI Pipeline for Testing #6284

MiguelAntonioRS opened this issue Jun 10, 2025 · 3 comments
Labels
awaiting triage Awaiting triage from a maintainer

Comments

@MiguelAntonioRS
Copy link

What would you like to share?

We should set up a basic CI pipeline that runs all unit tests on every push and pull request to ensure contributions don't break existing functionality.

Additional information

No response

@MiguelAntonioRS MiguelAntonioRS added the awaiting triage Awaiting triage from a maintainer label Jun 10, 2025
@vil02
Copy link
Member

vil02 commented Jun 10, 2025

@MiguelAntonioRS could you please elaborate more? How would you like to extent the existing CI (cf. .github/workflows)? I think the build.yml does what you described.

@DenizAltunkapan
Copy link
Collaborator

@MiguelAntonioRS could you please elaborate more? How would you like to extent the existing CI (cf. .github/workflows)? I think the build.yml does what you described.

He is right.

- name: Build with Maven
  run: mvn --batch-mode --update-snapshots verify

already runs the Unit-Tests.

@MiguelAntonioRS
Copy link
Author

🚀 Proposal

I propose setting up a basic Continuous Integration (CI) pipeline that automatically runs all unit tests on every push and pull request. This will help ensure that new contributions do not break existing functionality and maintain the project's stability and quality.


❓ Motivation

As this is an educational repository with many contributors, it's important to validate that any changes or additions do not introduce regressions or errors in existing algorithms. Currently, there is no automated process to verify code correctness after changes are made.

Having a CI system in place would provide:

  • 🔍 Automated testing of all contributions
  • 🛡️ Confidence that changes don't break existing implementations
  • 🧪 A foundation for future improvements like code coverage or linting

💡 Suggested Implementation

We can use GitHub Actions, which is natively supported by GitHub and widely used in open-source projects.

A simple workflow could be added under .github/workflows/ci.yml with the following steps:

  1. 📦 Checkout the repository
  2. ☕ Set up JDK (e.g., Java 11 or 17)
  3. 🧪 Run unit tests using Maven or Gradle (depending on project structure)

Example command:

mvn test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting triage Awaiting triage from a maintainer
Projects
None yet
Development

No branches or pull requests

3 participants