From a15ee1d672c4c6821ee3e18996532079138d8677 Mon Sep 17 00:00:00 2001 From: Anju Thomas Date: Tue, 12 Sep 2023 09:22:32 -0500 Subject: [PATCH 1/9] Add docker image for LTS packages --- .../anaconda_pkg_build_lts_linux.yml | 75 +++++++++++++++++++ anaconda-pkg-build-lts/linux/Dockerfile | 11 +++ 2 files changed, 86 insertions(+) create mode 100644 .github/workflows/anaconda_pkg_build_lts_linux.yml create mode 100644 anaconda-pkg-build-lts/linux/Dockerfile diff --git a/.github/workflows/anaconda_pkg_build_lts_linux.yml b/.github/workflows/anaconda_pkg_build_lts_linux.yml new file mode 100644 index 00000000..30451d0c --- /dev/null +++ b/.github/workflows/anaconda_pkg_build_lts_linux.yml @@ -0,0 +1,75 @@ +name: Build and publish Linux package builder images for LTS +on: + push: + branches: + - main + tags: + - 'pkg-build-*' + paths: + - 'anaconda-pkg-build-lts/linux/Dockerfile' + - '.github/workflows/anaconda_pkg_build_lts_linux.yml' + pull_request: + paths: + - 'anaconda-pkg-build-lts/linux/Dockerfile' + - '.github/workflows/anaconda_pkg_build_lts_linux.yml' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v3 + + - name: Login to DockerHub + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v2 + if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags') + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Login to Public ECR + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v2 + if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags') + with: + registry: public.ecr.aws + username: ${{ secrets.AWS_ACCESS_KEY_ID }} + password: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + env: + AWS_REGION: us-east-1 + + - name: Set up QEMU + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v2 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v2 + with: + version: latest + driver-opts: network=host + + - name: Docker meta + id: meta + uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v4 + with: + images: | + continuumio/anaconda-pkg-build-lts + public.ecr.aws/y0o4y9o3/anaconda-pkg-build-lts + tags: | + type=ref,event=branch + type=ref,event=pr + type=match,pattern=pkg-build-(.*),group=1 + + - name: build-push pkg-builder + uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v4 + with: + context: ./anaconda-pkg-build-lts/linux + builder: ${{ steps.buildx.outputs.name }} + file: ./anaconda-pkg-build-lts/linux/Dockerfile + platforms: linux/amd64,linux/ppc64le,linux/arm64/v8,linux/s390x + build-args: | + BASEVERSION=7 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + push: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags') }} + + \ No newline at end of file diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile new file mode 100644 index 00000000..7ceb0530 --- /dev/null +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -0,0 +1,11 @@ +# Dockerfile for container images that Anaconda, Inc. uses to build conda +# packages released on the "defaults" (repo.anaconda.com) channels. + +FROM continuumio/anaconda-pkg-build:latest + +RUN /opt/conda/bin/conda install --quiet --yes conda_time_machine + + +ENV PATH="/opt/conda/bin:${PATH}" + +CMD [ "/bin/bash" ] From 4887fd11460d34cb7a61fee0b762272b83882fb8 Mon Sep 17 00:00:00 2001 From: Anju Thomas Date: Tue, 12 Sep 2023 09:28:01 -0500 Subject: [PATCH 2/9] Fix lint errors --- .github/workflows/anaconda_pkg_build_lts_linux.yml | 2 -- anaconda-pkg-build-lts/linux/Dockerfile | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/anaconda_pkg_build_lts_linux.yml b/.github/workflows/anaconda_pkg_build_lts_linux.yml index 30451d0c..89b41afa 100644 --- a/.github/workflows/anaconda_pkg_build_lts_linux.yml +++ b/.github/workflows/anaconda_pkg_build_lts_linux.yml @@ -71,5 +71,3 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} push: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags') }} - - \ No newline at end of file diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 7ceb0530..82b0160f 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -4,7 +4,7 @@ FROM continuumio/anaconda-pkg-build:latest RUN /opt/conda/bin/conda install --quiet --yes conda_time_machine - + ENV PATH="/opt/conda/bin:${PATH}" From 0ceecbafa5fd5b7f22e97e80f4c3a6c908dcfb76 Mon Sep 17 00:00:00 2001 From: Anju Thomas Date: Tue, 12 Sep 2023 09:31:58 -0500 Subject: [PATCH 3/9] Set the tag to 2023.03.28 --- anaconda-pkg-build-lts/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 82b0160f..9000fa2f 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -1,7 +1,7 @@ # Dockerfile for container images that Anaconda, Inc. uses to build conda # packages released on the "defaults" (repo.anaconda.com) channels. -FROM continuumio/anaconda-pkg-build:latest +FROM continuumio/anaconda-pkg-build:2023.03.28 RUN /opt/conda/bin/conda install --quiet --yes conda_time_machine From 822ad7b62b884c8b21444bca16d737327b2ba0f5 Mon Sep 17 00:00:00 2001 From: Anju Thomas Date: Tue, 19 Sep 2023 21:23:18 -0500 Subject: [PATCH 4/9] Add channel --- anaconda-pkg-build-lts/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 9000fa2f..ac86d0f2 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -3,7 +3,7 @@ FROM continuumio/anaconda-pkg-build:2023.03.28 -RUN /opt/conda/bin/conda install --quiet --yes conda_time_machine +RUN /opt/conda/bin/conda install -c jcmorin-ana-org --quiet --yes anaconda-time-machine ENV PATH="/opt/conda/bin:${PATH}" From 6eba39f9964c088f5169e85222fe0be59187d1c3 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Morin Date: Thu, 21 Sep 2023 12:06:24 -0400 Subject: [PATCH 5/9] Add changes based on conversation with Daniel Bast --- .github/workflows/anaconda_pkg_build_lts_linux.yml | 8 ++++---- anaconda-pkg-build-lts/linux/Dockerfile | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/anaconda_pkg_build_lts_linux.yml b/.github/workflows/anaconda_pkg_build_lts_linux.yml index 89b41afa..b40d68ca 100644 --- a/.github/workflows/anaconda_pkg_build_lts_linux.yml +++ b/.github/workflows/anaconda_pkg_build_lts_linux.yml @@ -4,7 +4,7 @@ on: branches: - main tags: - - 'pkg-build-*' + - 'lts-pkg-build-*' paths: - 'anaconda-pkg-build-lts/linux/Dockerfile' - '.github/workflows/anaconda_pkg_build_lts_linux.yml' @@ -52,12 +52,12 @@ jobs: uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v4 with: images: | - continuumio/anaconda-pkg-build-lts - public.ecr.aws/y0o4y9o3/anaconda-pkg-build-lts + continuumio/anaconda-pkg-build + public.ecr.aws/y0o4y9o3/anaconda-pkg-build tags: | type=ref,event=branch type=ref,event=pr - type=match,pattern=pkg-build-(.*),group=1 + type=match,pattern=lts-pkg-build-(.*),group=1,suffix=-lts - name: build-push pkg-builder uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v4 diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index ac86d0f2..78c0e6e2 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -3,8 +3,7 @@ FROM continuumio/anaconda-pkg-build:2023.03.28 -RUN /opt/conda/bin/conda install -c jcmorin-ana-org --quiet --yes anaconda-time-machine - +RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine && /opt/conda/bin/conda update conda conda-build ENV PATH="/opt/conda/bin:${PATH}" From d6288cceb7d99b2f2882af193a666a6f39f52a7f Mon Sep 17 00:00:00 2001 From: Jean-Christophe Morin <38703886+JeanChristopheMorinPerso@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:24:39 -0400 Subject: [PATCH 6/9] Add suffix to all types of events Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> --- .github/workflows/anaconda_pkg_build_lts_linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/anaconda_pkg_build_lts_linux.yml b/.github/workflows/anaconda_pkg_build_lts_linux.yml index b40d68ca..af62c6dd 100644 --- a/.github/workflows/anaconda_pkg_build_lts_linux.yml +++ b/.github/workflows/anaconda_pkg_build_lts_linux.yml @@ -55,8 +55,8 @@ jobs: continuumio/anaconda-pkg-build public.ecr.aws/y0o4y9o3/anaconda-pkg-build tags: | - type=ref,event=branch - type=ref,event=pr + type=ref,event=branch,suffix=-lts + type=ref,event=pr,suffix=-lts type=match,pattern=lts-pkg-build-(.*),group=1,suffix=-lts - name: build-push pkg-builder From d1202edee411dba594028ade7c074b89a9d346f6 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Morin <38703886+JeanChristopheMorinPerso@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:25:49 -0400 Subject: [PATCH 7/9] Remove conda caches from the image Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> --- anaconda-pkg-build-lts/linux/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 78c0e6e2..120ee64f 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -3,7 +3,9 @@ FROM continuumio/anaconda-pkg-build:2023.03.28 -RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine && /opt/conda/bin/conda update conda conda-build +RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine \ + && /opt/conda/bin/conda update conda conda-build \ + && /opt/conda/bin/conda clean --index-cache --yes ENV PATH="/opt/conda/bin:${PATH}" From 8c7dae6500ad636adbb188b3aa2afa7da9c1d06a Mon Sep 17 00:00:00 2001 From: Jean-Christophe Morin <38703886+JeanChristopheMorinPerso@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:31:23 -0400 Subject: [PATCH 8/9] Use --yes with conda update --- anaconda-pkg-build-lts/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 120ee64f..9eb774e3 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -4,7 +4,7 @@ FROM continuumio/anaconda-pkg-build:2023.03.28 RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine \ - && /opt/conda/bin/conda update conda conda-build \ + && /opt/conda/bin/conda update --yes conda conda-build \ && /opt/conda/bin/conda clean --index-cache --yes ENV PATH="/opt/conda/bin:${PATH}" From 7c6eae3218f02b77f1b0064b7aa0de42c5df7dc7 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Morin Date: Mon, 25 Sep 2023 10:27:29 -0400 Subject: [PATCH 9/9] Pin anaconda-time-machine plugin --- anaconda-pkg-build-lts/linux/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/anaconda-pkg-build-lts/linux/Dockerfile b/anaconda-pkg-build-lts/linux/Dockerfile index 9eb774e3..1ea9445e 100644 --- a/anaconda-pkg-build-lts/linux/Dockerfile +++ b/anaconda-pkg-build-lts/linux/Dockerfile @@ -3,8 +3,8 @@ FROM continuumio/anaconda-pkg-build:2023.03.28 -RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine \ - && /opt/conda/bin/conda update --yes conda conda-build \ +RUN /opt/conda/bin/conda install --quiet --yes jcmorin-ana-org::anaconda-time-machine=0.4.0 \ + && /opt/conda/bin/conda update --quiet --yes conda conda-build \ && /opt/conda/bin/conda clean --index-cache --yes ENV PATH="/opt/conda/bin:${PATH}"