Skip to content

Commit

Permalink
Merge pull request #118 from echemdata/ml-evs/lfs
Browse files Browse the repository at this point in the history
LFS workaround using archived releases in CI
  • Loading branch information
ml-evs authored Jul 12, 2024
2 parents d33c6f7 + 1e53de5 commit 7d26499
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 7 deletions.
27 changes: 23 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,30 @@ jobs:
python-version: ['3.8', '3.9', '3.10', '3.11']

steps:
- name: Cached LFS checkout
uses: nschloe/[email protected]
- uses: actions/checkout@v4
with:
fetch-depth: 0
enableCrossOsArchive: true
lfs: false

# Due to limited LFS bandwidth, it is preferable to download
# test files from the last release.
#
# This does mean that testing new LFS files in the CI is tricky;
# care should be taken to also test new files locally first
# Tests missing these files in the CI should still fail.
- name: Download static files from last release for testing
uses: robinraju/release-downloader@v1
with:
latest: true
tarBall: false
fileName: "galvani-*.gz"
zipBall: false
out-file-path: /home/runner/work/last-release
extract: true

- name: Copy test files from static downloaded release
run: |
cp -r /home/runner/work/last-release/*/tests/testdata tests
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
Expand All @@ -50,5 +69,5 @@ jobs:
tox -vv --notest
- name: Run all tests
run: |
run: |-
tox --skip-pkg-install
20 changes: 18 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,30 @@ The latest galvani releases can be installed from [PyPI](https://pypi.org/projec
pip install galvani
```

The latest development version can be installed with `pip` directly from GitHub:
The latest development version can be installed with `pip` directly from GitHub (see note about git-lfs below):

```shell
pip install git+https://github.com/echemdata/galvani
GIT_LFS_SKIP_SMUDGE=1 pip install git+https://github.com/echemdata/galvani
```

## Development installation and contributing

> [!WARNING]
>
> This project uses Git Large File Storage (LFS) to store its test files,
> however the LFS quota provided by GitHub is frequently exceeded.
> This means that anyone cloning the repository with LFS installed will get
> failures unless they set the `GIT_LFS_SKIP_SMUDGE=1` environment variable when
> cloning.
> The full test data from the last release can always be obtained by
> downloading the GitHub release archives (tar or zip), at
> https://github.com/echemdata/galvani/releases/latest
>
> If you wish to add test files, please ensure they are as small as possible,
> and take care that your tests work locally without the need for the LFS files.
> Ideally, you could commit them to your fork when making a PR, and then they
> can be converted to LFS files as part of the review.
If you wish to contribute to galvani, please clone the repository and install the testing dependencies:

```shell
Expand Down
2 changes: 1 addition & 1 deletion galvani/BioLogic.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ def MPTfileCSV(file_or_path):
11: ("<I>/mA", "<f8"),
13: ("(Q-Qo)/mA.h", "<f8"),
16: ("Analog IN 1/V", "<f4"),
17: ("Analog IN 2/V", "<f4"), # Probably column 18 is Analog IN 3/V, if anyone hits this error in the future
17: ("Analog IN 2/V", "<f4"), # Probably column 18 is Analog IN 3/V, if anyone hits this error in the future # noqa: E501
19: ("control/V", "<f4"),
20: ("control/mA", "<f4"),
23: ("dQ/mA.h", "<f8"), # Same as 7?
Expand Down

0 comments on commit 7d26499

Please sign in to comment.