Merge pull request #1437 from pulumi/ellismg/public-build
Support local build and test runs without AWS credentials
This commit is contained in:
commit
a38b647652
14
build.proj
14
build.proj
|
@ -20,13 +20,6 @@
|
||||||
WorkingDirectory="$(NodeJSSdkDirectory)" />
|
WorkingDirectory="$(NodeJSSdkDirectory)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="EnsurePrebuilt">
|
|
||||||
<MakeDir Directories="$(NodeJSSdkDirectory)\prebuilt" />
|
|
||||||
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/nativeruntime.node "$(NodeJSSdkDirectory)\prebuilt\nativeruntime.node"" />
|
|
||||||
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/nativeruntime-v0.11.0.node "$(NodeJSSdkDirectory)\prebuilt\nativeruntime-v0.11.0.node"" />
|
|
||||||
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/pulumi-language-nodejs-node.exe "$(NodeJSSdkDirectory)\prebuilt\pulumi-language-nodejs-node.exe"" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="TypeScriptCompileNodeSdk">
|
<Target Name="TypeScriptCompileNodeSdk">
|
||||||
<Exec Command=""$(MSBuildThisFileDirectory)\scripts\get-version.cmd"" ConsoleToMSBuild="true" Condition="'$(Version)' == ''">
|
<Exec Command=""$(MSBuildThisFileDirectory)\scripts\get-version.cmd"" ConsoleToMSBuild="true" Condition="'$(Version)' == ''">
|
||||||
<Output TaskParameter="ConsoleOutput" PropertyName="Version" />
|
<Output TaskParameter="ConsoleOutput" PropertyName="Version" />
|
||||||
|
@ -76,11 +69,6 @@
|
||||||
<Target Name="BinPlaceNodeSdk"
|
<Target Name="BinPlaceNodeSdk"
|
||||||
DependsOnTargets="BinPlaceNodeSdkProtos;BinPlaceNodeSdkTestData;YarnLinkSdk">
|
DependsOnTargets="BinPlaceNodeSdkProtos;BinPlaceNodeSdkTestData;YarnLinkSdk">
|
||||||
<Copy SourceFiles="$(NodeJSSdkDirectory)\dist\pulumi-resource-pulumi-nodejs.cmd" DestinationFolder="$(PulumiBin)" />
|
<Copy SourceFiles="$(NodeJSSdkDirectory)\dist\pulumi-resource-pulumi-nodejs.cmd" DestinationFolder="$(PulumiBin)" />
|
||||||
<MakeDir Directories="$(PulumiBin)\v6.10.2" />
|
|
||||||
<MakeDir Directories="$(PulumiBin)\custom_node" />
|
|
||||||
<Copy SourceFiles="$(NodeJSSdkDirectory)\prebuilt\nativeruntime.node" DestinationFolder="$(PulumiBin)\v6.10.2" />
|
|
||||||
<Copy SourceFiles="$(NodeJSSdkDirectory)\prebuilt\nativeruntime-v0.11.0.node" DestinationFolder="$(PulumiBin)\v6.10.2" />
|
|
||||||
<Copy SourceFiles="$(NodeJSSdkDirectory)\prebuilt\pulumi-language-nodejs-node.exe" DestinationFiles="$(PulumiBin)\custom_node\node.exe" />
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="BuildNodeSdk"
|
<Target Name="BuildNodeSdk"
|
||||||
|
@ -101,7 +89,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="Build"
|
<Target Name="Build"
|
||||||
DependsOnTargets="EnsureGoDependencies;EnsureNodeDependencies;EnsurePrebuilt;BuildNodeSdk;BuildGoCmds">
|
DependsOnTargets="EnsureGoDependencies;EnsureNodeDependencies;BuildNodeSdk;BuildGoCmds">
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="IntegrationTest">
|
<Target Name="IntegrationTest">
|
||||||
|
|
|
@ -92,10 +92,7 @@ func TestExamples(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, example := range examples {
|
for _, example := range examples {
|
||||||
ex := example.With(integration.ProgramTestOptions{
|
ex := example
|
||||||
ReportStats: integration.NewS3Reporter("us-west-2", "eng.pulumi.com", "testreports"),
|
|
||||||
Tracing: "https://tracing.pulumi-engineering.com/collector/api/v1/spans",
|
|
||||||
})
|
|
||||||
t.Run(example.Dir, func(t *testing.T) {
|
t.Run(example.Dir, func(t *testing.T) {
|
||||||
integration.ProgramTest(t, &ex)
|
integration.ProgramTest(t, &ex)
|
||||||
})
|
})
|
||||||
|
|
|
@ -328,6 +328,23 @@ func ProgramTest(t *testing.T, opts *ProgramTestOptions) {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
// Set up some default values for sending test reports and tracing data. We use environment varaiables to
|
||||||
|
// control these globally and set reasonable values for our own use in CI.
|
||||||
|
if opts.ReportStats == nil {
|
||||||
|
if v := os.Getenv("PULUMI_TEST_REPORT_CONFIG"); v != "" {
|
||||||
|
splits := strings.Split(v, ":")
|
||||||
|
if len(splits) != 3 {
|
||||||
|
t.Errorf("report config should be set to a value of the form: <aws-region>:<bucket-name>:<keyPrefix>")
|
||||||
|
}
|
||||||
|
|
||||||
|
opts.ReportStats = NewS3Reporter(splits[0], splits[1], splits[2])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if opts.Tracing == "" {
|
||||||
|
opts.Tracing = os.Getenv("PULUMI_TEST_TRACE_ENDPOINT")
|
||||||
|
}
|
||||||
|
|
||||||
pt := newProgramTester(t, opts)
|
pt := newProgramTester(t, opts)
|
||||||
err := pt.testLifeCycleInitAndDestroy()
|
err := pt.testLifeCycleInitAndDestroy()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
|
@ -34,12 +34,6 @@ CopyPackage "$Root\sdk\nodejs\bin" "pulumi"
|
||||||
|
|
||||||
Copy-Item "$Root\sdk\nodejs\dist\pulumi-resource-pulumi-nodejs.cmd" "$PublishDir\bin"
|
Copy-Item "$Root\sdk\nodejs\dist\pulumi-resource-pulumi-nodejs.cmd" "$PublishDir\bin"
|
||||||
|
|
||||||
New-Item -ItemType Directory -Path "$PublishDir\bin\v6.10.2" | Out-Null
|
|
||||||
New-Item -ItemType Directory -Path "$PublishDir\bin\custom_node" | Out-Null
|
|
||||||
Copy-Item "$Root\sdk\nodejs\prebuilt\nativeruntime.node" "$PublishDir\bin\v6.10.2"
|
|
||||||
Copy-Item "$Root\sdk\nodejs\prebuilt\nativeruntime-v0.11.0.node" "$PublishDir\bin\v6.10.2"
|
|
||||||
Copy-Item "$Root\sdk\nodejs\prebuilt\pulumi-language-nodejs-node.exe" "$PublishDir\bin\custom_node\node.exe"
|
|
||||||
|
|
||||||
# By default, if the archive already exists, 7zip will just add files to it, so blow away the existing
|
# By default, if the archive already exists, 7zip will just add files to it, so blow away the existing
|
||||||
# archive if it exists.
|
# archive if it exists.
|
||||||
if (Test-Path $PublishFile) {
|
if (Test-Path $PublishFile) {
|
||||||
|
|
|
@ -15,11 +15,6 @@ include ../../build/common.mk
|
||||||
|
|
||||||
export PATH:=$(shell yarn bin 2>/dev/null):$(PATH)
|
export PATH:=$(shell yarn bin 2>/dev/null):$(PATH)
|
||||||
|
|
||||||
ensure::
|
|
||||||
[ -d "./prebuilt/" ] || mkdir "./prebuilt"
|
|
||||||
[ -e "./prebuilt/nativeruntime.node" ] || aws s3 cp "s3://eng.pulumi.com/nativeruntime/$$(go env GOOS)/nativeruntime.node" "./prebuilt/"
|
|
||||||
[ -e "./prebuilt/nativeruntime-v0.11.0.node" ] || aws s3 cp "s3://eng.pulumi.com/nativeruntime/$$(go env GOOS)/nativeruntime-v0.11.0.node" "./prebuilt/"
|
|
||||||
|
|
||||||
lint::
|
lint::
|
||||||
$(GOMETALINTER) cmd/pulumi-language-nodejs/main.go | sort ; exit "$${PIPESTATUS[0]}"
|
$(GOMETALINTER) cmd/pulumi-language-nodejs/main.go | sort ; exit "$${PIPESTATUS[0]}"
|
||||||
tslint -c tslint.json -p tsconfig.json
|
tslint -c tslint.json -p tsconfig.json
|
||||||
|
@ -39,7 +34,6 @@ install::
|
||||||
GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/pkg/version.Version=${VERSION}" ${LANGUAGE_HOST}
|
GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/pkg/version.Version=${VERSION}" ${LANGUAGE_HOST}
|
||||||
cp dist/pulumi-resource-pulumi-nodejs "$(PULUMI_BIN)"
|
cp dist/pulumi-resource-pulumi-nodejs "$(PULUMI_BIN)"
|
||||||
mkdir -p "$(PULUMI_BIN)/v6.10.2"
|
mkdir -p "$(PULUMI_BIN)/v6.10.2"
|
||||||
cp ./prebuilt/*.node "$(PULUMI_BIN)/v6.10.2/"
|
|
||||||
rm -rf "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)/tests"
|
rm -rf "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)/tests"
|
||||||
|
|
||||||
test_fast::
|
test_fast::
|
||||||
|
|
Loading…
Reference in a new issue