-
Notifications
You must be signed in to change notification settings - Fork 20
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
chore: Add support for GitHub Packages #173
chore: Add support for GitHub Packages #173
Conversation
6618da1
to
09bec6d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #173 +/- ##
=========================================
+ Coverage 0 93.86% +93.86%
=========================================
Files 0 23 +23
Lines 0 946 +946
Branches 0 105 +105
=========================================
+ Hits 0 888 +888
- Misses 0 34 +34
- Partials 0 24 +24 ☔ View full report in Codecov by Sentry. |
See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
09bec6d
to
c8fe68f
Compare
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
Well, still failed, but now I'm pretty sure it's just the fork issue. Assuming |
FYI the secrets.NUGET_TOKEN is for nuget.org registry but looking at this change its pushing to github registry. Also i believe forks won't have access to any secrets from memory. You might need to update the permissions on the workflow to get write access to github registeries on the secrets.GITHUB_TOKEN that the action runner generates https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#defining-access-for-the-github_token-scopes One problem with using githubs nuget registry is you need a github account setup to pull down the packages (this could of change since last time i checked). This is why i originally suggested using something like MyGet which offer free accounts for OpenSource projects. I think gating the prerelease packages behind auth defeats the purpose, and makes for a cumbersome developer experience. Happy to go a head with it if people are fine with that. |
Bah, I knew there was something I was forgetting. Thanks, will update.
Full agree that GitHub should just give us the option to allow un-auth'd package retrieval for OSS projects, but I also don't think the auth requirement is all that big of a blocker. Now this could be some corporate dev bias, but of all the authenticated feeds I have to deal with at my day job, GitHub Packages is the least annoying of them lol. But bigger picture, I think providing prerelease packages directly from GitHub is a really useful solution for discoverability, plus if you're already setup to consume one GitHub package feed, then that auth carries over to the N+1 feed too. So wouldn't ever recommend we only publish to GitHub Packages (e.g. as opposed to, say, nuget.org), but I think it's a really nice built-in option that comes pretty much for free (as in beer/time) and offers a nice UX in terms of code+packages+releases all in one place. (also, none of what I'm saying here precludes also publishing to myget in addition to github, I'm just saying there's no reason to not offer github while we're at it.) |
c8fe68f
to
242f7d0
Compare
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
242f7d0
to
b061d8b
Compare
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
b061d8b
to
40fa005
Compare
40fa005
to
260cf4f
Compare
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
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.
I think this is wrong. I could be missing something, but pull_request_target runs in the context of the base branch - so this will make all our CI tests run the code in main, not the code in whatever PR.
Geeze, I think you're right. I'm not sure what I was doing when I changed that (testing token perms, maybe?). Reverting now. |
260cf4f
to
e155a39
Compare
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
e155a39
to
6984e42
Compare
<ItemGroup Condition="'$(OS)' == 'Unix'"> | ||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" /> | ||
</ItemGroup> |
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.
Is this because we're not building on Windows in the job? Will this have any impact on the release build (it does run on windows)?
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.
Is this because we're not building on Windows in the job?
Yep! It gives dotnet build
enough context to build the net462
TFM on Linux, so we can run package builds on ubuntu-latest
which, among other reasons, runs circles around windows-latest
for dotnet restore
and anything else that uses compression:
windows-latest
:Run dotnet test test\OpenFeature.Tests\ --configuration Release --logger GitHubActions Determining projects to restore... Restored D:\a\dotnet-sdk\dotnet-sdk\src\OpenFeature\OpenFeature.csproj (in 21.2 sec). Restored D:\a\dotnet-sdk\dotnet-sdk\test\OpenFeature.Tests\OpenFeature.Tests.csproj (in 1.69 min).
ubuntu-latest
:Run dotnet test test/OpenFeature.Tests/ --configuration Release --logger GitHubActions Determining projects to restore... Restored /home/runner/work/dotnet-sdk/dotnet-sdk/src/OpenFeature/OpenFeature.csproj (in 5.33 sec). Restored /home/runner/work/dotnet-sdk/dotnet-sdk/test/OpenFeature.Tests/OpenFeature.Tests.csproj (in 5.5 sec).
Will this have any impact on the release build (it does run on windows)?
It should have no impact since it's conditioned on the OS
var and the reference assemblies won't be included in the compilation, leaving dotnet
to find the actual assemblies in the GAC (or on disk, can't remember which it actually checks, so don't quote me on this part).
But it does mean, that once everyone is comfortable with it (i.e. this workflow runs without issues a few times), we could then update release.yml
to run on ubuntu-latest
too.
That workflow obviously runs less frequently than ci.yml
, so the dotnet restore
perf won't be as big of a consideration in that case, but I personally feel better building my internal stable releases on the ubuntu-latest
runners. Things just always seem to work better there lol (e.g. cli perf, line endings, etc).
edit: opened #195 for later
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.
Makes sense. I'm in favor of that change in the future. Thanks for the explanation 🙏
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.
Approving again, and will merge in a moment, but consider this.
Signed-off-by: Austin Drenski <[email protected]>
Woohoo, it lives! 🥳🥳🥳 |
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
Follows open-feature#173 and open-feature/dotnet-sdk-contrib#134 to synchronize ci.yml between both repos. ```console $ diff dotnet-sdk{,-contrib}/.github/workflows/ci.yml ``` Signed-off-by: Austin Drenski <[email protected]>
Follows open-feature#173 and open-feature/dotnet-sdk-contrib#134 to synchronize ci.yml between both repos. ```console $ diff dotnet-sdk{,-contrib}/.github/workflows/ci.yml ``` Signed-off-by: Austin Drenski <[email protected]>
| GITHUB_REF | version format | |---------------|--------------------------------------------------| | refs/heads/* | #.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/pull/* | #.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9} | | refs/tags/v* | #.#.# | See: open-feature/dotnet-sdk#54, open-feature/dotnet-sdk#173 Signed-off-by: Austin Drenski <[email protected]>
Signed-off-by: Austin Drenski <[email protected]>
Signed-off-by: Austin Drenski <[email protected]>
Follows open-feature#173 and open-feature/dotnet-sdk-contrib#134 to synchronize ci.yml between both repos. ```console $ diff dotnet-sdk{,-contrib}/.github/workflows/ci.yml ``` Signed-off-by: Austin Drenski <[email protected]>
Signed-off-by: Austin Drenski <[email protected]> Signed-off-by: André Silva <[email protected]>
🤖 I have created a release *beep* *boop* --- ## [1.5.0](v1.4.1...v1.5.0) (2024-03-12) ### 🐛 Bug Fixes * Add targeting key ([#231](#231)) ([d792b32](d792b32)) * Fix NU1009 reference assembly warning ([#222](#222)) ([7eebcdd](7eebcdd)) * invalid editorconfig ([#244](#244)) ([3c00757](3c00757)) ### ✨ New Features * Flag metadata ([#223](#223)) ([fd0a541](fd0a541)) * implement in-memory provider ([#232](#232)) ([1082094](1082094)) ### 🧹 Chore * bump spec version badge ([#246](#246)) ([ebf5552](ebf5552)) * cleanup unused usings 🧹 ([#240](#240)) ([cdc1bee](cdc1bee)) * **deps:** update actions/upload-artifact action to v4.3.0 ([#203](#203)) ([0a7e98d](0a7e98d)) * **deps:** update actions/upload-artifact action to v4.3.1 ([#233](#233)) ([cfaf1c8](cfaf1c8)) * **deps:** update codecov/codecov-action action to v3.1.5 ([#209](#209)) ([a509b1f](a509b1f)) * **deps:** update codecov/codecov-action action to v3.1.6 ([#226](#226)) ([a577a80](a577a80)) * **deps:** update dependency coverlet.collector to v6.0.1 ([#238](#238)) ([f2cb67b](f2cb67b)) * **deps:** update dependency fluentassertions to v6.12.0 ([#215](#215)) ([2c237df](2c237df)) * **deps:** update dependency microsoft.net.test.sdk to v17.8.0 ([#216](#216)) ([4cb3ae0](4cb3ae0)) * **deps:** update dependency nsubstitute to v5.1.0 ([#217](#217)) ([3be76cd](3be76cd)) * **deps:** update dependency openfeature.contrib.providers.flagd to v0.1.8 ([#211](#211)) ([c1aece3](c1aece3)) * **deps:** update xunit-dotnet monorepo ([#236](#236)) ([fa25ece](fa25ece)) * Enable Central Package Management (CPM) ([#178](#178)) ([249a0a8](249a0a8)) * Enforce coding styles on build ([#242](#242)) ([64699c8](64699c8)) * More sln cleanup ([#206](#206)) ([bac3d94](bac3d94)) * SourceLink is built-in for .NET SDK 8.0.100+ ([#198](#198)) ([45e2c86](45e2c86)) * Sync ci.yml with contrib repo ([#196](#196)) ([130654b](130654b)) * Sync release.yml with ci.yml following [#173](#173) ([#195](#195)) ([eba8848](eba8848)) ### 📚 Documentation * fix hook ecosystem link ([#229](#229)) ([cc6c404](cc6c404)) * update the feature table key ([f8724cd](f8724cd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Austin Drenski <[email protected]> Signed-off-by: Artyom Tonoyan <[email protected]>
…feature#195) Signed-off-by: Austin Drenski <[email protected]> Signed-off-by: Artyom Tonoyan <[email protected]>
🤖 I have created a release *beep* *boop* --- ## [1.5.0](open-feature/dotnet-sdk@v1.4.1...v1.5.0) (2024-03-12) ### 🐛 Bug Fixes * Add targeting key ([open-feature#231](open-feature#231)) ([d792b32](open-feature@d792b32)) * Fix NU1009 reference assembly warning ([open-feature#222](open-feature#222)) ([7eebcdd](open-feature@7eebcdd)) * invalid editorconfig ([open-feature#244](open-feature#244)) ([3c00757](open-feature@3c00757)) ### ✨ New Features * Flag metadata ([open-feature#223](open-feature#223)) ([fd0a541](open-feature@fd0a541)) * implement in-memory provider ([open-feature#232](open-feature#232)) ([1082094](open-feature@1082094)) ### 🧹 Chore * bump spec version badge ([open-feature#246](open-feature#246)) ([ebf5552](open-feature@ebf5552)) * cleanup unused usings 🧹 ([open-feature#240](open-feature#240)) ([cdc1bee](open-feature@cdc1bee)) * **deps:** update actions/upload-artifact action to v4.3.0 ([open-feature#203](open-feature#203)) ([0a7e98d](open-feature@0a7e98d)) * **deps:** update actions/upload-artifact action to v4.3.1 ([open-feature#233](open-feature#233)) ([cfaf1c8](open-feature@cfaf1c8)) * **deps:** update codecov/codecov-action action to v3.1.5 ([open-feature#209](open-feature#209)) ([a509b1f](open-feature@a509b1f)) * **deps:** update codecov/codecov-action action to v3.1.6 ([open-feature#226](open-feature#226)) ([a577a80](open-feature@a577a80)) * **deps:** update dependency coverlet.collector to v6.0.1 ([open-feature#238](open-feature#238)) ([f2cb67b](open-feature@f2cb67b)) * **deps:** update dependency fluentassertions to v6.12.0 ([open-feature#215](open-feature#215)) ([2c237df](open-feature@2c237df)) * **deps:** update dependency microsoft.net.test.sdk to v17.8.0 ([open-feature#216](open-feature#216)) ([4cb3ae0](open-feature@4cb3ae0)) * **deps:** update dependency nsubstitute to v5.1.0 ([open-feature#217](open-feature#217)) ([3be76cd](open-feature@3be76cd)) * **deps:** update dependency openfeature.contrib.providers.flagd to v0.1.8 ([open-feature#211](open-feature#211)) ([c1aece3](open-feature@c1aece3)) * **deps:** update xunit-dotnet monorepo ([open-feature#236](open-feature#236)) ([fa25ece](open-feature@fa25ece)) * Enable Central Package Management (CPM) ([open-feature#178](open-feature#178)) ([249a0a8](open-feature@249a0a8)) * Enforce coding styles on build ([open-feature#242](open-feature#242)) ([64699c8](open-feature@64699c8)) * More sln cleanup ([open-feature#206](open-feature#206)) ([bac3d94](open-feature@bac3d94)) * SourceLink is built-in for .NET SDK 8.0.100+ ([open-feature#198](open-feature#198)) ([45e2c86](open-feature@45e2c86)) * Sync ci.yml with contrib repo ([open-feature#196](open-feature#196)) ([130654b](open-feature@130654b)) * Sync release.yml with ci.yml following [open-feature#173](open-feature#173) ([open-feature#195](open-feature#195)) ([eba8848](open-feature@eba8848)) ### 📚 Documentation * fix hook ecosystem link ([open-feature#229](open-feature#229)) ([cc6c404](open-feature@cc6c404)) * update the feature table key ([f8724cd](open-feature@f8724cd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Signed-off-by: Artyom Tonoyan <[email protected]>
GITHUB_REF
refs/heads/*
#.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9}
refs/pull/*
#.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9}
See: #54, open-feature/dotnet-sdk-contrib#134
Closes: #54