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

chore(build): sign all artifacts COMPASS-7549 #5349

Merged
merged 13 commits into from
Jan 18, 2024
Merged

Conversation

mabaasit
Copy link
Contributor

In this PR, we are signing all the remaining compass artifacts - for windows, macos (zip only) and rhel. Steps to verify a files are similar to the one in #5334.
For windows .exe and .msi, the files should have a digital signature, chrome (when downloading) and os (when installing) should not complain.

Description

Checklist

Motivation and Context

  • Bugfix
  • New feature
  • Dependency update
  • Misc

Open Questions

Dependents

Types of changes

  • Backport Needed
  • Patch (non-breaking change which fixes an issue)
  • Minor (non-breaking change which adds functionality)
  • Major (fix or feature that would cause existing functionality to change)

Copy link
Contributor

@himanshusinghs himanshusinghs left a comment

Choose a reason for hiding this comment

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

Amazing work 🚀

.evergreen/functions.yml Outdated Show resolved Hide resolved
.evergreen/functions.yml Show resolved Hide resolved
@mabaasit mabaasit changed the title chore(garasign): sign all artifacts chore(garasign): sign all artifacts COMPASS-7549 Jan 17, 2024
@mabaasit mabaasit changed the title chore(garasign): sign all artifacts COMPASS-7549 chore(build): sign all artifacts COMPASS-7549 Jan 17, 2024
Copy link
Collaborator

@mcasimir mcasimir left a comment

Choose a reason for hiding this comment

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

Looks great! I left 2 comments that may be worth looking at if you have some time, totally good for a followup since this one is green and we could merge.

packages/hadron-build/lib/signtool.js Outdated Show resolved Hide resolved
* @returns {Promise<void>}
*/
async function sign(src, garasign = _garasign) {
const variant = process.env.EVERGREEN_BUILD_VARIANT;
Copy link
Collaborator

@mcasimir mcasimir Jan 18, 2024

Choose a reason for hiding this comment

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

We have similar branching based on build variants in mongosh, and personally i find it hard to digest and maintain, it creates obscure dependencies between the CI and the code that may not be immediately clear, and relies on assumptions about the variants that may not stand true over time.

Could we do something different / more intentional to detect where to use ssh and where to use docker? For example, we could directly set this as a variable / expansion in CI: https://docs.devprod.prod.corp.mongodb.com/evergreen/Project-Configuration/Project-Configuration-Files#build-variants

name: ubuntu
expansions:
    garasign_client_type: "remote"

Also, as a more radical thought, since it seems that we have docker only on ubuntu, is there a downside to always sign with SSH?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ended up using remote signing client across. this makes our CI cleaner and similar across all build variants

@mabaasit mabaasit merged commit 688cc02 into main Jan 18, 2024
14 of 15 checks passed
@mabaasit mabaasit deleted the sign-all-artifacts branch January 18, 2024 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants