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

Add windows signing for native provider releases #1318

Merged
merged 6 commits into from
Jan 27, 2025

Conversation

rquitales
Copy link
Member

@rquitales rquitales commented Jan 25, 2025

This PR enables Windows singing for native provider releases made with GoReleaser. These changes require the make sign-goreleaser-exe target to exist. This is done in the individual provider repos as the Makefiles are not managed centrally by ci-mgmt.

For testing purposes, these changes are also copied to their respective native provider repos with a prerelease tag cut to validate that the binaries are signed.

Confirmed native providers with signed prerelease windows builds:

@rquitales rquitales force-pushed the rquitales/add-windows-signing-make-target branch 2 times, most recently from 0ed5155 to eb7a8bf Compare January 25, 2025 07:39
goarch: ["amd64", "arm64"],
ignore: ignores,
main: `./cmd/pulumi-resource-${opts.provider}/`,
ldflags: ldflags,
binary: `pulumi-resource-${opts.provider}`,
},
{
Copy link
Member Author

Choose a reason for hiding this comment

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

Building for Windows needs to be separated out to allow calling for a post build hook.

Copy link
Member

@danielrbradley danielrbradley left a comment

Choose a reason for hiding this comment

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

It's quite confusing that this is named goreleaser - we don't use goreleaser anywhere any more. Edit: oh do we still goreleaser but only for native CI?

It's also a bit unfortunate that we're exposing another custom make target that gets called in a specific way. Can we not make this more transparent and just a configuration option when calling the normal build targets?

@danielrbradley
Copy link
Member

In fact, can we just copy the approach taken already in all bridged providers and also avoid drift in the approaches?

Copy link
Member

@t0yv0 t0yv0 left a comment

Choose a reason for hiding this comment

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

I'm OK with that if tested e2e. IF we're planning to rip out goreleaser sounds like we forgot to scope that in? So deal with it in another unit of work?

rquitales added a commit to pulumi/pulumi-kubernetes that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
rquitales added a commit to pulumi/pulumi-docker-build that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
@rquitales rquitales enabled auto-merge January 27, 2025 21:50
@rquitales rquitales added this pull request to the merge queue Jan 27, 2025
@rquitales rquitales removed this pull request from the merge queue due to a manual request Jan 27, 2025
rquitales added a commit to pulumi/pulumi-command that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
rquitales added a commit to pulumi/pulumi-kubernetes-cert-manager that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
rquitales added a commit to pulumi/pulumi-google-native that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
rquitales added a commit to pulumi/pulumi-aws-native that referenced this pull request Jan 27, 2025
### Proposed changes

This PR adds a new Makefile target `make sign-goreleaser-exe` target to
sign all built GoReleaser windows binaries. This PR contains 2 changes:

- Makefile target
- Copied ci-mgmt workflow files for validation purposes (generated from:
pulumi/ci-mgmt#1318)

Please see the linked ci-mgmt issue for status of GitHub actions
workflows to validate that the binaries are signed.
@rquitales rquitales added this pull request to the merge queue Jan 27, 2025
Merged via the queue into master with commit ab57840 Jan 27, 2025
11 checks passed
@rquitales rquitales deleted the rquitales/add-windows-signing-make-target branch January 27, 2025 23:41
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