-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (113 loc) · 3.9 KB
/
Copy pathci.yml
File metadata and controls
134 lines (113 loc) · 3.9 KB
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
name: Ubuntu CI
on:
pull_request:
push:
tags:
- '*'
branches:
- main
schedule:
- cron: '30 2 * * 1,4' # Every Monday and Thursday @ 2h30am UTC
jobs:
check_skip:
runs-on: ubuntu-latest
if: |
!contains(format('{0} {1} {2}', github.event.head_commit.message, github.event.pull_request.title, github.event.pull_request.body), '[skip ci]')
steps:
- run: |
cat <<'MESSAGE'
github.event_name: ${{ toJson(github.event_name) }}
github.event:
${{ toJson(github.event) }}
MESSAGE
test:
needs: check_skip
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.11", "3.13"]
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6.1.0
with:
python-version: ${{ matrix.python-version }}
- name: Install virtualenv
run: python -m pip install virtualenv
- name: Checkout ddfacet-kernels
uses: actions/checkout@v6
- name: Checkout the DDfacet
uses: actions/checkout@v6
with:
repository: saopicc/DDFacet
path: DDFacet
# Consider pinning the python version to 3.8
- name: Generate DDFacet test data
run: |
python -m virtualenv -p ${{ matrix.python-version }} ${{ runner.temp }}/ddf-venv
source ${{ runner.temp }}/ddf-venv/bin/activate
pip install -r gen-test-data/test-requirements.txt
PYTHONPATH=DDFacet python gen-test-data/gen_test_data.py \
-lm "[(0, 0), (1e-5, 2e-5)]" \
--npix 101,1025 \
--nw 5,11 \
-f "0.856e9" \
-s 15,21 \
-o 11,15,21
ls -lh *.xz
rm -rf DDFacet
- name: Install the project with testing support
run: python -m pip install -e .[tests]
- name: Run the test cases
run: py.test -s -vvv --ddf-test-data test-data.pickle.xz
- name: Install the project with testing and numba support
run: python -m pip install -e .[tests,numba]
- name: Run the test cases
run: py.test -s -vvv --ddf-test-data test-data.pickle.xz
test-pypi-publish:
needs: [test]
runs-on: ubuntu-latest
# Run on a push to a tag or main
if: >
github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags') ||
github.event.ref == 'refs/heads/main')
environment:
name: testpypi
url: https://pypi.org/p/ddfacet-kernels
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- name: Set up Python
uses: actions/setup-python@v6.1.0
- name: Checkout source
uses: actions/checkout@v6
- name: Install build
run: python -m pip install --upgrade build
- name: Build distributions
run: python -m build --sdist --wheel
- name: Publish package distributions to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
skip-existing: true
pypi-publish:
needs: [test]
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
environment:
name: pypi
url: https://pypi.org/p/ddfacet-kernels
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- name: Set up Python
uses: actions/setup-python@v6.1.0
- name: Checkout source
uses: actions/checkout@v6
- name: Install build
run: python -m pip install --upgrade build
- name: Build distributions
run: python -m build --sdist --wheel
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1