-
Notifications
You must be signed in to change notification settings - Fork 7
137 lines (124 loc) · 5 KB
/
publish-client.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: test_and_publish
on:
push:
tags:
- 'client-*'
jobs:
# TODO
# Faire des tests
# test:
# runs-on: ubuntu-latest
# steps:
# #----------------------------------------------
# # check-out repo and set-up python
# #----------------------------------------------
# - name: Check out repository
# uses: actions/checkout@v3
# - name: Set up python
# id: setup-python
# uses: actions/setup-python@v4
# with:
# python-version: '3.9'
# #----------------------------------------------
# # ----- install & configure poetry -----
# #----------------------------------------------
# - name: Install Poetry
# uses: snok/install-poetry@v1
# with:
# virtualenvs-create: true
# virtualenvs-in-project: true
# installer-parallel: true
# #----------------------------------------------
# # load cached venv if cache exists
# #----------------------------------------------
# - name: Load cached venv
# id: cached-poetry-dependencies
# uses: actions/cache@v3
# with:
# path: .venv
# key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
# #----------------------------------------------
# # install dependencies if cache does not exist
# #----------------------------------------------
# - name: Install dependencies
# if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
# run: poetry install --no-interaction --without dev
# #----------------------------------------------
# # add only pytest for tests (not the full dev dependencies to avoid installing spyder)
# #----------------------------------------------
# - name: Add pytest
# run: poetry run pip install pytest
# #----------------------------------------------
# # add only pytest-cov for tests (not the full dev dependencies to avoid installing spyder)
# #----------------------------------------------
# - name: Add pytest-cov
# run: poetry run pip install pytest-cov
# #----------------------------------------------
# # run test suite
# #----------------------------------------------
# - name: Run tests
# env:
# insee_key: ${{secrets.INSEE_KEY}}
# insee_secret: ${{secrets.INSEE_SECRET}}
# run: poetry run pytest --cov -W error
publish:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./python-package/cartiflette
# needs: test
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v3
- name: Set up python
id: setup-python
uses: actions/setup-python@v4
with:
python-version: '3.9'
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
# with:
# virtualenvs-create: true
# virtualenvs-in-project: true
# installer-parallel: true
#----------------------------------------------
# load cached venv if cache exists
#----------------------------------------------
# - name: Load cached venv
# id: cached-poetry-dependencies
# uses: actions/cache@v3
# with:
# path: .venv
# key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
#----------------------------------------------
# install dependencies if cache does not exist
#----------------------------------------------
# - name: Install dependencies
# if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
# run: poetry install --no-interaction --no-root --without dev --extras "full"
#----------------------------------------------
# install your root project, if required
#----------------------------------------------
# - name: Install project
# run: poetry install --no-interaction --without dev
#----------------------------------------------
# config pypi token
#----------------------------------------------
- name: Set pypi token
run: poetry config pypi-token.pypi ${{secrets.PAT_PYPI}}
#----------------------------------------------
# build
#----------------------------------------------
- name: Build
run: poetry build
#----------------------------------------------
# run test suite
#----------------------------------------------
- name: Publish to Pypi
run: poetry publish