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

Fix publish package errors #1042

Merged
merged 99 commits into from
Apr 10, 2024

Conversation

james-garriss
Copy link
Collaborator

@james-garriss james-garriss commented Mar 29, 2024

🗣 Description

This PR fixed 2 publishing errors, one when publishing to the private repo (for testing) and one when publishing to the public repo, PSGallery.

Closes #1012

💭 Motivation and context

I fixed the bugs, then I split the single workflow into 2 workflows to separate concerns.
Along the way, I realized that the CI/CD pipeline needs to run every test every time, because some errors were not being discovered, so I updated the pipeline while I was here.
I also added a lot of debugging code in DeployUtils, as these errors were hard to find.
I also updated the PowerShell lint tests to allow Write-Host, as this is needed by the workflows to debug.

🧪 Testing

Ran pipeline.
Test both workflows.
Added several new "alpha" releases to PSGallery (that need to be deleted).

✅ Pre-approval checklist

  • This PR has an informative and human-readable title.
  • PR targets the correct parent branch (e.g., main or release-name) for merge.
  • Changes are limited to a single goal - eschew scope creep!

Yeah, no, I allowed scope creep here, because I needed other things to work in order to fix the bugs. Sorry!

  • Changes are sized such that they do not touch excessive number of files.
  • All future TODOs are captured in issues, which are referenced in code comments.
  • These code changes follow the ScubaGear content style guide.
  • Related issues these changes resolve are linked preferably via closing keywords.
  • All relevant type-of-change labels added.
  • All relevant project fields are set.
  • All relevant repo and/or project documentation updated to reflect these changes.
  • Unit tests added/updated to cover PowerShell and Rego changes.
  • All relevant functional tests passed.
  • All automated checks (e.g., linting, static analysis, unit/smoke tests) passed.

OPA unit tests are failing. That's not me.

✅ Pre-merge checklist

  • PR passed smoke test check.
  • Feature branch has been rebased against changes from parent branch, as needed
  • Notified merge coordinator that PR is ready for merge via comment mention

✅ Post-merge checklist

  • Feature branch deleted after merge to clean up repository.
  • Verified that all checks pass on parent branch (e.g., main or release-name) after merge.

@james-garriss james-garriss added the bug This issue or pull request addresses broken functionality label Mar 29, 2024
@james-garriss james-garriss added this to the Halibut milestone Mar 29, 2024
@james-garriss james-garriss self-assigned this Mar 29, 2024
@james-garriss james-garriss linked an issue Mar 29, 2024 that may be closed by this pull request
@james-garriss
Copy link
Collaborator Author

As a note, the publish to public is not going to work, because it's manual and requires workflow dispatch. This cannot be done until pushed to main because GitHub. I ran manual tests by hardcoding values, but to actually use it requires the PR to happen first. Yeah, that's a chicken and egg problem.

Copy link
Collaborator

@Sloane4 Sloane4 left a comment

Choose a reason for hiding this comment

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

I checked main & the unit test are running without error, I suggest rebasing.

.github/workflows/publish_public_package.yaml Show resolved Hide resolved
Copy link
Collaborator

@schrolla schrolla left a comment

Choose a reason for hiding this comment

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

Overall, good restructuring and cleanup. See comments for some minor suggested changes and enhancements.

utils/DeployUtils.ps1 Outdated Show resolved Hide resolved
utils/DeployUtils.ps1 Show resolved Hide resolved
.github/workflows/publish_private_package.yaml Outdated Show resolved Hide resolved
.github/workflows/publish_public_package.yaml Outdated Show resolved Hide resolved
.github/workflows/publish_public_package.yaml Outdated Show resolved Hide resolved
.github/workflows/publish_public_package.yaml Show resolved Hide resolved
Copy link
Collaborator

@schrolla schrolla left a comment

Choose a reason for hiding this comment

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

After the updates, I'm good with the PR changes.

Copy link
Collaborator

@Sloane4 Sloane4 left a comment

