Skip to content

Commit 8ae6021

Browse files
committed
fixup! Merge branch 'upstream-nanobind' into migrate-to-nanobind
1 parent 5cd26d9 commit 8ae6021

7 files changed

Lines changed: 139 additions & 69 deletions

File tree

.github/workflows/everything.yml

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -427,53 +427,55 @@ jobs:
427427
strategy:
428428
fail-fast: false
429429
matrix:
430-
baseos: [ubuntu-bionic]
430+
baseos: [ubuntu-22.04]
431431

432432
steps:
433433
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
434434
with:
435435
ref: ${{ github.event.pull_request.head.sha }}
436436
path: ci-source
437-
- name: Re-configure docker daemon
437+
438+
- name: Install Podman
439+
if: ${{ matrix.base-img != 'self-hosted' }}
438440
run: |
439-
sudo systemctl stop docker
440-
echo $'{\n "experimental": true\n}' | \
441-
sudo tee /etc/docker/daemon.json
442-
sudo systemctl start docker
441+
sudo apt-get update
442+
sudo apt-get install -y podman
443+
444+
443445
- name: Build image
444446
run: |
445-
docker build \
446-
--rm --squash \
447+
podman build \
448+
--rm \
447449
-t ornladios/adios2:ci-tmp \
448-
--build-arg baseos=${{ matrix.baseos }} \
449450
--build-arg ci_source_dir=ci-source \
450-
-f ci-source/scripts/ci/images/spack/Dockerfile \
451+
-f ci-source/scripts/ci/images/spack/adios2-container-dist.dockerfile \
451452
.
453+
452454
- name: Save image as a tar file
453455
run: |
454-
docker save -o ci-docker.tar ornladios/adios2:ci-tmp
455-
ls -lah ci-docker.tar
456+
podman save -o ci-podman.tar ornladios/adios2:ci-tmp
457+
ls -lah ci-podman.tar
456458
- name: Upload
457459
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v4
458460
with:
459461
retention-days: 1
460-
name: ci-docker ${{ matrix.baseos }} ${{ github.sha }}
461-
path: ci-docker.tar
462-
- name: Push image to Docker Hub
462+
name: ci-podman ${{ matrix.baseos }} ${{ github.sha }}
463+
path: ci-podman.tar
464+
465+
- name: Log in to GitHub Container Registry
466+
if: github.event_name == 'push'
467+
run: |
468+
echo "${{ secrets.GITHUB_TOKEN }}" | podman login ghcr.io -u ${{ github.repository_owner }} --password-stdin
469+
470+
- name: Push image to GitHub Container Registry
463471
if: github.event_name == 'push'
464-
env:
465-
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
466-
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
467472
run: |
468473
target_tag="${GITHUB_REF##refs/heads/}-${{ matrix.baseos }}"
469-
docker tag \
474+
podman tag \
470475
ornladios/adios2:ci-tmp \
471-
ornladios/adios2:${target_tag}
472-
docker login \
473-
--username="${DOCKERHUB_USERNAME}" \
474-
--password="${DOCKERHUB_PASSWORD}"
475-
docker push \
476-
ornladios/adios2:${target_tag}
476+
"ghcr.io/${{ github.repository }}/ornladios/adios2:${target_tag}"
477+
podman push \
478+
"ghcr.io/${{ github.repository }}/ornladios/adios2:${target_tag}"
477479
478480
#######################################
479481
# Contract testing jobs
@@ -504,7 +506,7 @@ jobs:
504506
- code: tau
505507
defaults:
506508
run:
507-
shell: bash -c "docker exec adios2-ci bash --login -e $(echo {0} | sed 's|/home/runner/work|/__w|g')"
509+
shell: bash -c "podman exec adios2-ci bash --login -e $(echo {0} | sed 's|/home/runner/work|/__w|g')"
508510

509511
steps:
510512
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
@@ -516,18 +518,18 @@ jobs:
516518
- name: Download CI docker image
517519
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v4
518520
with:
519-
name: ci-docker ubuntu-bionic ${{ github.sha }}
521+
name: ci-podman ubuntu-22.04 ${{ github.sha }}
520522
- name: Initialize containers
521523
shell: bash -e {0}
522524
run: |
523525
sudo chown 1000:1000 .
524-
docker load -i ci-docker.tar
525-
docker create \
526+
podman load -i ci-podman.tar
527+
podman create \
526528
--name adios2-ci --workdir /__w/ADIOS2/ADIOS2 \
527529
-v "/home/runner/work":"/__w" \
528530
--entrypoint "tail" ornladios/adios2:ci-tmp \
529531
"-f" "/dev/null"
530-
docker start adios2-ci
532+
podman start adios2-ci
531533
- name: Dependencies
532534
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/depends.sh
533535
- name: Configure

.github/workflows/external.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212

1313
jobs:
1414
generate_statuses:
15-
runs-on: ubuntu-latest
15+
runs-on: ubuntu-slim
1616
permissions:
1717
contents: read
1818
statuses: write

