feat: pulumi version bump, minor fixes
All checks were successful
ZeroDownTime/CloudBender/pipeline/tag This commit looks good
ZeroDownTime/CloudBender/pipeline/head This commit looks good

This commit is contained in:
Stefan Reimer 2024-09-11 01:11:12 +00:00
parent b774297ddb
commit 4768de1984
4 changed files with 11 additions and 6 deletions

View File

@ -1,5 +1,5 @@
ARG RUNTIME_VERSION="3.11" ARG RUNTIME_VERSION="3.11"
ARG DISTRO_VERSION="3.19" ARG DISTRO_VERSION="3.20"
FROM python:${RUNTIME_VERSION}-alpine${DISTRO_VERSION} AS builder FROM python:${RUNTIME_VERSION}-alpine${DISTRO_VERSION} AS builder
ARG RUNTIME_VERSION="3.11" ARG RUNTIME_VERSION="3.11"

View File

@ -57,6 +57,8 @@ def pulumi_ws(func):
self.work_dir = tempfile.mkdtemp( self.work_dir = tempfile.mkdtemp(
dir=tempfile.gettempdir(), prefix="cloudbender-" dir=tempfile.gettempdir(), prefix="cloudbender-"
) )
cwd = os.getcwd()
os.chdir(self.work_dir)
# add all artifact_paths/pulumi to the search path for easier # add all artifact_paths/pulumi to the search path for easier
# imports in the pulumi code # imports in the pulumi code
@ -146,7 +148,8 @@ def pulumi_ws(func):
try: try:
_min_version = self._pulumi_code.MIN_CLOUDBENDER_VERSION _min_version = self._pulumi_code.MIN_CLOUDBENDER_VERSION
if semver.compare( if semver.compare(
semver.Version.parse(__version__.strip("v")).finalize_version(), semver.Version.parse(
__version__.strip("v")).finalize_version(),
_min_version.strip("v")) < 0: _min_version.strip("v")) < 0:
raise ValueError( raise ValueError(
f"Minimal required CloudBender version is {_min_version}, but we are {__version__}!" f"Minimal required CloudBender version is {_min_version}, but we are {__version__}!"
@ -189,7 +192,7 @@ def pulumi_ws(func):
) )
project_settings = pulumi.automation.ProjectSettings( project_settings = pulumi.automation.ProjectSettings(
name=project_name, runtime="python", backend={"url": pulumi_backend} name=project_name, runtime="python", backend=pulumi.automation.ProjectBackend(url=pulumi_backend)
) )
self.pulumi_ws_opts = pulumi.automation.LocalWorkspaceOptions( self.pulumi_ws_opts = pulumi.automation.LocalWorkspaceOptions(
@ -202,6 +205,9 @@ def pulumi_ws(func):
response = func(self, *args, **kwargs) response = func(self, *args, **kwargs)
# Cleanup temp workspace # Cleanup temp workspace
if cwd:
os.chdir(cwd)
if self.work_dir and os.path.exists(self.work_dir): if self.work_dir and os.path.exists(self.work_dir):
shutil.rmtree(self.work_dir) shutil.rmtree(self.work_dir)

View File

@ -535,7 +535,6 @@ class Stack(object):
logger.info("Passed.") logger.info("Passed.")
return 0 return 0
@pulumi_ws
def get_outputs(self, include=".*", values=False): def get_outputs(self, include=".*", values=False):
"""gets outputs of the stack""" """gets outputs of the stack"""
@ -852,6 +851,7 @@ class Stack(object):
return status return status
@pulumi_ws
@exec_hooks @exec_hooks
def update(self): def update(self):
"""Updates an existing stack""" """Updates an existing stack"""
@ -1305,7 +1305,6 @@ class Stack(object):
logger.info(" ".join([self.region, self.stackname, text])) logger.info(" ".join([self.region, self.stackname, text]))
def _get_pulumi_stack(self, create=False): def _get_pulumi_stack(self, create=False):
if create: if create:
pulumi_stack = pulumi.automation.create_or_select_stack( pulumi_stack = pulumi.automation.create_or_select_stack(
stack_name=self.pulumi_stackname, stack_name=self.pulumi_stackname,

View File

@ -11,7 +11,7 @@ authors = [
description = "Deploy and maintain infrastructure in automated and trackable manner" description = "Deploy and maintain infrastructure in automated and trackable manner"
readme = "README.md" readme = "README.md"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
requires-python = ">=3.9" requires-python = ">=3.11"
dependencies = [ dependencies = [
"boto3==1.35.15", "boto3==1.35.15",
"mock==5.1.0", "mock==5.1.0",