Skip to content

Conversation

@R-Gld
Copy link
Owner

@R-Gld R-Gld commented Dec 21, 2025

This pull request migrates the project's CI/CD pipeline from GitLab CI to GitHub Actions. The .gitlab-ci.yml file is removed, and a new .github/workflows/ci.yml workflow is introduced to handle all build, test, package, deployment, and analysis tasks. This transition ensures that all CI/CD processes are now managed via GitHub Actions, aligning with GitHub-hosted repositories and workflows.

Key changes in this migration:

CI/CD Platform Migration:

  • Removed the entire .gitlab-ci.yml file, including all GitLab-specific stages, jobs, and configuration.
  • Added a new .github/workflows/ci.yml file defining the full CI/CD pipeline using GitHub Actions, covering build, test, SonarQube analysis, packaging, and deployment.

Pipeline Structure and Features:

  • Replicated all major pipeline jobs from GitLab CI (such as build, test, GUI test, SonarQube analysis, package, and deploy) as GitHub Actions jobs, ensuring equivalent functionality.
  • Introduced job dependencies, artifact uploads, caching, and environment variable management tailored to GitHub Actions syntax and best practices.

Container and Environment Consistency:

  • Ensured that all jobs run in appropriate containers (e.g., maven:3.9.9-eclipse-temurin-21-alpine for Java/Maven tasks, and a custom image for LaTeX/PDF builds), mirroring the previous GitLab setup.

Secrets and Security:

  • Transitioned secret and environment variable handling from GitLab's environment system to GitHub Actions' secrets context, updating all references accordingly.

This migration centralizes and modernizes the CI/CD process, making it compatible with GitHub repositories and leveraging GitHub Actions' native features.

@R-Gld R-Gld self-assigned this Dec 21, 2025
R-Gld added 11 commits December 21, 2025 20:06
This change ensures that the build jobs for both the main build and the Build Rapport PDF depend on the successful execution of the check-envvars job, improving the CI/CD pipeline's reliability.
Eliminated the Maven settings setup step from the GitHub Actions CI pipeline as it is no longer necessary for the build process.
…iv repository since the connection seems to fail from the github actions servers.
Modified the CI configuration to install the CLI module alongside the LexerParser module during the build process. This change ensures that both modules are available for subsequent steps in the pipeline.
This change introduces a new packaging step in the CI pipeline to build and upload JAR artifacts. The step includes caching Maven packages and is conditioned to run on pull requests, tags, and specific branches.
This change introduces a step to install Git in the CI pipeline, ensuring that the necessary tools are available for subsequent steps during the build process.
Added qodana.yaml and qodana_code_quality.yml to configure Qodana for code analysis and quality checks in the CI/CD pipeline. This setup includes inspection profiles, severity thresholds, and job definitions for running Qodana scans on pull requests and pushes.
This change introduces a concurrency group to the CI pipeline, allowing for cancellation of in-progress jobs when new ones are triggered. This helps to optimize resource usage and improve build efficiency.
Modified the conditions under which the CI job runs to include specific checks for push events on the main and dev branches, as well as pull requests labeled with 'rapport'.
@github-actions
Copy link

github-actions bot commented Dec 21, 2025

Qodana for JVM

11 new problems were found

Inspection name Severity Problems
Duplicate branch in alternation 🔶 Warning 3
Busy wait 🔶 Warning 2
Unused assignment 🔶 Warning 1
Non-distinguishable logging calls ◽️ Notice 4
Non-constant string concatenation as argument to logging call ◽️ Notice 1

☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

R-Gld added 10 commits December 21, 2025 20:40
Added steps to download test artifacts and GUI test artifacts in the CI pipeline to ensure that test results are accessible for further analysis.
Removed the separate check for environment variables from the 'check-envvars' job and integrated it into the 'build' job. This change simplifies the CI pipeline by reducing the number of jobs while ensuring that required secrets are still validated during the build process.
Modified the build command for the 'Rapport' module to utilize the MAVEN_CLI_OPTS environment variable, allowing for more flexible Maven command-line configurations.
Changed the reference from secrets to environment variables for SONAR_HOST_URL in the CI configuration to ensure proper access to the required SonarQube secrets during the CI process.
Changed the SONAR_HOST_URL reference in the CI configuration to utilize the environment variable instead of the secrets directly. This improves consistency and allows for easier management of environment-specific configurations.
Eliminated the step that checks for required SonarQube secrets in the CI configuration. This streamlines the process and assumes that the necessary environment variables and secrets are correctly set up elsewhere.
- Renamed the job from "Package" to "Package & Quality Analysis".
- Updated job dependencies to include "build".
- Added steps to download test artifacts.
- Removed the SonarQube analysis job to streamline the CI process.
Modified the SonarQube cache key in the CI workflow to incorporate the branch name, allowing for better cache management and differentiation between branches. This change enhances the caching mechanism by ensuring that the cache is specific to the branch being built.
Removed the hash of the pom.xml file from the SonarQube cache key to streamline the caching process. The restore keys have also been simplified for better cache management.
Removed the hash of the pom.xml files from the SonarQube cache key to streamline the caching process and reduce complexity in the CI workflow.
@R-Gld R-Gld merged commit 47d0b4d into dev Dec 21, 2025
6 checks passed
@R-Gld R-Gld deleted the migrate-ci-gitlab-to-github branch December 21, 2025 20:59
@R-Gld R-Gld added the enhancement New feature or request label Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants