Migrating Azure pipelines to GHA workflows#30
Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates CI infrastructure from Azure Pipelines to GitHub Actions workflows. The migration removes all Azure-specific templates and configurations while introducing equivalent GitHub Actions reusable workflows. A new combine-config.py script has been added at the repository root to support configuration merging for tools like pylint and isort.
Changes:
- Removed all Azure Pipeline templates and configuration files from the
azure/directory - Added new GitHub Actions reusable workflows for build, test, formatting, and linting
- Created comprehensive documentation for GitHub Actions workflows in
.github/workflows/README.md - Updated existing workflows to use consistent Python 3.11 and improved configuration management
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
ruff.toml |
Reformatted select array and added McCabe complexity configuration |
combine-config.py |
New script for merging INI-style configuration files with improved error handling |
azure/fprettify.sh |
Removed Azure-specific fprettify script |
azure/combine-config.py |
Removed Azure-specific config merge script |
azure/clang-format.sh |
Removed Azure-specific clang-format script |
azure/azure_template.yaml |
Removed Azure pipeline template |
azure/azure_tapenade.yaml |
Removed Azure Tapenade job template |
azure/azure_style.yaml |
Removed Azure style check job template |
azure/azure_pypi.yaml |
Removed Azure PyPI deployment template |
azure/azure_build.yaml |
Removed Azure build and test job template |
azure/README.md |
Removed Azure pipelines documentation |
.github/workflows/tapenade.yaml |
New GHA workflow for Tapenade checks |
.github/workflows/pypi.yaml |
Updated Python version to 3.11 |
.github/workflows/pylint.yaml |
Enhanced with config merging and Python 3.11 |
.github/workflows/mypy.yaml |
Updated to use only Python 3.11 |
.github/workflows/isort.yaml |
Enhanced with config merging and Python 3.11 |
.github/workflows/fprettify.yaml |
New GHA workflow for Fortran formatting |
.github/workflows/format-and-lint.yaml |
Enhanced with McCabe complexity option and Python 3.11 |
.github/workflows/clang_format.yaml |
New GHA workflow for C/C++ formatting |
.github/workflows/build.yaml |
New GHA workflow for Docker-based build and test |
.github/workflows/README.md |
Comprehensive documentation for GHA workflows |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Take a look at this splinetoolbox PR to see the testing for all of the workflow updates being made. |
sseraj
left a comment
There was a problem hiding this comment.
Two of my previous comments have not been addressed. I also have some new comments
Which ones did I not address? Are they the |
I bumped the two comments above |
|
@eirikurj go ahead an merge this in the morning if you approve. If not, I'll address any additional comments first thing. Would like to get this one done tomorrow. |
|
I refactored the docker setup and docker cleanup steps into composite actions. I tested them with the |
Purpose
This PR migrates our CI infrastructure from Azure pipelines to Github Actions workflows. This will target the SR runners instead of the runners provided by Azure.
This PR will remove the Azure pipelines templates.
Expected time until merged
1-2 days
Type of change