scripts/ci/images/build-ubuntu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ TAG_PREFIX="${IMAGE_TAG_PREFIX:-ghcr.io/ornladios/adios2}"
2020
# Build the base image
2121
${BUILD_TOOL} build --progress=plain \
2222
--build-arg PATCH_VARIANT_XROOTD=ON \
23-
--build-arg EXTRA_SPECS="sz3" \
23+
--build-arg EXTRA_SPECS="sz3 zstd" \
2424
--rm -f ./Dockerfile.ci-spack-ubuntu22.04-base \
2525
-t "${TAG_PREFIX}:ci-spack-ubuntu22.04-base" \
2626
.

scripts/ci/images/spack/Dockerfile

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM ghcr.io/ornladios/adios2/adios2-deps
2+
3+
RUN echo ${ADIOS2_SPEC}
4+
5+
# Install from CI source
6+
ARG ci_source_dir=ci-source
7+
COPY ${ci_source_dir} /opt/adios2/source
8+
RUN . /spack/share/spack/setup-env.sh && \
9+
spack dev-build \
10+
-j$(grep -c '^processor' /proc/cpuinfo) \
11+
-d /opt/adios2/source \
12+
--no-checksum \
13+
--skip-patch \
14+
--reuse \
15+
adios2@master ${ADIOS2_SPEC} ^gcc && \
16+
spack uninstall --all --yes-to-all gcc && \
17+
spack clean -a
18+
19+
RUN . /spack/share/spack/setup-env.sh && \
20+
spack config add "concretizer:unify:false" && \
21+
spack env create --without-view adios2 && \
22+
spack -e adios2 add $(spack find --format "/{hash}") && \
23+
spack -e adios2 install -v && \
24+
rm -rf /root/.spack && \
25+
spack env activate adios2 && \
26+
spack env deactivate && \
27+
echo "source /spack/share/spack/setup-env.sh" >> ~/.bash_profile && \
28+
echo "spack load adios2" >> ~/.bash_profile
29+
30+
ENTRYPOINT []
31+
CMD ["bash", "--login"]
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
FROM ubuntu:22.04
2+
3+
ARG SPACK_VERSION=v1.0.2
4+
ARG SPACK_MIRROR="https://binaries.spack.io/v2025.07.0"
5+
ARG ADIOS2_SPEC="~mpi~mgard~libcatalyst~bzip2~png"
6+
7+
RUN apt update && \
8+
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
9+
bzip2 \
10+
ca-certificates \
11+
curl \
12+
file \
13+
g++-12 \
14+
gfortran-12 \
15+
git \
16+
gzip \
17+
lsb-release \
18+
patch \
19+
python3 \
20+
tar \
21+
unzip \
22+
xz-utils \
23+
zstd \
24+
\
25+
&& \
26+
apt clean -y && \
27+
rm -rf /var/lib/apt/lists/*
28+
29+
# Clone and patch spack
30+
WORKDIR /
31+
RUN if ! [ -d /spack ]; then \
32+
git clone --depth 1 --single-branch --branch ${SPACK_VERSION} https://github.com/spack/spack; \
33+
else \
34+
git fetch --all && git checkout -t origin/${SPACK_VERSION}; \
35+
fi && \
36+
mkdir -p /root/.spack
37+
38+
COPY packages.yaml /root/.spack/packages.yaml
39+
40+
# Install base specs
41+
RUN . /spack/share/spack/setup-env.sh && \
42+
spack repo update --branch "releases/v2025.07" builtin && \
43+
spack mirror add binaries "${SPACK_MIRROR}" && \
44+
spack config add "packages:all:target:[haswell]" && \
45+
spack config add "config:checksum:false" && \
46+
spack config add "config:build_jobs:$(nproc)" && \
47+
spack config add "concretizer:reuse:true"
48+
49+
RUN . /spack/share/spack/setup-env.sh && \
50+
spack install \
51+
-j$(nproc) \
52+
--include-build-deps \
53+
--no-check-signature \
54+
--fail-fast \
55+
--only dependencies \
56+
adios2@master ${ADIOS2_SPEC} cmake%gcc && \
57+
spack clean -a && \
58+
echo "source /spack/share/spack/setup-env.sh" >> ~/.bash_profile
59+
60+
ENV ADIOS2_SPEC="${ADIOS2_SPEC}"
61+
62+
ENTRYPOINT []
63+
CMD ["bash", "--login"]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
packages:
2+
gcc:
3+
externals:
4+
- spec: gcc@12.3.0 languages='c,c++,fortran'
5+
prefix: /usr
6+
extra_attributes:
7+
compilers:
8+
c: /usr/bin/gcc-12
9+
cxx: /usr/bin/g++-12
10+
fortran: /usr/bin/gfortran-12
11+
buildable: false

0 commit comments

Comments
 (0)