From 64ce5d9882961167af989a6579e9b6e2cd9e74f4 Mon Sep 17 00:00:00 2001 From: facusapienza21 Date: Wed, 31 Jul 2024 16:33:30 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/workfl?= =?UTF-8?q?ows/CI.yml'=20with=20remote=20'.github/workflows/CI.yml'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/CI.yml | 83 ++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 38 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e5b37cb..5204aec 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -22,64 +22,71 @@ jobs: fail-fast: false matrix: version: - - '1.9' - python: [3.9] - os: - - ubuntu-latest + - '1.10' + python: + - '3.10' + os: [ubuntu-latest, macos-latest] arch: - x64 steps: - - uses: actions/checkout@v2 + # Cancel ongoing CI test runs if pushing to branch again before the previous tests + # have finished + - name: Cancel ongoing test runs for previous commits + uses: styfle/cancel-workflow-action@0.12.1 + with: + access_token: ${{ github.token }} + # Do tests + - uses: actions/checkout@v4 - name: Set up Python 🐍 ${{ matrix.python }} uses: actions/setup-python@v2 with: - python-version: ${{ matrix.python }} - - name: Create environment with micromamba 🐍🖤 - uses: mamba-org/setup-micromamba@v1 - with: - micromamba-version: '1.5.6-0' - environment-file: ./environment.yml - environment-name: oggm_env # it is recommendable to add both name and yml file. - init-shell: bash - cache-environment: true -# condarc-file: ./condarc.yml # If necessary, we can include .condarc to configure environment - - name: Test creation of environment with micromamba 🔧🐍🖤 - run: | - which python - conda env export - shell: bash -el {0} - - name: Update certifi - run: | - pip install --upgrade certifi + python-version: ${{ matrix.python }} + - name: Install certifi and set SSL_CERT_FILE + run: | + pip install --upgrade certifi + echo "SSL_CERT_FILE=$(python -c 'import certifi; print(certifi.where())')" >> $GITHUB_ENV shell: bash -el {0} -# - name: Test OGGM installation 🔧🌎 -# run: pytest.oggm -# shell: bash -el {0} - - name: Set ENV Variables for PyCall.jl 🐍 📞 - run: export PYTHON=/home/runner/micromamba/envs/oggm_env/bin/python - shell: bash -el {0} - - uses: julia-actions/setup-julia@v1 + - uses: julia-actions/setup-julia@latest with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - name: Check Julia SSL certifications 🔎🔐 run: julia -e 'using NetworkOptions; println(NetworkOptions.bundled_ca_roots()); println(NetworkOptions.ca_roots())' shell: bash -el {0} - - uses: julia-actions/cache@v1 + - uses: julia-actions/cache@v2 with: cache-registries: "true" cache-compiled: "true" + - uses: actions/cache@v4 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + - name: Install dependencies on Ubuntu + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libxml2 + shell: bash -el {0} + - name: Install dependencies on macOS + if: matrix.os == 'macos-latest' + run: | + brew install libxml2 + export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig" + shell: bash -el {0} - uses: julia-actions/julia-buildpkg@v1 env: - PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python - # The SSL certificate path can be readed from the action "Check Julia SSL certifications" - SSL_CERT_FILE: /etc/ssl/certs/ca-certificates.crt - - uses: julia-actions/julia-runtest@v1 + JULIA_SSL_CA_ROOTS_PATH: "" + - uses: julia-actions/julia-runtest@latest env: - PYTHON : /home/runner/micromamba/envs/oggm_env/bin/python - SSL_CERT_FILE: /etc/ssl/certs/ca-certificates.crt + JULIA_SSL_CA_ROOTS_PATH: "" - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v3 + - uses: codecov/codecov-action@v4 with: token: ${{secrets.CODECOV_TOKEN}} files: lcov.info