Skip to content

Replace the Azure Pipelines with GitHub Actions - #986

Open
sven-n wants to merge 2 commits into
masterfrom
claude/zen-mayer-lid50s
Open

sven-n wants to merge 2 commits into
masterfrom
claude/zen-mayer-lid50s

Conversation

@sven-n

@sven-n sven-n commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Why

Both Azure pipelines (MUnique.OpenMU and MUnique.OpenMU Docker) have failed on every master commit since #910. The code is fine; the Azure DevOps organization ran out of free build minutes:

Your organization has no free minutes remaining. Add a hosted pipeline to run more builds or releases.

Changes

  • Tests (.github/workflows/dotnetcore.yml): after the existing publish of the Startup project, the workflow now builds the whole solution and runs its tests on Linux. This replaces the Windows build and test in azure-pipelines.yml. Windows-only tools such as the WinForms analyzer are no longer built on Windows.
  • Docker images (.github/workflows/docker.yml): replaces the MUnique.OpenMU Docker pipeline. It covers all 8 images, the all-in-one munique/openmu and the distributed munique/openmu-admin, -chat, -connect, -friend, -game, -guild and -login.
    • On pushes to master and on pull requests, it only checks that each image builds (amd64).
    • When a v* tag is pushed, it builds each image for linux/amd64, linux/arm64 and linux/arm/v7 and pushes it to Docker Hub as <version> (e.g. 0.9.11 for v0.9.11) and latest. That's the same scheme as the existing images on Docker Hub.
  • README: the build badges now point to the two GitHub workflows.
  • azure-pipelines.yml is deleted, and its solution-items entry in MUnique.OpenMU.sln now points to docker.yml.

Needed before the next release

  • Add the repository secrets DOCKERHUB_USERNAME and DOCKERHUB_TOKEN. The token is a Docker Hub access token with read/write access to the munique repositories.
  • Disable both pipelines in Azure DevOps. Otherwise they keep posting failed checks.

Notes

  • For 0.9.10, openmu-friend, -game, -guild and -login were never pushed to Docker Hub, only the other four images. The next release tag publishes all 8.
  • The Azure Docker pipeline's definition was not in the repository. I inferred the tag scheme and platforms from the existing images on Docker Hub.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NzDFE3GAAd8LS25ibdKGbB

The Azure DevOps organization ran out of free build minutes, so both
Azure pipelines fail on every commit since #910. GitHub Actions now
takes over their job:

- windows.yml builds the solution on Windows and runs the tests, like
  azure-pipelines.yml did.
- docker.yml verifies that the Docker image of src/Startup builds, like
  the "MUnique.OpenMU Docker" pipeline did. It doesn't push anything.

The README build badges point to the new workflows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NzDFE3GAAd8LS25ibdKGbB
- Drop the separate Windows workflow and run the tests of the whole
  solution in the existing .NET Core workflow instead.
- The Docker workflow now builds all images (the all-in-one image and
  the distributed ones). For a v* tag, it builds them for amd64, arm64
  and arm/v7 and pushes them to Docker Hub as <version> and latest.
  This requires the DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NzDFE3GAAd8LS25ibdKGbB
@sven-n sven-n changed the title Move the Azure Pipelines builds to GitHub Actions Replace the Azure Pipelines with GitHub Actions Sep 27, 2026

This branch has not been deployed

No deployments
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.

2 participants