From 862af3ea3fa844688efd0409097cbfac87c72949 Mon Sep 17 00:00:00 2001 From: facusapienza21 Date: Fri, 2 Aug 2024 12:03:09 +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 | 84 +++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 592ef8e..aaff802 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -7,8 +7,6 @@ on: branches: [] tags: '*' concurrency: - # Skip intermediate builds: always. - # Cancel intermediate builds: only if it is a pull request build. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: @@ -23,63 +21,71 @@ jobs: matrix: version: - '1.10' - python: [3.9] - os: - - ubuntu-latest + python: + - '3.10' + os: [ubuntu-latest, macos-latest] arch: - x64 steps: - - uses: actions/checkout@v2 + - name: Cancel ongoing test runs for previous commits + uses: styfle/cancel-workflow-action@0.12.1 + with: + access_token: ${{ github.token }} + - 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 - 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 + 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} - - 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 + - name: Install dependencies on Ubuntu + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libxml2 libspatialite-dev + export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH + - name: Install dependencies on macOS + if: matrix.os == 'macos-latest' + run: | + brew install libxml2 libspatialite + export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig" + - 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 }}- - 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: "" + - name: Ensure Conda Environment Variables + run: | + source ~/.bashrc + echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/runner/work/Sleipnir.jl/Sleipnir.jl/.CondaPkg/env/lib" >> $GITHUB_ENV + echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/runner/work/Sleipnir.jl/Sleipnir.jl/.CondaPkg/env/lib/pkgconfig" >> $GITHUB_ENV + - 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