Choose a reason for hiding this comment

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

Don't forget to rebase!

@james-garriss james-garriss force-pushed the 1012-fix-manifest-error-when-publishing-package branch from 31aed87 to 0e6ff8b Compare April 9, 2024 13:09
@james-garriss
Copy link
Collaborator Author

@nanda-katikaneni , I think this PR is finally ready.

@nanda-katikaneni nanda-katikaneni merged commit 44e0184 into main Apr 10, 2024
12 checks passed
@nanda-katikaneni nanda-katikaneni deleted the 1012-fix-manifest-error-when-publishing-package branch April 10, 2024 16:22
ahuynhMITRE added a commit that referenced this pull request May 6, 2024
* (New) Add Licensing Information to AAD Report (#1011)

* Copied Changes form broken branch for new PR

* removed trailing whitespace

* Removed more trailing white space

* updated licensing table to have unique id and added case in smoke test for licensing table

* remove white space

* added check for licensing information to functional tests

* added smoke test for licensing

* Add a UTC timestamp to the Provider JSON (#1009)

* add a quick timestamp

* add milliseconds

* timestamp_zulu

* add timestampzulu to metadata in mergejson

* fix unit tests

* fix bug found in previous PR

* Add config file for GitHub Pages (#1001)

* add YML for theme

* add config for pages

* lint

* put regal yaml back

* Create a workflow for bumping the ScubaGear module version (#989)

* create workflow for automated version bumping

* clean up whitespace

* bump checkout version

* fix variable substitution and regex match output

* remove testing variable

* Fix the Handful of AAD unit tests that are broken (#1019)

* fixed unit tests :)

* Resolved Linter Warnings

---------

Co-authored-by: Devesh Agarwal <[email protected]>

* Remove default vars from test configs (#996)

* minor edits to aad.5.3v1 and aad5.4v1 instructions (#1028)

* uncenter the text (#1031)

* Add option to generate a config file template (#984)

* config file generation

* Adding defender

* Final generate config file

* Ready for pull request

* moved to support module

* added to manifest file

* pascal case and whitespace

* linter hacks

* linter test

* "unused" variables

* linter hacks part II

* linter hacks part III

* Unit Test added

* added default value for unit testing

various syntax fixes as well

* fixed unit test, mock converting to yaml

* fixed unit tests?

* fixed?

* more debugging

* debugging

* Update README.md for generating config

* Update ScubaGear version to 1.2.0 (#1029)

Co-authored-by: GitHub Action <[email protected]>

* Fix bug with msaad52v1 only admins consent to apps (#1043)

* uploading for Cassey debugging session

* modified Rego policy 5.2 and unit tests to account for Microsoft updates to tenant output data

* modified 5.2 functional tests based on Microsoft changes to JSON output

* Update sample reports to latest version output examples (#1058)

* Fix publish package errors (#1042)

* inject write-error

* comment out publish

* show manifest error

* remove fail silently

* debug path version

* fix id typo

* fixed list

* fix needs

* fix release prep again

* write prereleasetag

* get types

* fix typo

* fix typos

* set tags as array

* reset tags

* debug w string

* remove array

* gc manifest

* get childitem

* write module path

* Debug manifest

* debug more

* typecast to string

* debug string concat

* display hashtable

* more debug details

* tweak debugging

* update install w prerelease

* commenting

* install required version

* add debug

* add debug

* add version

* use 1 if

* hard code

* install only

* force it

* remove install

* add debug statements

* see params

* fix parameter set

* fix comment typo

* use binding

* add comments

* fix @

* remove cmdlet

* uncomm param set

* remove param sets

* split into 2

* fix push paths

* add env back

* clean debug statement

* fix pipeline issues

* add output test

* use write-output

* clean up minor

* back to previous version

* use output

* more output

* use debug

* more output

* fix ps lint

* test returning false

* return to old error

* hardcode params

* fix step name

* improve debug statements

* back to write host

* debug prerelease

* changed info to host

* switch tag version

* write manifest out

* update version

* fix temp print

* bump to 8

* add import back

* require version

* bump to 10

* bump vers

* without tag

* bump tag

* use find mod

* fix unit test

* bump tag

* trivial change to trigger tests

* hide error

* v 03

* fix pipeline

* return false

* add write error

* remove details

* be silent

* be false

* cleanup

* unhardcode

* Exclude Write-Host locally

* commented out push trigger

* comment out push trigger

* update description

* Add a Workflow to check for OPA version updates (#1004)

* add parseable language

* add OPA Update workflow

* remove white space

* grammar

* Update Pull Request Description

Co-authored-by: Addam Schroll <[email protected]>

---------

Co-authored-by: Addam Schroll <[email protected]>

* Defender functional test plan fixes (#1057)

* Remove IsNotChecked flag from G3 3.1 Non-compliant - No defender license test

* Move impersonation protection tests from standard to g5 variant

* Fix Markdown in readme (#1068)

* fix table

* fix links

* minor changes

* Add Policy Group Names to ScubaResults.json (#1041)

* package Report Results by control group

* finish comment

* upgrade the ScubaGear ScubaResults metadata with even more context

* make comment clearer

* make another comment clearer

* Bump OPA version from v0.61.0 to v0.63.0 (#1070)

* Bump OPA version from v0.61.0 to  v0.63.0

* also add support for 0.62.1

* add omit comments

* add back in the space

* add back in the link

---------

Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: buidav <[email protected]>

* Add GitLeaks to CI/CD Pipeline (#1066)

* add if

* update pipeline

* remove push

* set permissions

* Enhance AAD Provider and Rego Code to automate checks for policy MS.AAD.3.3v1 (#1014)

* Update provider json for  auth method config

* Added new json for MS auth feature settings

* Combined authentication method calls into one json object

* Updates to JSON for aad 3.4 and 3.5

* updates to aad 3.3 rego

* Include all auth method configs in json export

* Updates to aad 3.3 to check msauth settings

* Updates to unit tests for aad 3.4

* Update AADConfig.rego 3.3v1 status check

* fix N/A criticality for 3.5 and adjust unit and functional tests for new JSON structure

* changed JSON structure for 3.4, 3.5 because it had redundant objects and updated all tests

* fix run unit test

* revised 3.3 unit tests

* update 3.3 code & added unit tests

* refactored names and added comments to 3.3 policy

* refactored 3.4 to reduce redundant code and bad variable naming

* streamlined code for 3.5 to reduce redundancy and returned ActualValue which was missing

* renamed MFAPolicies to PhishingResistantMFAPolicies for accuracy

* initial version 3.3 functional test wip

* added functional test cases

* removed NotCheckedDetails import since linter complained

* made AuthenticationPolicyMigrationIsComplete shorter due to linter complaints

* changed AuthenticationPolicyMigrationIsComplete from boolean assignment to if due to linter

* removed redundant call to Get-MgBetaPolicyAuthenticationMethodPolicy which was left by mistake

---------

Co-authored-by: Ted Kolovos <[email protected]>
Co-authored-by: Sloane4 <[email protected]>

* Bump OPA version from v0.63.0 to  v0.64.1 (#1079)

Co-authored-by: GitHub Action <[email protected]>

* fixed functional test for 5.3 so that it only produces a single EnableAdminConsentRequests field (#1081)

---------

Co-authored-by: Devesh Agarwal <[email protected]>
Co-authored-by: David Bui <[email protected]>
Co-authored-by: James Garriss <[email protected]>
Co-authored-by: Ted Kolovos <[email protected]>
Co-authored-by: Devesh Agarwal <[email protected]>
Co-authored-by: Addam Schroll <[email protected]>
Co-authored-by: amart241 <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <[email protected]>
Co-authored-by: Shanti Satyapal <[email protected]>
Co-authored-by: Sloane4 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue or pull request addresses broken functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix manifest error when publishing package
4 participants