77 ' e2e/**' ,
88 ' pyproject.toml' ,
99 ' poetry.lock' ,
10+ ' VERSION' ,
1011 ' .github/workflows/.tests-and-publish-python.yml' ,
11- ' .github/workflows/.e2e-tests.yml'
12+ ' .github/workflows/.e2e-tests.yml' ,
13+ ' !fittrackee/dist/**'
1214 ]
1315 pull_request :
1416 paths : [
1517 ' fittrackee/**' ,
1618 ' e2e/**' ,
1719 ' pyproject.toml' ,
1820 ' poetry.lock' ,
21+ ' VERSION' ,
1922 ' .github/workflows/.tests-and-publish-python.yml' ,
20- ' .github/workflows/.e2e-tests.yml'
23+ ' .github/workflows/.e2e-tests.yml' ,
24+ ' !fittrackee/dist/**'
2125 ]
2226 types : [opened, synchronize, reopened]
2327
3438jobs :
3539 python :
3640 if : ${{ github.event_name == 'push' || github.event.pull_request.head.repo.fork }}
37- name : python ${{ matrix.python-version }} (postgresql 17)
41+ name : python ${{ matrix.python-version }} (postgis 17-3.5 )
3842 runs-on : ubuntu-latest
3943 container : python:${{ matrix.python-version }}
4044 services :
4145 postgres :
42- image : postgres :17
46+ image : postgis/postgis :17-3.5-alpine
4347 env :
4448 POSTGRES_PASSWORD : postgres
4549 options : >-
4953 --health-retries 5
5054 strategy :
5155 matrix :
52- python-version : [ "3.9", "3. 10", "3.11", "3.12", "3.13" ]
56+ python-version : [ "3.10", "3.11", "3.12", "3.13" ]
5357 steps :
5458
5559 - uses : actions/checkout@v4
@@ -83,31 +87,67 @@ jobs:
8387 - name : Coveralls
8488 if : ${{ matrix.python-version == '3.10' && github.repository == 'SamR1/FitTrackee' }}
8589 env :
86- COVERALLS_REPO_TOKEN : ${{ secrets.COVERALLS_REPO_TOKEN }}
90+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8791 run : |
8892 pip install coveralls
8993 git config --global --add safe.directory "$GITHUB_WORKSPACE"
90- coveralls --service=github-actions
94+ coveralls
9195
9296 - name : Pytest
9397 if : matrix.python-version != '3.10'
9498 run : pytest fittrackee -n auto --maxprocesses=2 -p no:warnings --maxfail=1
9599
96- python-next :
100+ # needs cffi 2+ for Python 3.14 support
101+ # python-next:
102+ # if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.fork }}
103+ # name: python 3.14-rc (postgis 17-3.5)
104+ # runs-on: ubuntu-latest
105+ # container: python:3.14-rc
106+ # services:
107+ # postgres:
108+ # image: postgis/postgis:17-3.5-alpine
109+ # env:
110+ # POSTGRES_PASSWORD: postgres
111+ # options: >-
112+ # --health-cmd pg_isready
113+ # --health-interval 10s
114+ # --health-timeout 5s
115+ # --health-retries 5
116+ # steps:
117+ #
118+ # - uses: actions/checkout@v4
119+ #
120+ # - name: Install Poetry and Dependencies
121+ # run: |
122+ # python -m pip install --upgrade pip
123+ # pip install --quiet poetry
124+ # poetry config virtualenvs.create false
125+ # poetry install --no-interaction --quiet
126+ #
127+ # - name: Create test databases
128+ # run: python db/create_ci_test_db.py
129+ #
130+ # - name: Pytest
131+ # run: pytest fittrackee -n auto --maxprocesses=2 -p no:warnings --maxfail=1
132+
133+ postgis :
97134 if : ${{ github.event_name == 'push' || github.event.pull_request.head.repo.fork }}
98- name : python 3.14-rc (postgresql 17 )
135+ name : postgis ${{ matrix.psql-version }} (python 3.10 )
99136 runs-on : ubuntu-latest
100- container : python:3.14-rc
137+ container : python:3.10
101138 services :
102139 postgres :
103- image : postgres:17
140+ image : postgis/postgis:${{ matrix.psql-version }}-alpine
104141 env :
105142 POSTGRES_PASSWORD : postgres
106143 options : >-
107144 --health-cmd pg_isready
108145 --health-interval 10s
109146 --health-timeout 5s
110147 --health-retries 5
148+ strategy :
149+ matrix :
150+ psql-version : [ "13-3.5", "14-3.5", "15-3.5", "16-3.5", "17-3.4", "17-3.6", "18-3.6" ]
111151 steps :
112152
113153 - uses : actions/checkout@v4
@@ -123,26 +163,24 @@ jobs:
123163 run : python db/create_ci_test_db.py
124164
125165 - name : Pytest
126- run : pytest fittrackee -n auto --maxprocesses=2 -p no:warnings --maxfail=1
166+ run : pytest fittrackee -n auto --maxprocesses=2 -p no:warnings --maxfail=1
167+
127168
128- postgresql :
169+ arm :
129170 if : ${{ github.event_name == 'push' || github.event.pull_request.head.repo.fork }}
130- name : postgresql ${{ matrix.psql-version }} (python 3.10 )
131- runs-on : ubuntu-latest
132- container : python:3.10
171+ name : postgis 17-3.5 on arm platform (python 3.13 )
172+ runs-on : ubuntu-24.04-arm
173+ container : python:3.13
133174 services :
134175 postgres :
135- image : postgres:${{ matrix.psql-version }}
176+ image : imresamu/postgis:17-3.5-alpine
136177 env :
137178 POSTGRES_PASSWORD : postgres
138179 options : >-
139180 --health-cmd pg_isready
140181 --health-interval 10s
141182 --health-timeout 5s
142183 --health-retries 5
143- strategy :
144- matrix :
145- psql-version : [ "12", "13", "14", "15", "16" ]
146184 steps :
147185
148186 - uses : actions/checkout@v4
@@ -168,7 +206,7 @@ jobs:
168206 container : python:3.13
169207 services :
170208 postgres :
171- image : postgres :17
209+ image : postgis/postgis :17-3.5-alpine
172210 env :
173211 POSTGRES_DB : fittrackee_test
174212 POSTGRES_USER : fittrackee
@@ -273,7 +311,7 @@ jobs:
273311 publish-to-pypi :
274312 if : github.repository == 'SamR1/FitTrackee' && startsWith(github.ref, 'refs/tags/v')
275313 name : Publish Python distribution to PyPI
276- needs : ["end2end", "end2end_package", "end2end_package_update"]
314+ needs : ["postgis", "arm", " end2end", "end2end_package", "end2end_package_update"]
277315 runs-on : ubuntu-latest
278316 environment :
279317 name : pypi
@@ -336,7 +374,7 @@ jobs:
336374 push_to_registries :
337375 if : github.repository == 'SamR1/FitTrackee' && startsWith(github.ref, 'refs/tags/v')
338376 name : Push Docker image to multiple registries
339- needs : ["end2end", "end2end_package", "end2end_package_update"]
377+ needs : ["postgis", "arm", " end2end", "end2end_package", "end2end_package_update"]
340378 runs-on : ubuntu-latest
341379 permissions :
342380 contents : read
0 commit comments