Skip to content

Commit 591ef25

Browse files
authored
Merge pull request #18 from rok4/develop
Develop
2 parents cd5e395 + 8666d3f commit 591ef25

File tree

18 files changed

+687
-106
lines changed

18 files changed

+687
-106
lines changed

.coveragerc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[run]
2-
include =
3-
*/rok4/*
2+
include =
3+
*/src/*
44
omit =
55
*/__init__.py
66
command_line =

.github/workflows/build-and-release.yaml

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Test, build and release artefacts, build documentation
1+
name: Test, build and publish artefacts and documentation
22

33
on:
44
push:
@@ -55,45 +55,50 @@ jobs:
5555
uses: actions/setup-python@v4
5656
with:
5757
python-version: ${{ matrix.python-version }}
58+
cache: 'pip'
59+
cache-dependency-path: '**/pyproject.toml'
5860

59-
- name: Install Poetry
60-
uses: snok/install-poetry@v1
61-
with:
62-
virtualenvs-create: true
63-
virtualenvs-in-project: true
64-
65-
- name: Configure Poetry
61+
- name: Install system dependencies
6662
run: |
67-
poetry self add poetry-bumpversion
68-
poetry version ${{ github.ref_name }}
63+
sudo apt update
64+
sudo apt -y install python3-rados python3-gdal
6965
7066
- name: Install python dependencies
7167
run: |
72-
poetry install --no-interaction --no-root -E doc
68+
python3 -m venv .venv
69+
source .venv/bin/activate
70+
python3 -m pip install --upgrade build bump2version
71+
bump2version --current-version 0.0.0 --new-version ${{ github.ref_name }} patch pyproject.toml src/rok4/__init__.py
72+
pip install -e .
73+
echo "/usr/lib/python3/dist-packages/" >.venv/lib/python${{ matrix.python-version }}/site-packages/system.pth
7374
74-
- name: Install system dependencies
75+
- name: Run unit tests
76+
if: "(${{ matrix.os }}=='ubuntu-20.04')&&(${{ matrix.python-version }}=='3.8')"
7577
run: |
76-
sudo apt update
77-
sudo apt -y install python3-rados python3-gdal
78-
cp site-packages/*.pth .venv/lib/python${{ matrix.python-version }}/site-packages/
79-
poetry run python -c 'import sys; print (sys.path)'
78+
source .venv/bin/activate
79+
pip install -e .[test]
80+
coverage run -m pytest
81+
coverage report -m
8082
81-
- name: Run unit tests
83+
- name: Build unit tests report
8284
if: "(${{ matrix.os }}=='ubuntu-20.04')&&(${{ matrix.python-version }}=='3.8')"
8385
run: |
84-
poetry run coverage run -m pytest
85-
poetry run coverage report -m
86-
poetry run coverage html -d dist/tests/
86+
source .venv/bin/activate
87+
coverage html -d dist/tests/
8788
rm dist/tests/.gitignore
8889
8990
- name: Build package
9091
if: "(${{ matrix.os }}=='ubuntu-20.04')&&(${{ matrix.python-version }}=='3.8')"
91-
run: poetry build
92+
run: |
93+
source .venv/bin/activate
94+
python3 -m build
9295
9396
- name: Build documentation
9497
if: "(${{ matrix.os }}=='ubuntu-20.04')&&(${{ matrix.python-version }}=='3.8')"
9598
run: |
96-
poetry run pdoc3 --html --output-dir dist/ rok4
99+
source .venv/bin/activate
100+
pip install -e .[doc]
101+
pdoc3 --html --output-dir dist/ rok4
97102
cp README.md CHANGELOG.md dist/
98103
99104
- name: Upload packages, tests results and documentation
@@ -106,7 +111,7 @@ jobs:
106111
retention-days: 1
107112

108113
publish_artefacts:
109-
name: Add built artefacts to release
114+
name: Add built artefacts to release and PyPI
110115
needs: [create_release, build_and_test]
111116
if: "always()&&(needs.create_release.outputs.job_status=='success')&&(needs.build_and_test.outputs.job_status=='success')"
112117
runs-on: ubuntu-latest
@@ -140,6 +145,16 @@ jobs:
140145
asset_name: rok4-${{ github.ref_name }}.tar.gz
141146
asset_content_type: application/zip
142147

148+
- name: Isolate wheel and tarball
149+
run: |
150+
mkdir to_publish
151+
cp ./dist/rok4-${{ github.ref_name }}* to_publish/
152+
153+
- name: Publish to PyPI
154+
uses: pypa/gh-action-pypi-publish@release/v1
155+
with:
156+
password: ${{ secrets.PYPI_API_TOKEN }}
157+
packages_dir: to_publish/
143158

144159
commit_documentation:
145160
name: Add documentation and unit tests results into gh-pages branch

CHANGELOG.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
## Summary
22

3-
Ajout de fonctionnalités de lecture de donnée d'une pyramide
3+
Ajout de fonctionnalités de lecture de donnée d'une pyramide et suivi des recommandations PyPA pour la gestion du projet.
44

55
## Changelog
66

7-
### [Changed]
8-
9-
* TileMatrixSet : quelque soit le système de coordonnées, on ne gère que un ordre des axes X,Y ou Lon,Lat. Cependant, les fonctions de calcul de ou à partir de bbox respectent l'ordre du système dans ces dernières.
10-
117
### [Added]
128

139
* TileMatrix :
@@ -19,11 +15,15 @@ Ajout de fonctionnalités de lecture de donnée d'une pyramide
1915
* Fonction de lecture binaire, complète ou partielle, d'un fichier ou objet S3 ou CEPH
2016
* Exceptions : NotImplementedError permet de préciser qu'une fonctionnalité n'a pas été implémentée pour tous les cas. Ici, on ne gère pas la décompression des données raster pour les compressions packbit et LZW
2117

18+
* Ajout de la publication PyPI dans la CI GitHub
2219

2320
### [Changed]
2421

2522
* Storage :
2623
* La lecture sous forme de chaîne s'appuie sur la lecture complète binaire. Aucun changement à l'usage.
24+
* TileMatrixSet : quelque soit le système de coordonnées, on ne gère que un ordre des axes X,Y ou Lon,Lat. Cependant, les fonctions de calcul de ou à partir de bbox respectent l'ordre du système dans ces dernières.
25+
26+
* Passage de la configuration du projet dans le fichier `pyproject.toml`
2727

2828
<!--
2929
### [Added]

0 commit comments

Comments
 (0)