Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CI moves to GitHub Actions #2074

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

Merged
merged 13 commits into from
Dec 6, 2024
Merged

CI moves to GitHub Actions #2074

merged 13 commits into from
Dec 6, 2024

Conversation

neuecc
Copy link
Member

@neuecc neuecc commented Nov 28, 2024

Regarding the change rationale:
Azure-Pipelines CI is a black box to me, and the release process lacks transparency.
This isn't ideal for an OSS project either.
Therefore, I want to migrate everything to GitHub Actions.
Please add any essential items that exist in the current Azure-Pipelines setup.

Ideally, we should avoid depending on external Actions.
If necessary, I can gradually remove them and replace with Organization-specific ones.
(Note: Currently, there are issues with Secret management preventing Releases from working - this needs to be fixed)

I've also added procedural notes.


How to Publish Package

Package publishing is triggered via GitHub Actions using workflow_dispatch. Follow these steps:

  1. Select Actions -> "Run release build and publish to NuGet"
  2. Enter a version tag (e.g., v3.0.1)
  3. Click "Run workflow"

image

The workflow will:

After CI completion, edit the release draft to add relevant release notes and announcements.

@AArnott
Copy link
Collaborator

AArnott commented Nov 28, 2024

Tip: you may use https://github.com/AArnott/Library.Template/blob/main/.github/workflows/build.yml as a starting point. MessagePack-CSharp is based on Library.Template, so the github workflow from that same template should work.

@neuecc
Copy link
Member Author

neuecc commented Nov 28, 2024

@AArnott
Thank you. I've populated the workflow using my company's Actions as a proof of concept.
I've added descriptions as well - the reasoning is as stated above.

@neuecc neuecc marked this pull request as ready for review December 3, 2024 11:32
@neuecc
Copy link
Member Author

neuecc commented Dec 3, 2024

@AArnott
All dependencies have been eliminated and replaced with actions from this organization only (this is my colleague @guitarrapc 's work, thank you)
Testing has been performed with dry runs for everything except publishing to NuGet.
Once this is merged and the develop branch is merged into master, we expect to discontinue the use of Azure Pipelines.

An important note: due to GitHub Actions' specifications, workflow_dispatch cannot be used without merging into master, which means release operations would not be possible.
Therefore, we need to merge this just before merging develop into master (i.e., before the official v3 release).
What are your thoughts on the schedule for the official v3 release?
There is considerable anticipation in my clients (the impact of changing Unity-related workflows to be Source Generator-based is significant).

@neuecc neuecc requested a review from AArnott December 3, 2024 11:33
@AArnott AArnott added this to the v3.0 milestone Dec 3, 2024
@AArnott
Copy link
Collaborator

AArnott commented Dec 3, 2024

It sounds like #2081 is overlapping with this and that already merged. I take it though from your last comment, @neuecc, that this PR has some unique changes that still need to be merged, just before v3.0 stabilizes. It that right?

What are your thoughts on the schedule for the official v3 release?

The only known work remaining for v3 is here: https://github.com/MessagePack-CSharp/MessagePack-CSharp/milestone/10
The bugs/work items there can probably be done in a day or two.
I was hoping to get some serious validation on v3 functionality and migration docs by aligning the v3 release schedule with the next minor release of Visual Studio where we'd adopt it, which would put us sometime next month. But I'm on an extended vacation from Microsoft at the moment so I can't drive the adoption, and I haven't heard much about how it's going in my absence. I suspect though that any issues that come up from that migration can probably be fixed in a servicing or a .1 release, so I have no concerns with wrapping up the remaining issues and shipping v3.

Do you have any time to work on any of the remaining items? I've been tied up with other projects lately.

@neuecc
Copy link
Member Author

neuecc commented Dec 4, 2024

@AArnott
#2081 has not been merged into master or develop because it's for merging into this branch.
While there's no additional work needed specifically, since we use GitHub Actions' workflow_dispatch in the release process, we'll eventually need to merge it into master to make it functional.
Since it doesn't work on develop, if we continue to release RCs on develop, the merge will need to be delayed.

I see you had mentioned #2008 - I had missed this so I'll respond to it.
Since proper catch-up time is needed, I'd like to leave all generator fixes to you until the official v3 release.
After the release, I plan to increase the scope of what I can review.

@AArnott
Copy link
Collaborator

AArnott commented Dec 4, 2024

I've closed out the other two issues. #2008 is the only remaining work item for v3.

@neuecc
Copy link
Member Author

neuecc commented Dec 5, 2024

thanks, I've commented to #2008 .

@neuecc neuecc merged commit f402776 into develop Dec 6, 2024
2 checks passed
@neuecc neuecc deleted the ci-github-actions branch December 6, 2024 06:46
@neuecc
Copy link
Member Author

neuecc commented Dec 6, 2024

@AArnott
I've released v3.0.3, thanks.

Branch protection has been temporarily removed due to release process reasons.
This will be fixed later.

The Experimental package could not be uploaded, so it has been temporarily removed from the pack target.
This is because I do not have Owner permissions and I generated the GitHub Actions release token.
I would like you to add permissions.
https://www.nuget.org/packages/MessagePack.Experimental/

I would also like to know how to handle version.json correctly.
I did not understand it well, so I tried to rewrite it manually this time.

@AArnott
Copy link
Collaborator

AArnott commented Dec 6, 2024

The Experimental package could not be uploaded, so it has been temporarily removed from the pack target.
This is because I do not have Owner permissions and I generated the GitHub Actions release token.
I would like you to add permissions.

I've invited you to be an owner of the package.

I would also like to know how to handle version.json correctly.

Sure. I'll review what you did and reach out.

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.

3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.