Skip to content
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

Add release workflow #58

Merged
merged 13 commits into from
Oct 3, 2020
Merged

Add release workflow #58

merged 13 commits into from
Oct 3, 2020

Conversation

asbjornu
Copy link
Member

@asbjornu asbjornu commented Jun 25, 2020

This adds a release workflow that will add to the existing test workflow, which in total should make the CI/CD pipeline look like this:

  1. Pull requests are tested with various tools and reported with GitHub Checks so it's easy to see the condition of a PR.
  2. All pull requests need to be reviewd by a code owner (see Propose maintinaing a contributors.md file to manage access changes #61).
  3. When a PR has all green checks and an approved review, it will be merged to master.
  4. All commits to master will invoke the release pipeline to release a pre-release package to the GitHub Package Registry.
  5. Once we are happy with the state of master a maintainer creates a new GitHub Release versioned according to SemVer 2.0.
  6. The release will also create a tag, which will invoke a new release workflow, this time for a stable release to NuGet.org.

Thoughts, comments and general feedback is welcome.

@asbjornu asbjornu force-pushed the feature/release-workflow branch 6 times, most recently from 1803c4c to fea7a13 Compare June 25, 2020 20:51
@codecov
Copy link

codecov bot commented Jun 25, 2020

Codecov Report

Merging #58 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #58   +/-   ##
=======================================
  Coverage   68.59%   68.59%           
=======================================
  Files          22       22           
  Lines        4053     4053           
  Branches     1028     1028           
=======================================
  Hits         2780     2780           
  Misses       1130     1130           
  Partials      143      143           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 215ae2a...bd05d1a. Read the comment docs.

@goofballLogic
Copy link
Member

Can we open an issue for this to discuss the principles we're aiming for. Is it related to #60 ?

@asbjornu asbjornu mentioned this pull request Jul 2, 2020
@asbjornu
Copy link
Member Author

asbjornu commented Jul 2, 2020

Can we open an issue for this to discuss the principles we're aiming for. Is it related to #60 ?

Even if we decide to do a rewrite, having a working CI/CD pipeline is going to be a requirement. So getting this up in working order and merged would benefit a greenfield codebase just as much as the current one.

@asbjornu
Copy link
Member Author

asbjornu commented Jul 3, 2020

@goofballLogic, in #60 (comment) you asked:

Is there anything you can use help with on #58 ?

Indeed it is. I haven't spent much time trying to figure this one out, but currently the build is failing at the NuGet Pack step with the following exception:

##[error]/opt/hostedtoolcache/dncs/2.1.401/x64/sdk/2.1.401/Sdks/NuGet.Build.Tasks.Pack/buildCrossTargeting/NuGet.Build.Tasks.Pack.targets(199,5): error NU5026: The file '/home/runner/work/json-ld.net/json-ld.net/src/json-ld.net/bin/Debug/netcoreapp2.1/json-ld.net.dll' to be packed was not found on disk. [/home/runner/work/json-ld.net/json-ld.net/src/json-ld.net/json-ld.net.csproj]
##[error]Process completed with exit code 1.

If anyone can assist in figuring out why /home/runner/work/json-ld.net/json-ld.net/src/json-ld.net/bin/Debug/netcoreapp2.1/json-ld.net.dll is missing (or how it can be excluded from consideration by dotnet pack if it shouldn't be existing), that would be very helpful.

@goofballLogic
Copy link
Member

done #64

@stale
Copy link

stale bot commented Oct 1, 2020

This issue has been automatically marked as stale because it has not had recent activity. After 30 days from now, it will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 1, 2020
@asbjornu asbjornu force-pushed the feature/release-workflow branch 2 times, most recently from 3e65554 to d8bf25b Compare October 1, 2020 21:43
@stale stale bot removed the stale label Oct 1, 2020
@asbjornu asbjornu force-pushed the feature/release-workflow branch 2 times, most recently from e6797aa to b83a06d Compare October 1, 2020 22:59
@asbjornu asbjornu force-pushed the feature/release-workflow branch 7 times, most recently from 641dcaa to 32ef660 Compare October 1, 2020 23:45
- Add NuGet push to production job `nuget-push-prod`.
- Add NuGet push to development job `nuget-push-dev`.
- Add job `release-artifacts` to upload `.nuget` to the GitHub Release corresponding to the current tag (if any).
@asbjornu asbjornu marked this pull request as ready for review October 2, 2020 20:38
@asbjornu
Copy link
Member Author

asbjornu commented Oct 2, 2020

This won't be tested properly until it's merged to master and we tag a commit, which I suggest we do soon as it's quite a while since the last release. I'll of course fix problems that arise during the next release.

@goofballLogic
Copy link
Member

Happy to merge on that basis.

@asbjornu asbjornu merged commit b6637a4 into master Oct 3, 2020
@asbjornu asbjornu deleted the feature/release-workflow branch October 3, 2020 23:16
goofballLogic pushed a commit that referenced this pull request Oct 9, 2020
goofballLogic pushed a commit that referenced this pull request Oct 13, 2020
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