Skip to content

Commit bc16c6f

Browse files
authored
Merge pull request #18 from sap-linuxlab/dev
Dev
2 parents 9281088 + cc288b6 commit bc16c6f

11 files changed

Lines changed: 60 additions & 20 deletions

.github/workflows/build-ee-latest.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:truthy rule:document-start
2+
# (Long run blocks and workflow syntax required; path comment above)
13
#.github/workflows/build-ee-latest.yml
24
name: Build and Push latest Multi-Arch Execution Environment
35

@@ -34,7 +36,7 @@ jobs:
3436
platform:
3537
- amd64
3638
- arm64
37-
# ppc64le
39+
- ppc64le
3840
steps:
3941
- name: Dump GitHub context
4042
env:
@@ -92,7 +94,7 @@ jobs:
9294
podman manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
9395
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_amd64
9496
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_arm64
95-
# podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
97+
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
9698
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
9799
podman tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
98100
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest

.github/workflows/build-ee-stable.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:truthy rule:document-start
2+
# (Long run blocks and workflow syntax required; path comment above)
13
#.github/workflows/build-ee-stable.yml
24
name: Build and Push stable Multi-Arch Execution Environment
35

@@ -33,7 +35,7 @@ jobs:
3335
platform:
3436
- amd64
3537
- arm64
36-
#- ppc64le
38+
- ppc64le
3739
steps:
3840
# Checkout repo
3941
- name: Checkout repository
@@ -88,7 +90,8 @@ jobs:
8890
podman manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
8991
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_amd64
9092
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_arm64
91-
# podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
93+
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
9294
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
9395
podman tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:stable
9496
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:stable
97+

.github/workflows/build-ee-weekly.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:truthy rule:document-start
2+
# (Long run blocks and workflow syntax required; path comment above)
13
#.github/workflows/build-ee-weekly.yml
24
name: Build and Push weekly Multi-Arch Execution Environment
35

@@ -33,7 +35,7 @@ jobs:
3335
platform:
3436
- amd64
3537
- arm64
36-
#- ppc64le
38+
- ppc64le
3739
steps:
3840
# Checkout repo
3941
- name: Checkout repository
@@ -88,7 +90,7 @@ jobs:
8890
podman manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
8991
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_amd64
9092
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_arm64
91-
# podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
93+
podman manifest add ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} docker://${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}_ppc64le
9294
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }}
9395
podman tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.generate-tag.outputs.image_tag }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-dev
9496
podman manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-dev

.github/workflows/cleanup-old-containers.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:truthy rule:document-start
2+
# (Workflow expressions and cron syntax required)
13
name: Cleanup Old SAP-EE Containers
24
# Token: GITHUB_TOKEN funktioniert nicht ("missing field `id`", siehe
35
# https://github.com/snok/container-retention-policy/issues/119). Es wird ein klassischer PAT

DEVELOPER.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ If you do not want to use that, feel free to create your own build environment.
1818

1919
```bash
2020
cd ansible.executionenvironment
21-
ee_dir=$(pwd)
21+
export ee_dir=$(pwd)
2222
```
2323

2424
3. Start the build environment
@@ -130,9 +130,9 @@ Der Workflow nutzt `account: ${{ github.repository_owner }}`, also den Organisat
130130

131131
Die offizielle Action `actions/delete-package-versions` funktioniert mit `GITHUB_TOKEN`, unterstützt für Container-Packages aber **keine Tag-Muster** (z. B. `dev*`); gefiltert wird nach API-Versionsnamen (Digest), nicht nach Tags. Für „nur `dev*`-Tags bereinigen, 5 behalten, älter als 6 Wochen löschen“ ist `snok/container-retention-policy` mit PAT die passende Wahl.
132132

133-
# Changes for building supported EE for RHAAP
133+
## Changes for building supported EE for RHAAP
134134

