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

ci-mgmt onboarding #446

Merged
merged 32 commits into from
Dec 6, 2024
Merged

ci-mgmt onboarding #446

merged 32 commits into from
Dec 6, 2024

Conversation

blampe
Copy link
Contributor

@blampe blampe commented Nov 18, 2024

This onboards the provider to new workflows consistent with pulumi/ci-mgmt#1140. This doesn't change anything with regard to the release process, but it does bring the provider up-to-speed with current best practices and it will make it easier to automatically manage with ci-mgmt in the future.

Notable changes:

  • Java publishing
  • Embedding versioning (respectSchemaVersion)
  • Sharded tests
  • Goreleaser replaced by pulumi/pulumi-package-publisher

@blampe blampe added the impact/no-changelog-required This issue doesn't require a CHANGELOG update label Nov 18, 2024
Copy link

Does the PR have any schema changes?

Looking good! No breaking changes found.
No new resources/functions.

Maintainer note: consult the runbook for dealing with any breaking changes.

@blampe blampe requested a review from IaroslavTitov December 5, 2024 20:43
Copy link
Contributor

@IaroslavTitov IaroslavTitov left a comment

Choose a reason for hiding this comment

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

Left some questions, mostly curiosity

install_plugins: .pulumi/bin/pulumi

bin/linux-amd64/$(PROVIDER): TARGET := linux-amd64
bin/linux-arm64/$(PROVIDER): TARGET := linux-arm64
Copy link
Contributor

Choose a reason for hiding this comment

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

These 2 lines are exactly the same - is there supposed to be a different configuration here? Same with darwin, and lines below as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

They are for ARM and x86 targets. Eventually with pulumi/ci-mgmt#1131 you shouldn't need to see or care about this.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oooh, I'm just blind, didn't spot the 2 letter difference

@@ -1,4 +1,5 @@
//go:build dotnet || all
// +build dotnet all
Copy link
Contributor

Choose a reason for hiding this comment

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

What do these comments do? I didn't even realize they were there

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These +build tags are equivalent to the go:build ones and are just added for compatibility I guess.

@@ -9,6 +9,7 @@
<PackageProjectUrl>https://pulumi.com</PackageProjectUrl>
<RepositoryUrl>https://github.com/pulumi/pulumi-pulumiservice</RepositoryUrl>
<PackageIcon>logo.png</PackageIcon>
<Version>1.0.0-alpha.0+dev</Version>
Copy link
Contributor

Choose a reason for hiding this comment

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

Will this version be correct in an actual release? This commited version will only be used for local testing? I see it in other SDK, so guessing it's fine, just want to make sure

Copy link
Contributor Author

Choose a reason for hiding this comment

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

During release PROVIDER_VERSION will be set. We just need a placeholder for when that's not set.

@@ -0,0 +1,20 @@
name: Upload SDK asset
Copy link
Contributor

Choose a reason for hiding this comment

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

Are all the .yml action/workflow files standardized? Any of them written specifically for PSP (beyond changing PROVIDER: pulumiservice)? I see that some are auto-generated, but a lot are not, so just curious as to what's generic and what's specialized

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Nothing manually, these are all generated.

If you do need some manual workflows, those files should be prefixed with pulumiservice- so they don't get overwritten.

total:
- 6
index:
- 0
Copy link
Contributor

Choose a reason for hiding this comment

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

This sharding of tests is awesome! Is it possible to NOT run them in parallel within a shard though? As far as I understood, that's why the logs are jumbled up like in example below. I guess it would be losing speed, but debugging any failures would be easier.

=== NAME  TestGoTeamsExample
    command.go:121: Command completed without output
    command.go:46: **** Invoke '/opt/hostedtoolcache/pulumi/3.142.1-alpha.xbe2d2a5/x64/pulumi stack import --file stack.json' in '/home/runner/go/src/stackName-1733429656837535781-118258'
=== NAME  TestYamlSchedulesExample
    command.go:118: Wrote output to /tmp/test-stack-22792-510911093/command-output/pulumi-stack-rm.20241205-201450.c9ae5.log

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We're actually in the process of removing gotestfmt because it doesn't handle parallel output correctly pulumi/ci-mgmt#1069

Instead of worrying about this CI output we're trying to move in a direction where it's significantly easier to reproduce CI failures locally.

@blampe blampe merged commit f3a1b8a into main Dec 6, 2024
23 checks passed
@blampe blampe deleted the blampe/ci-mgmt branch December 6, 2024 16:16
Copy link

codecov bot commented Dec 6, 2024

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@pulumi-bot
Copy link

This PR has been shipped in release v0.27.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact/no-changelog-required This issue doesn't require a CHANGELOG update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants