From 04c0bd2ff31de80544ae7dac3b3579d26afbabd1 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:18:25 -0800 Subject: [PATCH 1/6] Add the actions --- .github/workflows/create-docker.yml | 27 +++++++++++++++++++++++ .github/workflows/create-env.yml | 34 +++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 .github/workflows/create-docker.yml create mode 100644 .github/workflows/create-env.yml diff --git a/.github/workflows/create-docker.yml b/.github/workflows/create-docker.yml new file mode 100644 index 0000000..0578be8 --- /dev/null +++ b/.github/workflows/create-docker.yml @@ -0,0 +1,27 @@ +name: Create Docker images + +on: + push: + tags: "*" + +jobs: + create_docker: + runs-on: ubuntu-latest + strategy: + matrix: + config: ["release"] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@v4 + with: + name: ${{ github.repository }}/${{ matrix.config }}:${{ github.ref_name }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + dockerfile: ${{ matrix.config }}.dockerfile + registry: ghcr.io + snapshot: true + buildoptions: "--compress --force-rm" diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml new file mode 100644 index 0000000..4055daf --- /dev/null +++ b/.github/workflows/create-env.yml @@ -0,0 +1,34 @@ +name: Create the environment + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + config: ["release"] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: mamba-org/setup-micromamba@v2 + with: + environment-file: envs/{{ matrix.config }}.yml + init-shell: >- + bash + cache-environment: true + post-cleanup: "all" + + - name: Test for import + run: python -c "import genomicranges" + shell: bash -el {0} + + - name: Snapshot the package versions in the environment + run: pip list + shell: micromamba-shell {0} From 3752e6c6eb1e81876b95cec9e553dd94237b6500 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:29:44 -0800 Subject: [PATCH 2/6] minor changes --- .github/workflows/create-docker.yml | 7 +++---- .github/workflows/create-env.yml | 17 +++++++++++++---- envs/release.yml | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/create-docker.yml b/.github/workflows/create-docker.yml index 0578be8..1c7d02b 100644 --- a/.github/workflows/create-docker.yml +++ b/.github/workflows/create-docker.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - config: ["release"] + conda-config: [release] steps: - name: Checkout @@ -18,10 +18,9 @@ jobs: - name: Publish to Registry uses: elgohr/Publish-Docker-Github-Action@v4 with: - name: ${{ github.repository }}/${{ matrix.config }}:${{ github.ref_name }} + name: ${{ github.repository }}/${{ matrix.conda-config }}:${{ github.ref_name }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - dockerfile: ${{ matrix.config }}.dockerfile + dockerfile: ${{ matrix.conda-config }}.dockerfile registry: ghcr.io snapshot: true - buildoptions: "--compress --force-rm" diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml index 4055daf..b6af2d4 100644 --- a/.github/workflows/create-env.yml +++ b/.github/workflows/create-env.yml @@ -2,16 +2,16 @@ name: Create the environment on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] jobs: build: runs-on: ubuntu-latest strategy: matrix: - config: ["release"] + conda-config: [release] steps: - name: Checkout @@ -19,12 +19,21 @@ jobs: - uses: mamba-org/setup-micromamba@v2 with: - environment-file: envs/{{ matrix.config }}.yml + environment-file: envs/{{ matrix.conda-config }}.yml init-shell: >- bash cache-environment: true + cache-downloads: true post-cleanup: "all" + - name: Check environment and Python version + run: | + python --version + micromamba --version + micromamba activate biocpy_{{ matrix.conda-config }} + python --version + printenv + - name: Test for import run: python -c "import genomicranges" shell: bash -el {0} diff --git a/envs/release.yml b/envs/release.yml index a999e5d..a33c848 100644 --- a/envs/release.yml +++ b/envs/release.yml @@ -1,4 +1,4 @@ -name: biocpy_devel +name: biocpy_release channels: - conda-forge dependencies: From 40e6f56c9b7a1fca24a55b7a6c402d35fc220f80 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:31:42 -0800 Subject: [PATCH 3/6] list the directory --- .github/workflows/create-env.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml index b6af2d4..c3ae9ca 100644 --- a/.github/workflows/create-env.yml +++ b/.github/workflows/create-env.yml @@ -17,6 +17,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Check environment and Python version + run: | + pwd + ls -la + - uses: mamba-org/setup-micromamba@v2 with: environment-file: envs/{{ matrix.conda-config }}.yml From b6b85660162339bfcb1e378784fa1af7d7f92cd2 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:38:30 -0800 Subject: [PATCH 4/6] forgot $!! --- .github/workflows/create-env.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml index c3ae9ca..9295807 100644 --- a/.github/workflows/create-env.yml +++ b/.github/workflows/create-env.yml @@ -17,14 +17,9 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Check environment and Python version - run: | - pwd - ls -la - - uses: mamba-org/setup-micromamba@v2 with: - environment-file: envs/{{ matrix.conda-config }}.yml + environment-file: envs/${{ matrix.conda-config }}.yml init-shell: >- bash cache-environment: true @@ -35,7 +30,7 @@ jobs: run: | python --version micromamba --version - micromamba activate biocpy_{{ matrix.conda-config }} + micromamba activate biocpy_${{ matrix.conda-config }} python --version printenv From 2a45d39569a67e484ffaa0d82accc28065bc94b6 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:46:07 -0800 Subject: [PATCH 5/6] run in a mamba shell --- .github/workflows/create-env.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml index 9295807..5d9518f 100644 --- a/.github/workflows/create-env.yml +++ b/.github/workflows/create-env.yml @@ -33,6 +33,7 @@ jobs: micromamba activate biocpy_${{ matrix.conda-config }} python --version printenv + shell: micromamba-shell {0} - name: Test for import run: python -c "import genomicranges" From d6c469b6eafc7addffab086d48423a6f361dd2fe Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Fri, 24 Jan 2025 09:58:15 -0800 Subject: [PATCH 6/6] Use micromamba docker image --- .github/workflows/create-env.yml | 9 --------- release.dockerfile | 10 +++++----- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/workflows/create-env.yml b/.github/workflows/create-env.yml index 5d9518f..92849b9 100644 --- a/.github/workflows/create-env.yml +++ b/.github/workflows/create-env.yml @@ -26,15 +26,6 @@ jobs: cache-downloads: true post-cleanup: "all" - - name: Check environment and Python version - run: | - python --version - micromamba --version - micromamba activate biocpy_${{ matrix.conda-config }} - python --version - printenv - shell: micromamba-shell {0} - - name: Test for import run: python -c "import genomicranges" shell: bash -el {0} diff --git a/release.dockerfile b/release.dockerfile index 219b56d..7a88ab2 100644 --- a/release.dockerfile +++ b/release.dockerfile @@ -1,7 +1,7 @@ -FROM condaforge/miniforge3:latest +FROM mambaorg/micromamba:2.0.5 -WORKDIR /biocenv -COPY . /biocenv -RUN mamba --version +COPY --chown=$MAMBA_USER:$MAMBA_USER envs/release.yml /tmp/env.yaml +RUN micromamba --version -RUN mamba env create -f env/release.yml +RUN micromamba install -y -n base -f /tmp/env.yaml && \ + micromamba clean --all --yes