Skip to content

CI

CI #486

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
schedule:
- cron: "0 6 * * SUN" # Once weekly on Sunday @ 0600 UTC
workflow_dispatch: null
jobs:
build:
name: ${{ matrix.cfg.DOCKERIMAGE }}:${{ matrix.cfg.DOCKERTAG }} (${{ matrix.cfg.DISTRO_ARCH }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cfg:
- DOCKERIMAGE: linux-anvil-cos7-x86_64
DOCKERTAG: latest
DISTRO_NAME: "centos"
DISTRO_VER: "7"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on x86_64"
- DOCKERIMAGE: linux-anvil-ppc64le
DOCKERTAG: latest
DISTRO_NAME: "centos"
DISTRO_VER: "7"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on ppc64le"
- DOCKERIMAGE: linux-anvil-aarch64
DOCKERTAG: latest
DISTRO_NAME: "centos"
DISTRO_VER: "7"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on aarch64"
- DOCKERIMAGE: linux-anvil-cuda
DOCKERFILE: linux-anvil-cuda
DOCKERTAG: "11.8"
CUDA_VER: "11.8.0"
DISTRO_ARCH: "amd64"
DISTRO_NAME: "centos"
DISTRO_VER: "7"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on x86_64 with CUDA"
- DOCKERIMAGE: linux-anvil-ppc64le-cuda
DOCKERFILE: linux-anvil-cuda
DOCKERTAG: "11.8"
CUDA_VER: "11.8.0"
DISTRO_ARCH: "ppc64le"
DISTRO_NAME: "ubi"
DISTRO_VER: "8"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 8 on ppc64le with CUDA"
- DOCKERIMAGE: linux-anvil-aarch64-cuda
DOCKERFILE: linux-anvil-cuda
DOCKERTAG: "11.8"
CUDA_VER: "11.8.0"
DISTRO_ARCH: "arm64"
DISTRO_NAME: "ubi"
DISTRO_VER: "8"
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 8 on aarch64 with CUDA"
- DOCKERIMAGE: linux-anvil-alma-x86_64
DOCKERFILE: linux-anvil-alma
DOCKERTAG: "8"
DISTRO_ARCH: "amd64"
DISTRO_NAME: "almalinux"
DISTRO_VER: "8"
SHORT_DESCRIPTION: "conda-forge build image for Alma 8 on x86_64"
- DOCKERIMAGE: linux-anvil-alma-aarch64
DOCKERFILE: linux-anvil-alma
DOCKERTAG: "8"
DISTRO_ARCH: "arm64"
DISTRO_NAME: "almalinux"
DISTRO_VER: "8"
SHORT_DESCRIPTION: "conda-forge build image for Alma 8 on aarch64"
- DOCKERIMAGE: linux-anvil-alma-ppc64le
DOCKERFILE: linux-anvil-alma
DOCKERTAG: "8"
DISTRO_ARCH: "ppc64le"
DISTRO_NAME: "almalinux"
DISTRO_VER: "8"
SHORT_DESCRIPTION: "conda-forge build image for Alma 8 on ppc64le"
env:
DOCKERIMAGE: ${{ matrix.cfg.DOCKERIMAGE }}
DOCKERFILE: ${{ matrix.cfg.DOCKERFILE }}
DOCKERTAG: ${{ matrix.cfg.DOCKERTAG }}
CUDA_VER: ${{ matrix.cfg.CUDA_VER }}
DISTRO_ARCH: ${{ matrix.cfg.DISTRO_ARCH }}
DISTRO_NAME: ${{ matrix.cfg.DISTRO_NAME }}
DISTRO_VER: ${{ matrix.cfg.DISTRO_VER }}
SHORT_DESCRIPTION: ${{ matrix.cfg.SHORT_DESCRIPTION }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Enable experimental features (needed for squash)
run: |
sudo cp docker_daemon_config.json /etc/docker/daemon.json
sudo service docker restart
- name: Docker info
run: |
docker info
- name: Configure qemu
run: |
./download-qemu-static.sh
- name: Build image
run: |
docker build \
--build-arg CUDA_VER \
--build-arg DISTRO_ARCH \
--build-arg DISTRO_NAME \
--build-arg DISTRO_VER \
-t condaforge/$DOCKERIMAGE:$DOCKERTAG \
-f ${DOCKERFILE:-${DOCKERIMAGE}}/Dockerfile \
--no-cache --squash .
- name: Run image
run: |
./.circleci/run_docker_build.sh
- name: Make readme file
run: |
./scripts/gen_readme
- name: Deploy
if: github.ref == 'refs/heads/main' && github.repository == 'conda-forge/docker-images'
env:
CFD_QUAY_PASSWORD: ${{ secrets.CFD_QUAY_PASSWORD }}
DH_PASSWORD: ${{ secrets.DH_PASSWORD }}
run: |
./scripts/deploy
- name: Push README to Dockerhub
if: github.ref == 'refs/heads/main' && github.repository == 'conda-forge/docker-images'
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1
env:
DOCKER_USER: condaforgebot
DOCKER_PASS: ${{ secrets.DH_PASSWORD }}
with:
destination_container_repo: condaforge/${{ matrix.cfg.DOCKERIMAGE }}:${{ matrix.cfg.DOCKERTAG }}
provider: dockerhub
short_description: "${{ matrix.cfg.SHORT_DESCRIPTION }}"
readme_file: "${{ matrix.cfg.DOCKERFILE == '' && matrix.cfg.DOCKERIMAGE || matrix.cfg.DOCKERFILE }}/README.md"
- name: Push README to Quay.io
if: github.ref == 'refs/heads/main' && github.repository == 'conda-forge/docker-images'
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1
env:
DOCKER_APIKEY: ${{ secrets.DOCKER_IMAGES_QUAY_API_KEY }}
with:
destination_container_repo: quay.io/condaforge/${{ matrix.cfg.DOCKERIMAGE }}:${{ matrix.cfg.DOCKERTAG }}
provider: quay
readme_file: "${{ matrix.cfg.DOCKERFILE == '' && matrix.cfg.DOCKERIMAGE || matrix.cfg.DOCKERFILE }}/README.md"
keepalive-job:
name: Keep alive
runs-on: ubuntu-latest
if: github.event_name == 'schedule'
permissions:
actions: write
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: gautamkrishnar/keepalive-workflow@3eb47f21355191080dca0f7662d45c192d2ef64d # 2.0.7