Skip to content

Commit

Permalink
Update all tests dependencies
Browse files Browse the repository at this point in the history
- Python 3.12
- Julia 1.10
- R 4.3.2
- All versions of packages dependencies

- Update GHA workflow accordingly
- Add dev documentation

- Adapt for newer Julia action issue

julia-actions/[email protected] is using `tar` for Windows installation
now but uses any `tar` from PATH. However, it requires a `tar.exe` that
can handle Windows paths with drive letters.

In our workflow, `tar` is found in `/usr/bin/tar` from rtools being
added to PATH. This leads to error as it does not support the drive
letters.

Not adding rtools to PATH will solve, and should not impact the workflow
as pak is used for R packages installation.

More details about this issue at julia-actions/setup-julia#205
  • Loading branch information
cderv committed Feb 19, 2024
1 parent 6f4e15c commit eb0f765
Show file tree
Hide file tree
Showing 9 changed files with 1,256 additions and 1,127 deletions.
17 changes: 10 additions & 7 deletions .github/workflows/test-smokes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ on:
schedule:
- cron: "0 6 * * *"

permissions:
actions: write
contents: read

jobs:
run-smokes:
name: Run smoke (${{ matrix.os }})${{ matrix.time-test && ' with timed file' || ''}}
Expand Down Expand Up @@ -57,8 +61,10 @@ jobs:
- name: Set up R
uses: r-lib/actions/setup-r@v2
with:
r-version: "4.2.2"
r-version: "4.3.2"
use-public-rspm: true
# required to avoid rtools bin in path
windows-path-include-rtools: false

- name: Install node (for Playwright, MECA)
uses: actions/setup-node@v3
Expand Down Expand Up @@ -124,7 +130,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
python-version: "3.12"
cache: "pipenv"
cache-dependency-path: "./tests/Pipfile.lock"

Expand All @@ -149,15 +155,12 @@ jobs:
uses: browser-actions/setup-chrome@latest

- name: Setup Julia
uses: julia-actions/setup-julia@v1.9.4
uses: julia-actions/setup-julia@v1
with:
version: 1.9.3
version: "1.10"

- name: Cache Julia Packages
uses: julia-actions/cache@v1
with:
cache-name: version-1
cache-registries: true

- name: Restore Julia Packages
working-directory: tests
Expand Down
46 changes: 46 additions & 0 deletions dev-docs/configuring-test-deps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Installing and configuring the main tools

## Julia

- Install `juliaup`
- Install version to use e.g `juliaup add 1.10`
- Configure `tests` folder to use a specific version

```
cd tests
juliaup override unset
juliaup override 1.10
```

This way when calling `julia` in `tests` folder it will always be Julia 1.10 version

## Python

- Install `pyenv`
- Install a specic version e.g `pyenv install 3.12.1`
- Configure `tests` to use a specific version

```
cd tests
pyenv local 3.12.1
```

This way when calling `python` in `tests` folder it will always be Python 3.12.1 version

## R

- Install `rig`
- Install R version e.g `rig add 4.3.2`
- For now, no way to just configure a folder to use a specific version, so you need to set the version globally

```
rig default 4.3.2
```

## NPM

- Install `npm` needed for meca

# Installing the dependencies in each languages packages

- From `tests` folder, run `configure-test-env` scripts to restore dependencies for each tools
2 changes: 1 addition & 1 deletion tests/.python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.11.1
3.12.1
Loading

0 comments on commit eb0f765

Please sign in to comment.