Skip to content

Fixes, add examples, update readme #34

Fixes, add examples, update readme

Fixes, add examples, update readme #34

name: Deploy containers
on:
#release:
# types: [published]
workflow_dispatch:
push:
branches:
- "build-containers"
# Rembember: you have to escape characters like $ with \$.
env:
SETUP_BASE: |
apt-get -qq update > /dev/null;
apt-get -qq upgrade > /dev/null;
apt-get -qq install wget git > /dev/null;
useradd -ms /bin/bash pyompuser;
su pyompuser;
cd /home/pyompuser;
SETUP_MINICONDA: |
wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-\$(uname -m).sh -O miniconda.sh;
bash miniconda.sh -b -u -p ./miniconda3;
rm -rf miniconda.sh;
export PATH=/home/pyompuser/miniconda3/bin:\${PATH};
conda install -y -c conda-forge conda-build conda-verify anaconda-client;
conda config --set anaconda_upload yes;
SETUP_REPO: |
git clone https://github.com/Python-for-HPC/PyOMP;
cd PyOMP;
# TODO: remove this line when the project is ready for deployment
git switch build-containers;
#git checkout \$(git describe --abbrev=0 --tags);
export GITHUB_HEAD_SHA=\$(git rev-parse --short HEAD);
jobs:
#conda-deploy-llvm-openmp-dev-linux-arm64:
# name: llvm-openmp-dev linux-arm64
# runs-on: ubuntu-latest
# steps:
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: linux/arm64
# - name: Deploy llvm-openmp-dev
# run: |
# docker run --platform linux/arm64 ubuntu:22.04 /bin/bash -xel -c "
# ${{ env.SETUP_BASE }}
# ${{ env.SETUP_MINICONDA }}
# ${{ env.SETUP_REPO }}
# conda build --user python-for-hpc --label main \
# -c python-for-hpc -c conda-forge \
# --token ${{ secrets.ANACONDA_TOKEN }} \
# buildscripts/conda-recipes/llvm-openmp-dev;
# "
#conda-deploy-llvmlite-linux-arm64:
# needs: conda-deploy-llvm-openmp-dev-linux-arm64
# name: llvmlite linux-arm64
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.8", "3.9", "3.10"]
# steps:
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: linux/arm64
# - name: Deploy llvmlite
# run: |
# docker run --platform linux/arm64 ubuntu:22.04 /bin/bash -el -c "
# ${{ env.SETUP_BASE }}
# ${{ env.SETUP_MINICONDA }}
# ${{ env.SETUP_REPO }}
# conda build --user python-for-hpc --label main \
# -c python-for-hpc -c conda-forge \
# --python ${{ matrix.python-version}} --token ${{ secrets.ANACONDA_TOKEN }} \
# buildscripts/conda-recipes/llvmlite
# "
#conda-deploy-numba-linux-arm64:
# #needs: conda-deploy-llvmlite-linux-arm64
# name: numba linux-arm64
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.8", "3.9", "3.10"]
# steps:
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: linux/arm64
# - name: Deploy numba
# run: |
# docker run --platform linux/arm64 ubuntu:22.04 /bin/bash -el -c "
# ${{ env.SETUP_BASE }}
# ${{ env.SETUP_MINICONDA }}
# ${{ env.SETUP_REPO }}
# conda build --user python-for-hpc --label main \
# -c python-for-hpc -c conda-forge \
# --python ${{ matrix.python-version}} --token ${{ secrets.ANACONDA_TOKEN }} \
# buildscripts/conda-recipes/numba;
# "
#conda-deploy-pyomp-linux-arm64:
# needs: conda-deploy-numba-linux-arm64
# name: pyomp linux-arm64
# runs-on: ubuntu-latest
# steps:
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: linux/arm64
# - name: Deploy pyomp
# run: |
# docker run --platform linux/arm64 ubuntu:22.04 /bin/bash -el -c "
# ${{ env.SETUP_BASE }}
# ${{ env.SETUP_MINICONDA }}
# ${{ env.SETUP_REPO }}
# conda build --user python-for-hpc --label main \
# -c python-for-hpc -c conda-forge \
# --token ${{ secrets.ANACONDA_TOKEN }} \
# buildscripts/conda-recipes/pyomp;
# "
deploy-containers:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push pyomp container
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
file: buildscripts/containers/Dockerfile
push: true
provenance: false
tags: ghcr.io/python-for-hpc/pyomp:latest