Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
type: x86_64
- os: ubuntu-24.04-arm
type: aarch64
glibc: [2_28, 2_34]
runs-on: ${{ matrix.arch.os }}
steps:
- name: Check out
Expand All @@ -28,6 +29,15 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Determine Maven Version
run: |
MAVEN_VERSION="$(curl -s https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/ | grep -o '3\.9\.[0-9]*' | sort -V | tail -1)"
if [ -z "${MAVEN_VERSION}" ]; then
echo "No valid maven version of 3.9.X found!"
exit 1
fi
echo "MAVEN_VERSION=${MAVEN_VERSION}" >> $GITHUB_ENV

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

Expand All @@ -38,8 +48,10 @@ jobs:
uses: docker/build-push-action@v6
with:
context: docker
file: docker/Dockerfile_manylinux_2_34_${{ matrix.arch.type }}
file: docker/Dockerfile_manylinux_${{ matrix.glibc }}_${{ matrix.arch.type }}
push: true
build-args: |
MAVEN_VERSION=${{ env.MAVEN_VERSION }}
tags: |
ghcr.io/virtualcell/manylinux_2_34_${{ matrix.arch.type }}:${{ github.event.inputs.tag }}
ghcr.io/virtualcell/manylinux_2_34_${{ matrix.arch.type }}:latest
ghcr.io/virtualcell/manylinux_${{ matrix.glibc }}_${{ matrix.arch.type }}:${{ github.event.inputs.tag }}
ghcr.io/virtualcell/manylinux_${{ matrix.glibc }}_${{ matrix.arch.type }}:latest
27 changes: 22 additions & 5 deletions .github/workflows/on-release-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
ubuntu-24.04-arm,
macos-15,
]
glibc: [2_28, 2_34]

fail-fast: false
runs-on: ${{ matrix.os }}
defaults:
Expand All @@ -37,7 +39,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.10"

- uses: abatilo/actions-poetry@v3

Expand All @@ -61,12 +63,27 @@ jobs:
run: |
ARCH=$(uname -m)
echo "ARCH_DEF=$ARCH" >> $GITHUB_ENV
echo "MANYLINUX_IMAGE_TARGET=ghcr.io/virtualcell/manylinux_${{ matrix.glibc }}_$ARCH:latest" >> $GITHUB_ENV
CIBW_BUILD_STRING="cp310-*${{ env.ARCH_DEF }} cp311-*${{ env.ARCH_DEF }} cp312-*${{ env.ARCH_DEF }} cp313-*${{ env.ARCH_DEF }}"
if [ "${{ matrix.glibc }}" = "2_34" ]; then
CIBW_BUILD_STRING="$CIBW_BUILD_STRING cp314-*${{ env.ARCH_DEF }}"
fi
echo "CIBW_BUILD_TARGETS=$CIBW_BUILD_STRING" >> $GITHUB_ENV

- name: Run cibuildwheel (Ubuntu, x86_64)
uses: pypa/cibuildwheel@v3.4.0
if: ${{ startsWith(matrix.os, 'ubuntu') && env.ARCH_DEF == 'x86_64' }}
env:
CIBW_BUILD: "${{ env.CIBW_BUILD_TARGETS }}"
CIBW_MANYLINUX_X86_64_IMAGE: "${{ env.MANYLINUX_IMAGE_TARGET }}"
# CIBW_BUILD_VERBOSITY_LINUX: 2

- name: Run cibuildwheel
- name: Run cibuildwheel (Ubuntu, aarch64)
uses: pypa/cibuildwheel@v3.4.0
if: ${{ startsWith(matrix.os, 'ubuntu') }}
if: ${{ startsWith(matrix.os, 'ubuntu') && env.ARCH_DEF == 'aarch64' }}
env:
CIBW_BUILD: "cp311-*${{ env.ARCH_DEF }} cp312-*${{ env.ARCH_DEF }} cp313-*${{ env.ARCH_DEF }} cp314-*${{ env.ARCH_DEF }}"
CIBW_BUILD: "${{ env.CIBW_BUILD_TARGETS }}"
CIBW_MANYLINUX_AARCH64_IMAGE: "${{ env.MANYLINUX_IMAGE_TARGET }}"
# CIBW_BUILD_VERBOSITY_LINUX: 2

- name: Run cibuildwheel
Expand All @@ -75,7 +92,7 @@ jobs:
pip install cibuildwheel
cibuildwheel --debug-traceback --output-dir wheelhouse
env:
CIBW_BUILD: "cp311-* cp312-* cp313-* cp314-*"
CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-*"
- name: Copy wheels to dist directory
run: |
mkdir -p dist
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_manylinux_2_28_aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ FROM quay.io/pypa/manylinux_2_28_aarch64
ARG GRAALVM_VERSION=23.0.2
ARG GRAALVM_BUILD=7.1
ARG GRAALVM_ARCH=aarch64
ARG MAVEN_VERSION=3.9.9
# Due to how often maven yanks old patch-versions, we now require you provide the maven version at build time!
ARG MAVEN_VERSION

# install graalvm community edition
RUN cd /opt && \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_manylinux_2_28_x86_64
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ FROM quay.io/pypa/manylinux_2_28_x86_64
ARG GRAALVM_VERSION=23.0.2
ARG GRAALVM_BUILD=7.1
ARG GRAALVM_ARCH=x64
ARG MAVEN_VERSION=3.9.9
# Due to how often maven yanks old patch-versions, we now require you provide the maven version at build time!
ARG MAVEN_VERSION

# install graalvm community edition
RUN cd /opt && \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_manylinux_2_34_aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ FROM quay.io/pypa/manylinux_2_34_aarch64
ARG GRAALVM_VERSION=23.0.2
ARG GRAALVM_BUILD=7.1
ARG GRAALVM_ARCH=aarch64
ARG MAVEN_VERSION=3.9.15
# Due to how often maven yanks old patch-versions, we now require you provide the maven version at build time!
ARG MAVEN_VERSION

# install graalvm community edition
RUN cd /opt && \
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile_manylinux_2_34_x86_64
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ FROM quay.io/pypa/manylinux_2_34_x86_64
ARG GRAALVM_VERSION=23.0.2
ARG GRAALVM_BUILD=7.1
ARG GRAALVM_ARCH=x64
ARG MAVEN_VERSION=3.9.15
# Due to how often maven yanks old patch-versions, we now require you provide the maven version at build time!
ARG MAVEN_VERSION

# install graalvm community edition
RUN cd /opt && \
Expand All @@ -20,7 +21,6 @@ RUN (curl -sSL https://install.python-poetry.org | python3 -) || ( echo "" && ec
ENV PATH=~/.local/bin:$PATH

# Install Maven

RUN cd /opt && curl -L -o apache-maven.tar.gz https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz && ls && tar -xzvf apache-maven.tar.gz
ENV MAVEN_HOME=/opt/apache-maven-${MAVEN_VERSION}
ENV PATH=${MAVEN_HOME}/bin:$PATH
Loading
Loading