Skip to content

MIgrating Azure pipelines to GHA workflows#30

Open
lamkina wants to merge 50 commits intomainfrom
feature-migrate_azure2gha
Open

MIgrating Azure pipelines to GHA workflows#30
lamkina wants to merge 50 commits intomainfrom
feature-migrate_azure2gha

Conversation

@lamkina
Copy link
Contributor

@lamkina lamkina commented Feb 3, 2026

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

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Maintenance update
  • Other (please describe)

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@lamkina lamkina requested a review from sseraj February 5, 2026 04:27
@lamkina
Copy link
Contributor Author

lamkina commented Feb 5, 2026

Take a look at this splinetoolbox PR to see the testing for all of the workflow updates being made.

@lamkina lamkina requested review from Copilot and eirikurj February 11, 2026 18:55
@lamkina
Copy link
Contributor Author

lamkina commented Feb 11, 2026

@sseraj ready for review round 2 the electric boogaloo

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 29 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@eirikurj
Copy link
Contributor

@lamkina to save time I think I will wait until @sseraj comments are addressed and do another round of reviews then

@lamkina lamkina force-pushed the feature-migrate_azure2gha branch from 2434991 to ddbaa7d Compare February 14, 2026 00:30
@lamkina
Copy link
Contributor Author

lamkina commented Feb 14, 2026

Okay, I split out the mypy job from build.yaml into a separate mypy.yaml workflow. I also added back the prettify.sh script. Since we are removing the azure pipelines, the fprettify.sh script is not in a different location on main then where it needs to be for the workflows.

After a long battle, I decided to use the script code in the fprettify.yaml workflow until this PR is merged. Then we can change the workflow to use the script in a subsequent PR to fix the code duplication.

I also updated docs per @sseraj review. I think it's ready for a final round...fingers crossed.

@lamkina lamkina requested a review from sseraj February 14, 2026 00:35
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.

4 participants