Compare commits
22 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 12af08029b | |||
| 14a322ab24 | |||
|
ba3e773d1e
|
|||
|
c6c4919509
|
|||
|
a136ee93a3
|
|||
|
720b2399ff
|
|||
| a138f3dbfa | |||
| f6b632eda6 | |||
| 144486306c | |||
|
cb4af76fa0
|
|||
|
1c10c380e1
|
|||
| e51cca16c3 | |||
| 8db13413e7 | |||
| 1333cc401c | |||
|
25eaabb8d0
|
|||
|
e339e83e5e
|
|||
|
de11400ba4
|
|||
|
01db79b971
|
|||
|
01d21108fc
|
|||
| 5dbf69e7d2 | |||
| 8833455709 | |||
| 5ca554f039 |
@@ -1,3 +1,3 @@
|
||||
PROJECT = "isv:SUSE:Edge:Factory"
|
||||
PROJECT = "isv:SUSE:Edge:3.5"
|
||||
REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
|
||||
BRANCH = "main"
|
||||
BRANCH = "3.5"
|
||||
|
||||
@@ -6,7 +6,6 @@ import sys
|
||||
|
||||
from collections import Counter
|
||||
|
||||
|
||||
def get_buildstatus(project: str) -> ET.Element:
|
||||
for _ in range(5):
|
||||
try:
|
||||
@@ -18,17 +17,8 @@ def get_buildstatus(project: str) -> ET.Element:
|
||||
continue
|
||||
print("Failed to get buildstatus from OBS")
|
||||
|
||||
|
||||
def do_wait(project: str, commit: str) -> ET.Element:
|
||||
def do_wait(project:str, commit:str) -> ET.Element:
|
||||
last_state = None
|
||||
waiting_states = (
|
||||
"blocked",
|
||||
"scheduled",
|
||||
"dispatching",
|
||||
"building",
|
||||
"signing",
|
||||
"finished",
|
||||
)
|
||||
while True:
|
||||
time.sleep(5)
|
||||
status = get_buildstatus(project)
|
||||
@@ -43,25 +33,17 @@ def do_wait(project: str, commit: str) -> ET.Element:
|
||||
else:
|
||||
last_state = status.get("state")
|
||||
|
||||
scminfo = {e.text for e in status.findall(".//scminfo")}
|
||||
scminfo = { e.text for e in status.findall(".//scminfo") }
|
||||
if len(scminfo) != 1 or scminfo.pop() != commit:
|
||||
print("Waiting for OBS to sync with SCM")
|
||||
continue
|
||||
|
||||
if not all(
|
||||
[
|
||||
e.get("state") == "published" # Only consider if all packages are published
|
||||
and e.get("dirty") is None # Exclude states needing recalculation
|
||||
and e.get("code") not in waiting_states # Exclude transient/waiting states
|
||||
for e in status.findall("./result")
|
||||
] + [ e.get("code") not in waiting_states for e in status.findall("./status") ]
|
||||
):
|
||||
if not all([ e.get('state') == "published" and e.get('dirty') is None for e in status.findall("./result")]):
|
||||
print("Waiting for OBS to finish building")
|
||||
continue
|
||||
|
||||
return status
|
||||
|
||||
|
||||
|
||||
def print_results(status: ET.Element) -> bool:
|
||||
results = {}
|
||||
failed = []
|
||||
@@ -69,15 +51,15 @@ def print_results(status: ET.Element) -> bool:
|
||||
repo = results.get(e.get("repository"), {})
|
||||
repo[e.get("arch")] = e
|
||||
results[e.get("repository")] = repo
|
||||
|
||||
|
||||
for repo in results.keys():
|
||||
print(f"{repo}:")
|
||||
depth = 1
|
||||
depth=1
|
||||
for arch in results[repo].keys():
|
||||
counts = Counter()
|
||||
if repo != "charts":
|
||||
print(f"\t{arch}:")
|
||||
depth = 2
|
||||
depth=2
|
||||
for package in results[repo][arch].findall("./status"):
|
||||
if package.get("code") in ["excluded", "disabled"]:
|
||||
continue
|
||||
@@ -88,9 +70,9 @@ def print_results(status: ET.Element) -> bool:
|
||||
else:
|
||||
failed.append(f"{package.get('package')} ({arch})")
|
||||
counts[package.get("code")] += 1
|
||||
for code, count in counts.items():
|
||||
print("\t" * depth, f"{code}: {count}")
|
||||
|
||||
for (code, count) in counts.items():
|
||||
print("\t"*depth, f"{code}: {count}")
|
||||
|
||||
failed.sort()
|
||||
if failed:
|
||||
print("\nPackages failing: ")
|
||||
@@ -98,7 +80,6 @@ def print_results(status: ET.Element) -> bool:
|
||||
print("\t", fail)
|
||||
return len(failed)
|
||||
|
||||
|
||||
def main():
|
||||
project = os.environ.get("OBS_PROJECT")
|
||||
sha = os.environ.get("GIT_SHA")
|
||||
@@ -106,6 +87,5 @@ def main():
|
||||
status = do_wait(project, sha)
|
||||
sys.exit(print_results(status))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.22_up0.13.1
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.22_up0.13.1-%RELEASE%
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.23_up0.13.1
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.23_up0.13.1-%RELEASE%
|
||||
apiVersion: v2
|
||||
appVersion: 0.13.0
|
||||
dependencies:
|
||||
@@ -15,7 +15,7 @@ dependencies:
|
||||
condition: global.enable_mariadb
|
||||
name: mariadb
|
||||
repository: file://./charts/mariadb
|
||||
version: 0.6.2
|
||||
version: 0.6.3
|
||||
- alias: metal3-media
|
||||
condition: global.enable_metal3_media_server
|
||||
name: media
|
||||
@@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal
|
||||
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
|
||||
name: metal3
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.22+up0.13.1"
|
||||
version: "%%CHART_MAJOR%%.0.23+up0.13.1"
|
||||
|
||||
@@ -3,4 +3,4 @@ appVersion: "11.8"
|
||||
description: A Helm chart for MariaDB, used by Metal3
|
||||
name: mariadb
|
||||
type: application
|
||||
version: 0.6.2
|
||||
version: 0.6.3
|
||||
|
||||
@@ -20,7 +20,7 @@ spec:
|
||||
labels:
|
||||
{{- include "mariadb.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- $volmounts := toYaml .Values.volumeMounts | trim | nindent 12 }}
|
||||
{{- $volmounts := toYaml .Values.volumeMounts | trim | nindent 10 }}
|
||||
{{- $volumes := toYaml .Values.volumes | trim | nindent 8 }}
|
||||
serviceAccountName: {{ include "mariadb.serviceAccountName" . }}
|
||||
securityContext:
|
||||
@@ -103,11 +103,11 @@ spec:
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 10
|
||||
volumeMounts:
|
||||
- name: mariadb-conf
|
||||
mountPath: /etc/mysql/conf.d
|
||||
- name: mariadb-run
|
||||
mountPath: /run/mysql
|
||||
{{- $volmounts }}
|
||||
- name: mariadb-conf
|
||||
mountPath: /etc/mysql/conf.d
|
||||
- name: mariadb-run
|
||||
mountPath: /run/mysql
|
||||
{{- $volmounts }}
|
||||
{{- with .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
||||
@@ -20,4 +20,4 @@ LABEL com.suse.image-type="release-manifest"
|
||||
LABEL com.suse.release-stage="released"
|
||||
# endlabelprefix
|
||||
|
||||
COPY release_manifest.yaml release_images.yaml tooling_manifest.yaml ./
|
||||
COPY release_manifest.yaml release_images.yaml ./
|
||||
|
||||
@@ -18,16 +18,5 @@
|
||||
<param name="var">CHART_REPO</param>
|
||||
<param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
|
||||
<param name="var">CHART_MAJOR</param>
|
||||
</service>
|
||||
<service name="replace_using_env" mode="buildtime">
|
||||
<param name="file">tooling_manifest.yaml</param>
|
||||
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
|
||||
<param name="var">IMG_PREFIX</param>
|
||||
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %manifest_repo)</param>
|
||||
<param name="var">IMG_REPO</param>
|
||||
<param name="eval">KIWI_VERSION=$(rpm --macros=/root/.rpmmacros -E %kiwi_version)</param>
|
||||
<param name="var">KIWI_VERSION</param>
|
||||
<param name="eval">EIB_VERSION=$(rpm --macros=/root/.rpmmacros -E %eib_version)</param>
|
||||
<param name="var">EIB_VERSION</param>
|
||||
</service>
|
||||
</services>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
apiVersion: lifecycle.suse.com/v1alpha1
|
||||
kind: ReleaseManifest
|
||||
metadata:
|
||||
name: release-manifest-3-5-0
|
||||
name: release-manifest-3-5-1
|
||||
spec:
|
||||
releaseVersion: 3.5.0
|
||||
releaseVersion: 3.5.1
|
||||
components:
|
||||
kubernetes:
|
||||
k3s:
|
||||
@@ -92,8 +92,9 @@ spec:
|
||||
enabled: false
|
||||
- prettyName: Longhorn
|
||||
releaseName: longhorn
|
||||
chart: 'oci://dp.apps.rancher.io/charts/suse-storage'
|
||||
chart: suse-storage
|
||||
version: 1.10.1
|
||||
repository: oci://dp.apps.rancher.io/charts
|
||||
- prettyName: MetalLB
|
||||
releaseName: metallb
|
||||
chart: '%%CHART_REPO%%/%%CHART_PREFIX%%metallb'
|
||||
@@ -161,15 +162,11 @@ spec:
|
||||
- prettyName: Metal3
|
||||
releaseName: metal3
|
||||
chart: '%%CHART_REPO%%/%%CHART_PREFIX%%metal3'
|
||||
version: '%%CHART_MAJOR%%.0.22+up0.13.1'
|
||||
version: '%%CHART_MAJOR%%.0.23+up0.13.1'
|
||||
- prettyName: RancherTurtlesProviders
|
||||
releaseName: rancher-turtles-providers
|
||||
chart: '%%CHART_REPO%%/%%CHART_PREFIX%%rancher-turtles-providers'
|
||||
version: '%%CHART_MAJOR%%.0.4+up0.25.1'
|
||||
- prettyName: Upgrade Controller
|
||||
releaseName: upgrade-controller
|
||||
chart: '%%CHART_REPO%%/%%CHART_PREFIX%%upgrade-controller'
|
||||
version: '%%CHART_MAJOR%%.0.3+up0.1.3'
|
||||
- prettyName: CertManager
|
||||
releaseName: cert-manager
|
||||
chart: cert-manager
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
kiwi:
|
||||
version: "10.2.29.1"
|
||||
image: "%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.2.29.1"
|
||||
|
||||
eib:
|
||||
version: "1.3.2"
|
||||
image: "%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.3.2"
|
||||
Reference in New Issue
Block a user