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

ADMU CI Migration #102

Merged
merged 67 commits into from
Dec 18, 2023
Merged

ADMU CI Migration #102

merged 67 commits into from
Dec 18, 2023

Conversation

jworkmanjc
Copy link
Contributor

@jworkmanjc jworkmanjc commented Oct 13, 2023

Issues

What does this solve?

This is a non-impactful patch release to update the build/test/release workflow in GitHub Actions. A number of items in the repository directory have been cleaned up, I've removed files that were saved in git history but not necessary to be stored in the repository.

Files Removed:

  • circleCi/config.yml — This was the point of the PR to remove the CircleCI workflows
  • Deploy/ADMU.ps1 — This file is generated before we create the .exe files, it's not necessary to track it in git (but open to discussion of this)
  • jumpcloud-ADMU/Jumpcloud-ADMU.nuspec — This file is generated in build and we'd never need to upload it
  • Pester Test Results — These are unnecessary to store in git history

Modified CI Steps:

The build steps have generally been consolidated into a single build.ps1 file. It's easy to run locally, and the idea is that you'd run build.ps1 once before you commit changes to see if there's anything additional worth committing to git history (generally this would be moduleChangeLog.md + the module psd1). Regardless this runs on CI and in the Release CI workflow. If there was a better way to save artifacts between workflows we could cut that part out of Release CI and only run this once in PR CI. This would be preferred and it is possible but I want to break that into a different card.

Changes to Nuspec/Nupkg:

I've cleaned up the file structure in the nuspec/ nupkg files. If you run build.ps1 you'll see the nuspec file generated should only contain docs, help files, Start-Migration and the other required module information. We used to package up a number of unnecessary items in the module which was not best practice. There are other items we should add like a LICENSE, readme file and bundle those into our package. I want to break that out into a different card.

Changes to Tests:

Tests are broken up by several different runners, GHA runners are slower than CircleCI by default so running certain tests in parallel seems to cut down on the total runtime. I'd like to further break out these tests in a future card.

Build Tests should now throw if you haven't run build.ps1 on a given day before committing changes. I want our changelog + psd1 generation date to be the same as whatever date we release on. It just looks nicer so it's included. Check these tests out and let me know if you want to change anything.

Is there anything particularly tricky?

After review we'll change two items to the Release CI to only run that workflow on merge to main branch. We have experience doing this with the PWSH module so that step should work when we next merge.

How should this be tested?

View the two most recent actions logs, the CI and Release CI workflows are both triggered with the last commit.

Screenshots

@jworkmanjc jworkmanjc added ADMU ADMU Module Release patch Patch version release labels Oct 13, 2023
kmaranionjc and others added 5 commits October 25, 2023 15:27
* Create new test files

* test

* fix error

* fix test

* test

* test

* fix test

* test

* test

* test

* matrix add

* test

* test

* test

* test

* test fix

* test

* cleanup

* test
…/jumpcloud-ADMU into SA-3609_ADMU_GHA_Migrate_CI
@jworkmanjc jworkmanjc temporarily deployed to PublishToPSGallery October 25, 2023 22:10 — with GitHub Actions Inactive
@kmaranionjc kmaranionjc self-requested a review October 26, 2023 16:08
.github/CODEOWNERS Outdated Show resolved Hide resolved
ModuleChangelog.md Outdated Show resolved Hide resolved
Copy link
Contributor

@kmaranionjc kmaranionjc left a comment

Choose a reason for hiding this comment

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

Dropped couple of comments. Biggest thing is should we do delete jc user on the new test files

@kmaranionjc kmaranionjc self-requested a review October 26, 2023 18:02
kmaranionjc
kmaranionjc previously approved these changes Oct 26, 2023
@jworkmanjc jworkmanjc requested a review from gweinjc December 18, 2023 17:10
@jworkmanjc jworkmanjc removed ADMU ADMU Module Release patch Patch version release labels Dec 18, 2023
@jworkmanjc jworkmanjc merged commit a50df00 into master Dec 18, 2023
6 checks passed
@jworkmanjc jworkmanjc deleted the SA-3609_ADMU_GHA_Migrate_CI branch January 27, 2025 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants