diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 34deeb1afb9..f12e23a04f4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -84,7 +84,7 @@ jobs: - name: Build and unit-test Pulumi Java SDK uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629 with: - arguments: build testAll + arguments: build testAll --info build-root-directory: sdk/java - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 00000000000..4de3c1caf46 --- /dev/null +++ b/.mise.toml @@ -0,0 +1,5 @@ +[tools] +go = "latest" +gradle = "8.8" +java = "22" +maven = "3.8.4" diff --git a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java index 82934b375d7..99d057db894 100644 --- a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java +++ b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java @@ -143,14 +143,16 @@ void testCreateSelectRemoveStack(@EnvVars Map envVars) throws Ex var env = new HashMap(envVars); env.put("PULUMI_CONFIG_PASSPHRASE", "test"); + var projectName = "create_select_remove_stack_test"; + try (var workspace = LocalWorkspace.create(LocalWorkspaceOptions.builder() .projectSettings(ProjectSettings.builder( - "create_select_remove_stack_test", + projectName, ProjectRuntimeName.NODEJS).build()) .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); Predicate isStack = s -> s.name().equals(stackName); @@ -192,7 +194,7 @@ void testImportExportStack(@EnvVars Map envVars) throws Exceptio .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), "testproj", randomStackName()); try { var stack = WorkspaceStack.create(stackName, workspace); @@ -238,7 +240,7 @@ public void testManipulateConfig(@EnvVars Map envVars) throws Ex .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); var plainKey = normalizeConfigKey("plain", projectName); @@ -302,7 +304,7 @@ public void testManipulateConfigPath(@EnvVars Map envVars) throw .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); try { @@ -407,7 +409,7 @@ public void testSupportConfigFlagLike(@EnvVars Map envVars) thro .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); var plainKey = normalizeConfigKey("key", projectName); @@ -447,7 +449,7 @@ public void testListStackAndCurrentlySelected(@EnvVars Map envVa var stackNames = new ArrayList(); try { for (var i = 0; i < 2; i++) { - var stackName = "int_test" + getTestSuffix(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, "int_test" + getTestSuffix()); WorkspaceStack.create(stackName, workspace); stackNames.add(stackName); var summary = workspace.getStack(); @@ -478,7 +480,7 @@ public void testCheckStackStatus(@EnvVars Map envVars) throws Ex .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); try { var history = stack.getHistory(); @@ -505,8 +507,8 @@ void testStackLifecycleInlineProgram(@EnvVars Map envVars) { ctx.export("exp_secret", config.getSecret("buzz")); }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -561,8 +563,8 @@ void testInlineProgramDoesNotEmitWarning(@EnvVars Map envVars) { Consumer program = ctx -> { }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -619,7 +621,7 @@ void testStackLifecycleLocalProgram(@EnvVars Map envVars) { var env = new HashMap(envVars); env.put("PULUMI_CONFIG_PASSPHRASE", "test"); - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), "testproj", randomStackName()); Path workingDir = Paths.get(getClass().getResource("/testproj").toURI()); try (var stack = LocalWorkspace.createStack(stackName, workingDir, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { @@ -695,8 +697,8 @@ void testSupportsStackOutputs(@EnvVars Map envVars) { assertThat(expSecretValue.isSecret()).isTrue(); }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -741,8 +743,8 @@ void testOutputStreamAndDelegateIsWritten(@EnvVars Map envVars) ctx.export("test", "test"); }; - var stackName = randomStackName(); var projectName = "inline_output"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -796,8 +798,8 @@ void testDetectsProjectSettingsConflict(@EnvVars Map envVars) th Consumer program = ctx -> { }; - var stackName = randomStackName(); var projectName = "project_was_overwritten"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); Path workDir = Paths.get(getClass().getResource("/correct_project").toURI()); @@ -824,8 +826,8 @@ void testStateDelete(@EnvVars Map envVars) throws Exception { new ComponentResource(type, "a"); }; - var stackName = randomStackName(); var projectName = "test_state_delete"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder() .environmentVariables(env) @@ -883,8 +885,8 @@ void testStateDeleteForce(@EnvVars Map envVars) throws Exception .build()); }; - var stackName = randomStackName(); var projectName = "test_state_delete_force"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder() .environmentVariables(env) @@ -933,4 +935,18 @@ void testStateDeleteForce(@EnvVars Map envVars) throws Exception } } } + + static String fullyQualifiedStackName(String org, String project, String stack) { + return String.format("%s/%s/%s", org, project, stack); + } + + static String getTestOrg() { + if (System.getenv("PULUMI_ACCESS_TOKEN") != null) { + if (System.getenv("PULUMI_TEST_ORG") != null) { + return System.getenv("PULUMI_TEST_ORG"); + } + return "organization"; + } + return "pulumi-test"; + } }