-
Notifications
You must be signed in to change notification settings - Fork 263
Implement CI/CD through GitHub Actions #580
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
Implement CI/CD through GitHub Actions #580
Conversation
I would love to be able to use this, but unfortunately, as these packages are published as Nuget packages with the Microsoft.* prefix, they need to be codesigned with a Microsoft cert. I do not believe this is currently possible via a GitHub action. |
@darrelmiller we have dealt with a similar case where an Here's how we did it:
As far as we understand, the signing of a NuGet package is done practically the same way (the difference being the key format), so we think the same solution can be applied. Do you think this would be an appropriate solution in this case ? |
@aleks-ivanov thanks for putting this together. @darrelmiller I suggest we still keep this, but we disable the part that uploads binaries as build artefacts and as release assets. Because we'd still get:
Which is already super valuable on its own. |
.github/workflows/ci-cd.yml
Outdated
|
||
- name: Upload OpenAPI.Readers package as release asset | ||
id: upload_openapi_readers_pckg | ||
uses: actions/upload-release-asset@v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this task is deprecated, consider replacing by something else.
.github/workflows/ci-cd.yml
Outdated
|
||
- name: Upload OpenAPI package as release asset | ||
id: upload_openapi_pckg | ||
uses: actions/upload-release-asset@v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this task is deprecated, consider replacing by something else.
.github/workflows/ci-cd.yml
Outdated
|
||
- name: Create and publish release | ||
id: create_release | ||
uses: actions/create-release@v1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this task is deprecated, consider replacing by something else.
* comment unnecessary steps, replace create release steps * remove accidental if
On the last commit we commented out all lines of code that are connect to the NuGet package publish to the gallery and as pipeline artifacts, and replaced the deprecated release actions with the one suggested by its maintainers. Also commented out the lines of code that attach the NuGet packages to the automatically created release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping @darrelmiller for merge
@baywet We now have Azure Pipeline YAML that does the signing. We should chat about whether these two separate pipelines could be complementary. |
GitHub actions are nice in the sense that people get an exact copy of they clone. Non-msft also have access to the log when it fails allowing them to investigate on their own if they break it. All of that without needing to learn/create an account for Azure DevOps. |
@darrelmiller I don't believe the ADO pipeline is currently creating github releases, I believe we should create github releases to communicate changes, tag our codebase and provide a clear line of sight to people using the library without requiring them to go over to nuget. Do you know if creating the release will be added to the ADO pipeline? (if yes we should remove that part from the current PR, if not we should keep it) |
The pipeline runs:
Full transparency, the pipeline is the product of a lot of best guessing based on limited information, so please let us know if anything could be done better and/or if any other automation is required by the project! We would be happy to improve it to satisfactory completion 🙂
Resolves #579