135-
If you want to add supported Automation Hub content, get your Automation Hub token from [here](https://console.redhat.com/ansible/automation-hub/token) and export it in the environment variable `ANSIBLE_GALAXY_SERVER_RH_CERTIFIED_REPO_TOKEN`, login to `registry.redhat.io` with your RedHat credentials and run the following commands:
135+
If you want to add supported Automation Hub content, get your Automation Hub token from [Red Hat Automation Hub](https://console.redhat.com/ansible/automation-hub/token) and export it in the environment variable `ANSIBLE_GALAXY_SERVER_RH_CERTIFIED_REPO_TOKEN`, login to `registry.redhat.io` with your RedHat credentials and run the following commands:
136136

137137
```bash
138138
export ANSIBLE_GALAXY_SERVER_RH_CERTIFIED_REPO_TOKEN=_your token_

execution-environment-experimental.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:key-duplicates rule:document-start
2+
# (ansible-builder syntax and long RUN lines required)
13
version: 3
24

35
images:
@@ -43,11 +45,19 @@ dependencies:
4345
- python3.12-devel
4446
- openssl
4547
- openssl-devel
48+
- cargo
4649

4750
options:
4851
package_manager_path: /usr/bin/dnf
4952

5053
additional_build_steps:
54+
prepend_builder:
55+
# On ppc64le, disable compiler optimization to prevent OOM kills when
56+
# cross-compiling large Cython extensions (e.g. pandas) via qemu.
57+
# A wrapper shell conditionally sets CFLAGS only on ppc64le so that
58+
# x86_64 and aarch64 builds keep full -O3 optimization.
59+
- RUN printf '#!/bin/bash\nif [ "$(uname -m)" = "ppc64le" ]; then\n export CFLAGS="-O0 -g0"\n export CXXFLAGS="-O0 -g0"\nfi\nexec /bin/bash "$@"\n' > /usr/local/bin/build-shell && chmod +x /usr/local/bin/build-shell
60+
- 'SHELL ["/usr/local/bin/build-shell", "-c"]' # yamllint disable-line rule:quoted-strings
5161
prepend_base:
5262
- RUN dnf update -y
5363
append_final:

execution-environment-rh.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# yamllint disable rule:line-length rule:document-start
12
version: 3
23

34
build_arg_defaults:

execution-environment-stable.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:key-duplicates rule:document-start
2+
# (ansible-builder [platform:...] syntax and long RUN lines required)
13
version: 3
24

35
images:
@@ -87,9 +89,8 @@ dependencies:
8789
- gcc [platform:rpm compile]
8890
- gcc-c++ [platform:rpm compile]
8991
- make [platform:rpm compile]
90-
- cmake [platform:rpm compile]
9192
- clang [platform:rpm compile]
92-
- openssl-devel [platform:rpm compile]
93+
- cargo [platform:rpm compile]
9394
# binutils [platform:rpm compile]
9495
# glibc-devel [platform:rpm compile]
9596
# pkgconf [platform:rpm compile]
@@ -100,8 +101,13 @@ options:
100101
package_manager_path: /usr/bin/dnf
101102

102103
additional_build_steps:
103-
#prepend_builder:
104-
# - RUN ln -s /usr/bin/gcc /usr/bin/cc
104+
prepend_builder:
105+
# On ppc64le, disable compiler optimization to prevent OOM kills when
106+
# cross-compiling large Cython extensions (e.g. pandas) via qemu.
107+
# A wrapper shell conditionally sets CFLAGS only on ppc64le so that
108+
# x86_64 and aarch64 builds keep full -O3 optimization.
109+
- RUN printf '#!/bin/bash\nif [ "$(uname -m)" = "ppc64le" ]; then\n export CFLAGS="-O0 -g0"\n export CXXFLAGS="-O0 -g0"\nfi\nexec /bin/bash "$@"\n' > /usr/local/bin/build-shell && chmod +x /usr/local/bin/build-shell
110+
- 'SHELL ["/usr/local/bin/build-shell", "-c"]' # yamllint disable-line rule:quoted-strings
105111
prepend_base:
106112
- RUN dnf update -y
107113
append_base:

execution-environment-weekly.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:key-duplicates rule:document-start
2+
# (ansible-builder [platform:...] syntax and long RUN lines required)
13
version: 3
24

35
images:
@@ -40,7 +42,6 @@ dependencies:
4042
- name: ibm.power_hmc
4143
version: ">=1.0.0"
4244
# SAP Community Roles
43-
# SAP Community Roles
4445
- name: git+https://github.com/sap-linuxlab/community.sap_libs.git,dev
4546
type: git
4647
- name: git+https://github.com/sap-linuxlab/community.sap_operations.git,dev
@@ -75,9 +76,8 @@ dependencies:
7576
- gcc [platform:rpm compile]
7677
- gcc-c++ [platform:rpm compile]
7778
- make [platform:rpm compile]
78-
- cmake [platform:rpm compile]
7979
- clang [platform:rpm compile]
80-
- openssl-devel [platform:rpm compile]
80+
- cargo [platform:rpm compile]
8181
# binutils [platform:rpm compile]
8282
# glibc-devel [platform:rpm compile]
8383
# pkgconf [platform:rpm compile]
@@ -88,8 +88,13 @@ options:
8888
package_manager_path: /usr/bin/dnf
8989

9090
additional_build_steps:
91-
#prepend_builder:
92-
# - RUN ln -s /usr/bin/gcc /usr/bin/cc
91+
prepend_builder:
92+
# On ppc64le, disable compiler optimization to prevent OOM kills when
93+
# cross-compiling large Cython extensions (e.g. pandas) via qemu.
94+
# A wrapper shell conditionally sets CFLAGS only on ppc64le so that
95+
# x86_64 and aarch64 builds keep full -O3 optimization.
96+
- RUN printf '#!/bin/bash\nif [ "$(uname -m)" = "ppc64le" ]; then\n export CFLAGS="-O0 -g0"\n export CXXFLAGS="-O0 -g0"\nfi\nexec /bin/bash "$@"\n' > /usr/local/bin/build-shell && chmod +x /usr/local/bin/build-shell
97+
- 'SHELL ["/usr/local/bin/build-shell", "-c"]' # yamllint disable-line rule:quoted-strings
9398
prepend_base:
9499
- RUN dnf update -y && dnf install -y git
95100
append_base:

execution-environment.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# yamllint disable rule:line-length rule:key-duplicates rule:document-start
2+
# (ansible-builder [platform:...] syntax and long RUN lines required)
13
version: 3
24

35
images:
@@ -67,6 +69,7 @@ dependencies:
6769
- gcc-c++ [platform:rpm compile]
6870
- make [platform:rpm compile]
6971
- clang [platform:rpm compile]
72+
- cargo [platform:rpm compile]
7073
# binutils [platform:rpm compile]
7174
# glibc-devel [platform:rpm compile]
7275
# pkgconf [platform:rpm compile]
@@ -77,8 +80,13 @@ options:
7780
package_manager_path: /usr/bin/dnf
7881

7982
additional_build_steps:
80-
#prepend_builder:
81-
# - RUN ln -s /usr/bin/gcc /usr/bin/cc
83+
prepend_builder:
84+
# On ppc64le, disable compiler optimization to prevent OOM kills when
85+
# cross-compiling large Cython extensions (e.g. pandas) via qemu.
86+
# A wrapper shell conditionally sets CFLAGS only on ppc64le so that
87+
# x86_64 and aarch64 builds keep full -O3 optimization.
88+
- RUN printf '#!/bin/bash\nif [ "$(uname -m)" = "ppc64le" ]; then\n export CFLAGS="-O0 -g0"\n export CXXFLAGS="-O0 -g0"\nfi\nexec /bin/bash "$@"\n' > /usr/local/bin/build-shell && chmod +x /usr/local/bin/build-shell
89+
- 'SHELL ["/usr/local/bin/build-shell", "-c"]' # yamllint disable-line rule:quoted-strings
8290
prepend_base:
8391
- RUN dnf update -y
8492
append_base:

0 commit comments

Comments
 (0)