Merge pull request #288 from jaimergp/micromamba #520
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: 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 | |
DOCKERFILE: linux-anvil-cos7 | |
DOCKERTAG: latest | |
DISTRO_ARCH: "amd64" | |
DISTRO_NAME: "centos" | |
DISTRO_VER: "7" | |
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on x86_64" | |
- DOCKERIMAGE: linux-anvil-ppc64le | |
DOCKERFILE: linux-anvil-cos7 | |
DOCKERTAG: latest | |
DISTRO_ARCH: "ppc64le" | |
DISTRO_NAME: "centos" | |
DISTRO_VER: "7" | |
SHORT_DESCRIPTION: "conda-forge build image for Cent0S 7 on ppc64le" | |
- DOCKERIMAGE: linux-anvil-aarch64 | |
DOCKERFILE: linux-anvil-cos7 | |
DOCKERTAG: latest | |
DISTRO_ARCH: "arm64" | |
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@d632683dd7b4114ad314bca15554477dd762a938 # 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@d632683dd7b4114ad314bca15554477dd762a938 # v4 | |
- uses: gautamkrishnar/keepalive-workflow@3eb47f21355191080dca0f7662d45c192d2ef64d # 2.0.7 |