From 43ab048681011abed1ca287ce2d1d263bb181db6 Mon Sep 17 00:00:00 2001 From: Fraser Waters <frassle@gmail.com> Date: Mon, 9 Nov 2020 14:45:41 +0000 Subject: [PATCH] testing/pulumi: new aport https://github.com/pulumi/pulumi Pulumi's Infrastructure as Code SDK --- testing/pulumi/10-install1.patch | 69 ++++++++++++++++++++++++++++++++ testing/pulumi/APKBUILD | 41 +++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 testing/pulumi/10-install1.patch create mode 100644 testing/pulumi/APKBUILD diff --git a/testing/pulumi/10-install1.patch b/testing/pulumi/10-install1.patch new file mode 100644 index 000000000000..51d01518ef67 --- /dev/null +++ b/testing/pulumi/10-install1.patch @@ -0,0 +1,69 @@ +Workaround some issues with the pulumi build pipeline. +Currently the build system assumes your in a git repo to get the version, and +doesn't quite provide a way to build just the native components we need to +apk package. + +diff --git a/Makefile b/Makefile +index 0b81a9de2..26a2f8e8a 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,7 +5,10 @@ include build/common.mk + PROJECT := github.com/pulumi/pulumi/pkg/v2/cmd/pulumi + PROJECT_PKGS := $(shell cd ./pkg && go list ./... | grep -v /vendor/) + TESTS_PKGS := $(shell cd ./tests && go list ./... | grep -v tests/templates | grep -v /vendor/) +-VERSION := $(shell scripts/get-version HEAD) ++# Allow version to be set manually when building outside of git repo ++ifeq ($(VERSION),) ++ VERSION := $(shell scripts/get-version HEAD) ++endif + + TESTPARALLELISM := 10 + +@@ -53,6 +56,8 @@ install:: generate + + install_all:: install + ++install_plugin_all:: install ++ + dist:: build + cd pkg && go install -ldflags "-X github.com/pulumi/pulumi/pkg/v2/version.Version=${VERSION}" ${PROJECT} + +diff --git a/build/common.mk b/build/common.mk +index 20690ac23..c49c5fbd3 100644 +--- a/build/common.mk ++++ b/build/common.mk +@@ -128,6 +128,7 @@ only_test_fast:: $(SUB_PROJECTS:%=%_only_test_fast) + default:: $(SUB_PROJECTS:%=%_default) + all:: $(SUB_PROJECTS:%=%_all) + install_all:: $(SUB_PROJECTS:%=%_install_all) ++install_plugin_all:: $(SUB_PROJECTS:%=%_install_plugin_all) + test_all:: $(SUB_PROJECTS:%=%_test_all) + ensure:: $(SUB_PROJECTS:%=%_ensure) + dist:: $(SUB_PROJECTS:%=%_dist) +@@ -212,6 +213,8 @@ $(SUB_PROJECTS:%=%_build): + @$(MAKE) -C ./$(@:%_build=%) build + $(SUB_PROJECTS:%=%_install_all): + @$(MAKE) -C ./$(@:%_install_all=%) install ++$(SUB_PROJECTS:%=%_install_plugin_all): ++ @$(MAKE) -C ./$(@:%_install_plugin_all=%) install_plugin + $(SUB_PROJECTS:%=%_lint): + @$(MAKE) -C ./$(@:%_lint=%) lint + $(SUB_PROJECTS:%=%_test_fast): +diff --git a/sdk/nodejs/Makefile b/sdk/nodejs/Makefile +index 3c5769223..04d92bcfb 100644 +--- a/sdk/nodejs/Makefile ++++ b/sdk/nodejs/Makefile +@@ -32,11 +32,11 @@ build_plugin:: + + build:: build_package build_plugin + +-install_package:: build ++install_package:: build_package + cp dist/pulumi-resource-pulumi-nodejs "$(PULUMI_BIN)" + cp dist/pulumi-analyzer-policy "$(PULUMI_BIN)" + +-install_plugin:: build ++install_plugin:: build_plugin + GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/sdk/v2/go/common/version.Version=${VERSION}" ${LANGUAGE_HOST} + + install:: install_package install_plugin diff --git a/testing/pulumi/APKBUILD b/testing/pulumi/APKBUILD new file mode 100644 index 000000000000..16d296ea1ee3 --- /dev/null +++ b/testing/pulumi/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Fraser Waters <frassle@gmail.com> +# Maintainer: Fraser Waters <frassle@gmail.com> +pkgname=pulumi +pkgver=2.15.6 +pkgrel=0 +pkgdesc="Pulumi's Infrastructure as Code SDK" +url="https://github.com/pulumi/pulumi" +# x86_64 is the only supported architecture by pulumi +arch="x86_64" +license="Apache-2.0" +depends="ca-certificates" +makedepends="go bash" +source="$pkgname-$pkgver.tar.gz::https://github.com/pulumi/pulumi/archive/v$pkgver.tar.gz + 10-install1.patch + " +builddir="$srcdir/github.com/pulumi/$pkgname" + +prepare() { + mkdir -p ${builddir%/*} + mv $srcdir/$pkgname-$pkgver "$builddir"/ + mkdir -p "$srcdir"/opt + default_prepare +} + +build() { + export GOFLAGS="$GOFLAGS -modcacherw" + VERSION="v$pkgver" PULUMI_ROOT="$srcdir"/opt GOPATH="$srcdir" make install_plugin_all +} + +check() { + # It would be good to at least run the fast tests but this hits OOM on the alpine pipelines + # PULUMI_ROOT="$srcdir"/opt GOPATH="$srcdir" make test_fast + [ "$("$srcdir"/opt/bin/"$pkgname" version)" == "v$pkgver" ] +} + +package() { + install -Dm755 -t "$pkgdir"/usr/bin "$srcdir"/opt/bin/* +} + +sha512sums="23d574935d6021623d772e6da80a4d14c938aa11ea69f8d706e123eb1075e070c04be3075fecd2ca1804af66600c7fd2cd8b555988dcc90039fbbfd1d22f50b5 pulumi-2.15.6.tar.gz +56bfc1908b8728f241cae804fdb010910db763ddfbb39417e7173654d522d3dadcc063176172e894f23fc6306f31e521c65a83ca567d384f2cdeefffd071db40 10-install1.patch" -- GitLab