Merge pull request #1437 from pulumi/ellismg/public-build

Support local build and test runs without AWS credentials
This commit is contained in:
Matt Ellis 2018-06-04 15:22:17 -07:00 committed by GitHub
commit a38b647652
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 29 deletions

View file

@ -20,13 +20,6 @@
WorkingDirectory="$(NodeJSSdkDirectory)" />
</Target>
<Target Name="EnsurePrebuilt">
<MakeDir Directories="$(NodeJSSdkDirectory)\prebuilt" />
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/nativeruntime.node &quot;$(NodeJSSdkDirectory)\prebuilt\nativeruntime.node&quot;" />
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/nativeruntime-v0.11.0.node &quot;$(NodeJSSdkDirectory)\prebuilt\nativeruntime-v0.11.0.node&quot;" />
<Exec Command="aws s3 cp s3://eng.pulumi.com/nativeruntime/windows/pulumi-language-nodejs-node.exe &quot;$(NodeJSSdkDirectory)\prebuilt\pulumi-language-nodejs-node.exe&quot;" />
</Target>
<Target Name="TypeScriptCompileNodeSdk">
<Exec Command="&quot;$(MSBuildThisFileDirectory)\scripts\get-version.cmd&quot;" ConsoleToMSBuild="true" Condition="'$(Version)' == ''">
<Output TaskParameter="ConsoleOutput" PropertyName="Version" />
@ -76,11 +69,6 @@
<Target Name="BinPlaceNodeSdk"
DependsOnTargets="BinPlaceNodeSdkProtos;BinPlaceNodeSdkTestData;YarnLinkSdk">
<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 Name="BuildNodeSdk"
@ -101,7 +89,7 @@
</Target>
<Target Name="Build"
DependsOnTargets="EnsureGoDependencies;EnsureNodeDependencies;EnsurePrebuilt;BuildNodeSdk;BuildGoCmds">
DependsOnTargets="EnsureGoDependencies;EnsureNodeDependencies;BuildNodeSdk;BuildGoCmds">
</Target>
<Target Name="IntegrationTest">

View file

@ -92,10 +92,7 @@ func TestExamples(t *testing.T) {
}
for _, example := range examples {
ex := example.With(integration.ProgramTestOptions{
ReportStats: integration.NewS3Reporter("us-west-2", "eng.pulumi.com", "testreports"),
Tracing: "https://tracing.pulumi-engineering.com/collector/api/v1/spans",
})
ex := example
t.Run(example.Dir, func(t *testing.T) {
integration.ProgramTest(t, &ex)
})

View file

@ -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)
err := pt.testLifeCycleInitAndDestroy()
assert.NoError(t, err)

View file

@ -34,12 +34,6 @@ CopyPackage "$Root\sdk\nodejs\bin" "pulumi"
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
# archive if it exists.
if (Test-Path $PublishFile) {

View file

@ -15,11 +15,6 @@ include ../../build/common.mk
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::
$(GOMETALINTER) cmd/pulumi-language-nodejs/main.go | sort ; exit "$${PIPESTATUS[0]}"
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}
cp dist/pulumi-resource-pulumi-nodejs "$(PULUMI_BIN)"
mkdir -p "$(PULUMI_BIN)/v6.10.2"
cp ./prebuilt/*.node "$(PULUMI_BIN)/v6.10.2/"
rm -rf "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)/tests"
test_fast::