From 4413ec4ba877fe3d49f12bd4a0077da1e081be72 Mon Sep 17 00:00:00 2001 From: nfb2021 Date: Mon, 7 Oct 2024 16:19:07 +0200 Subject: [PATCH] solving micromamba env creation --- .github/workflows/test.yml | 81 +++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3029c8c..32b9a9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ on: - cron: '0 0 * * *' # daily jobs: - build: + linux-tests: name: Build py${{ matrix.python-version }} @ ${{ matrix.os }} 🐍 runs-on: ${{ matrix.os }} strategy: @@ -19,11 +19,6 @@ jobs: python-version: ['3.8', '3.9', '3.10'] os: ['ubuntu-latest'] ymlfile: ['environment.yml'] - include: - - os: 'windows-latest' - python-version: '3.10' - ymlfile: 'environment.yml' - steps: - uses: actions/checkout@v2 with: @@ -39,13 +34,13 @@ jobs: shell: bash -l {0} run: | micromamba shell init -s bash -p ~/micromamba/envs/qa4sm_reader - micromamba create -y --name qa4sm_reader python=${{ matrix.python-version }} # Explicitly create the environment if not already created echo "source ~/micromamba/etc/profile.d/micromamba.sh" >> ~/.bashrc - - name: Activate environment + - name: Create and activate environment shell: bash -l {0} run: | source ~/micromamba/etc/profile.d/micromamba.sh + micromamba create -y --name qa4sm_reader --file ${{ matrix.ymlfile }} micromamba activate qa4sm_reader - name: Print environment infos @@ -85,9 +80,77 @@ jobs: COVERALLS_FLAG_NAME: ${{ matrix.python-version }} COVERALLS_PARALLEL: true + windows-tests: + name: Build py${{ matrix.python-version }} @ ${{ matrix.os }} 🐍 + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: ['3.10'] + os: ['windows-latest'] + ymlfile: ['environment.yml'] + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - uses: mamba-org/setup-micromamba@v1 + with: + micromamba-version: 'latest' + environment-file: ${{ matrix.ymlfile }} # Ensure the env file is correctly defined + micromamba-root-path: ~/micromamba # Optional, where to install micromamba + + - name: Initialize micromamba environment + shell: cmd + run: | + micromamba shell init -s cmd -p %USERPROFILE%\micromamba\envs\qa4sm_reader + + - name: Create and activate environment + shell: cmd + run: | + call %USERPROFILE%\micromamba\etc\profile.d\micromamba.cmd + micromamba create -y --name qa4sm_reader --file %USERPROFILE%\micromamba\envs\qa4sm_reader\${{ matrix.ymlfile }} + micromamba activate qa4sm_reader + + - name: Print environment infos + shell: cmd + run: | + micromamba info + micromamba list + pip list + where pip + where python + + - name: Export Environment + shell: cmd + run: | + mkdir artifacts + set filename=env_py${{ matrix.python-version }}_${{ matrix.os }}.yml + micromamba env export --name qa4sm_reader > artifacts\%filename% + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: Artifacts-py${{ matrix.python-version }}-${{ matrix.os }} + path: artifacts\* + + - name: Install package and test + shell: cmd + run: | + pip install -e . + pytest + + - name: Upload Coverage + shell: cmd + run: | + pip install coveralls && coveralls --service=github + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: ${{ matrix.python-version }} + COVERALLS_PARALLEL: true + coveralls: name: Submit Coveralls 👚 - needs: build + needs: [linux-tests, windows-tests] runs-on: ubuntu-latest container: python:3-slim steps: