Build single container with jupyter installed #33
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |