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

Feature - add initial project structure #32

Conversation

stijnmoreels
Copy link
Member

@stijnmoreels stijnmoreels commented May 29, 2020

  • Updated the project structure with a PS unit test project
  • Updated the project with 2 PS module projects (not implementation, just as startup)
  • Updated the CI build to run Pester tests on the unit test project and automaticallyupdate the PS modules with the determined PR version

Relates #23
Closes #29
Closes #25
Closes #16

@@ -111,3 +109,20 @@ stages:
artifact: 'Build'
path: '$(Build.SourcesDirectory)'
- template: nuget/publish-preview-package.yml@templates
parameters:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll have to see how we could maybe publish PowerShell modules to the MyGet source, but I'll have to wait for @tomkerkhove bc I think the service connection is still on his account and not in the shared Lastpass group.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure whether this is to be published onto MyGet though, as this would mean publishing the modules on both MyGet and into the PowerShell-gallery.
I would stick to the PowerShell-gallery, which also offers the possibility doing a pre-release for validation purposes.

But perhaps I'm missing some of the capabilities of MyGet, as my experience with it is limited, so feel free to correct me.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we had a MyGet release for the CI build so we could already test the deployment continuously. This is done for every repo in Arcus. I don't know actually if it's an added value here.

As far as support, I thought PS publishing was supported: https://docs.myget.org/docs/how-to/publish-a-powershell-module-to-myget
But we can maybe hold of on this? No problem.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it's done across all Arcus repo's, perhaps we can do it as well to keep it alligned, but lets hold of on this for a while untill we can verify with Tom whether this would be beneficial for this project.

Thinking about it again, it would offer us a "private" store to verify the modules before publising them onto the PowerShellGallery, increasing quality of the publicly available modules.
Just wondering whether this will cause version-numbers being skipped on the PS-gallery then?
For isntance, if v1.0.1 is published on MyGet first -> a bug is discovered + fixed -> v1.0.2 is published, then we'll go from v1.0.0 to v1.0.2 on the PS-gallery. Would be nice to avoid these gaps, but perhaps this is nitpicking..

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it's done across all Arcus repo's, perhaps we can do it as well to keep it alligned, but lets hold of on this for a while untill we can verify with Tom whether this would be beneficial for this project.

Yes, indeed we can maybe leave it out here and come back later.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking about it again, it would offer us a "private" store to verify the modules before publising them onto the PowerShellGallery, increasing quality of the publicly available modules.
Just wondering whether this will cause version-numbers being skipped on the PS-gallery then?
For isntance, if v1.0.1 is published on MyGet first -> a bug is discovered + fixed -> v1.0.2 is published, then we'll go from v1.0.0 to v1.0.2 on the PS-gallery. Would be nice to avoid these gaps, but perhaps this is nitpicking..

The versioning will be on a different structure then the 'actual' releases. We're using the Arcus build functionality here that allows us to determine either a 'PR version' or a 'release version' for our package. So to answer your question, no, they're will not be versions left out bc it actually is two total different pipelines with different purposes. It's like you said, for having a constantly private preview of the library.
But again, let's wait for Tom.
Thanks for thinking about this!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MyGet stage is now present but is skipped, so we have it still in source control for later use but are ignoring it now. Is good for you, or you want it removed here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MyGet stage can be kept in the file, untill we make a final decision about this.

@stijnmoreels stijnmoreels marked this pull request as ready for review May 29, 2020 09:53
@stijnmoreels stijnmoreels requested a review from mbraekman as a code owner May 29, 2020 09:53
Copy link
Contributor

@mbraekman mbraekman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's already set the "Author"-property in the psd1-files to "Arcus" by default.

Regarding the release to MyGet, it is fine by me, just currently don't see the added value to this - but as said before, feel free to tell me otherwise.

@stijnmoreels stijnmoreels merged commit 7b0e53b into arcus-azure:master Jun 5, 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
2 participants