1
+ name : change_related_first_order
2
+
3
+ on :
4
+ push :
5
+ tags :
6
+ - prsync.**
7
+ workflow_dispatch :
8
+
9
+ permissions :
10
+ contents : read
11
+
12
+ env :
13
+ NB_KERNEL : python
14
+ MPLBACKEND : Agg
15
+ SEABORN_DATA : ${{ github.workspace }}/seaborn-data
16
+ PYDEVD_DISABLE_FILE_VALIDATION : 1
17
+
18
+ jobs :
19
+ # build-docs:
20
+ # runs-on: ubuntu-latest
21
+ # steps:
22
+ # - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
23
+
24
+ # - name: Setup Python 3.11
25
+ # uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
26
+ # with:
27
+ # python-version: "3.11"
28
+
29
+ # - name: Install seaborn
30
+ # run: |
31
+ # pip install --upgrade pip
32
+ # pip install .[stats,docs]
33
+
34
+ # - name: Install pandoc
35
+ # run: |
36
+ # wget https://github.com/jgm/pandoc/releases/download/3.1.11/pandoc-3.1.11-1-amd64.deb
37
+ # sudo dpkg -i pandoc-3.1.11-1-amd64.deb
38
+
39
+ # - name: Cache datasets
40
+ # run: |
41
+ # git clone https://github.com/mwaskom/seaborn-data.git
42
+ # ls $SEABORN_DATA
43
+
44
+ # - name: Build docs
45
+ # env:
46
+ # SPHINXOPTS: -j `nproc`
47
+ # run: |
48
+ # cd doc
49
+ # make -j `nproc` notebooks
50
+ # make html
51
+
52
+
53
+ run-tests :
54
+ runs-on : ubuntu-latest
55
+
56
+ strategy :
57
+ matrix :
58
+ python : ["3.12"] # ["3.8", "3.9", "3.10", "3.11", "3.12"]
59
+ install : [full]
60
+ deps : [latest]
61
+
62
+ # include:
63
+ # - python: "3.8"
64
+ # install: full
65
+ # deps: pinned
66
+ # - python: "3.11"
67
+ # install: light
68
+ # deps: latest
69
+
70
+ steps :
71
+ - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
72
+
73
+ - name : Setup Python ${{ matrix.python }}
74
+ uses : actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
75
+ with :
76
+ python-version : ${{ matrix.python }}
77
+ allow-prereleases : true
78
+
79
+ - name : Install seaborn
80
+ run : |
81
+ pip install --upgrade pip wheel
82
+ if [[ ${{matrix.install}} == 'full' ]]; then EXTRAS=',stats'; fi
83
+ if [[ ${{matrix.deps }} == 'pinned' ]]; then DEPS='-r ci/deps_pinned.txt'; fi
84
+ pip install .[dev$EXTRAS] $DEPS
85
+
86
+ - name : Install pytest-ranking
87
+ run : pip install pytest-ranking
88
+
89
+ - name : Restore pytest-ranking cache
90
+ id : restore-pytest-ranking-cache
91
+ if : always()
92
+ uses : actions/cache/restore@v4
93
+ with :
94
+ path : ${{ github.workspace }}/.pytest_cache/v/pytest_ranking_data
95
+ key : pytest-ranking-cache-${{ github.workflow }}-${{ runner.os }}-${{ matrix.python }}
96
+
97
+ - name : Run tests
98
+ run : pytest -v --durations=0 -n auto --cov=seaborn --cov=tests --cov-config=setup.cfg tests --rank --rank-weight=0-0-1
99
+
100
+ - name : Save pytest-ranking cache
101
+ id : save-pytest-ranking-cache
102
+ if : always()
103
+ uses : actions/cache/save@v4
104
+ with :
105
+ path : ${{ github.workspace }}/.pytest_cache/v/pytest_ranking_data
106
+ key : pytest-ranking-cache-${{ github.workflow }}-${{ runner.os }}-${{ matrix.python }}-${{ github.run_id }}
107
+
108
+ - name : Upload coverage
109
+ uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
110
+ if : ${{ success() }}
111
+
112
+ # lint:
113
+ # runs-on: ubuntu-latest
114
+ # strategy:
115
+ # fail-fast: false
116
+ # steps:
117
+
118
+ # - name: Checkout
119
+ # uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
120
+
121
+ # - name: Setup Python
122
+ # uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
123
+
124
+ # - name: Install tools
125
+ # run: pip install mypy flake8
126
+
127
+ # - name: Flake8
128
+ # run: make lint
129
+
130
+ # - name: Type checking
131
+ # run: make typecheck
0 commit comments