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 Github actions build/test/publish/release pipeline #745

Merged
merged 93 commits into from
Jul 6, 2022

Conversation

nozzlegear
Copy link
Owner

@nozzlegear nozzlegear commented May 31, 2022

Replacing AppVeyor with Github actions workflow.

TODO:

  • Pack projects separately from test projects.
  • Publish prerelease packages to Github nuget feed nuget.
    • Is it possible to continue publishing these prerelease packages to Nuget without requiring approval each time?
    • The build numbers will become out of sync (i.e. Github build number starts at 1, but Appveyor is on 500+). Does that matter? Answer
  • Run test suite automatically on each push to master.
    • Should this also run automatically for each pull request? Does it run on each commit? Is there a risk of exposing the access token? Can it run with some kind of command comment like !test? Answer
  • Improve test execution time (Github actions have a limit of 2000 per month and average unit test duration for ShopifySharp is 11-12 minutes). Run two or three categories at once? All at once and let the leaky bucket policy figure it out?
  • Run .NET Framework-specific tests (not all tests) on a Windows image.
    • These tests currently fail on Ubuntu 20.04. I could probably get them working with a little digging, but it's just as easy to add a separate Windows step that only runs the .NET Framework-specific tests.
    • Properly categorize the .NET Framework tests so they can be run individually.
  • Parse out test category name from file itself instead of from the filename.
    • The AccessScope_Tests.cs file is never tested because its category is Access scopes but the test script uses AccessScope from the filename as the category.
    • Take into account that some test files will have more than one category (i.e. the DotNetFramework category tests).
  • For prereleases, create or append to a Github prerelease with links to all relevant issues/merged PRs.
    • What would the prerelease be named? Answer

@nozzlegear nozzlegear added todo ci Issues dealing with the CI build/publish process labels May 31, 2022
@nozzlegear nozzlegear temporarily deployed to Build Environment May 31, 2022 16:55 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment May 31, 2022 16:55 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 00:53 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 01:01 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 01:07 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 01:41 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 01:59 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 02:16 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment June 2, 2022 02:51 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment June 2, 2022 02:52 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 2, 2022 00:41 Inactive
@nozzlegear
Copy link
Owner Author

Manual workflow triggers can only be run when the yaml file is in the master branch. This pull request has completed all work that doesn't deal with full releases, so I'm merging this and splitting off the release-specific work into another pull request.

@nozzlegear nozzlegear marked this pull request as ready for review July 6, 2022 18:46
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 18:48 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 18:49 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 19:14 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 19:14 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 19:22 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 19:22 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 19:58 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 19:58 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 20:51 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 20:51 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 20:58 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 20:58 Inactive
@nozzlegear nozzlegear temporarily deployed to Build Environment July 6, 2022 21:04 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 21:06 Inactive
@nozzlegear nozzlegear temporarily deployed to Unit test environment July 6, 2022 21:12 Inactive
@nozzlegear nozzlegear temporarily deployed to Prerelease deployment environment July 6, 2022 21:21 Inactive
@nozzlegear nozzlegear merged commit 3dfd3ab into master Jul 6, 2022
@nozzlegear nozzlegear deleted the setup-github-actions branch July 6, 2022 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Issues dealing with the CI build/publish process todo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant