-
Notifications
You must be signed in to change notification settings - Fork 15
122 lines (115 loc) · 3.96 KB
/
build-containers.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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;
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;
"