@@ -3,13 +3,13 @@ name: Test
33on : ['push', 'pull_request']
44
55jobs :
6- build :
6+ build-linux :
77 runs-on : ${{ matrix.os }}
88
99 strategy :
1010 matrix :
1111 os : ['ubuntu-latest', 'ubuntu-24.04-arm']
12- python-version : ['3.8 ', '3.9 ', '3.10 ', '3.11 ', '3.12 ', 'pypy3.9 ', 'pypy3.10 ']
12+ python-version : ['3.9 ', '3.10 ', '3.11 ', '3.12 ', '3.13 ', 'pypy3.10 ', 'pypy3.11 ']
1313
1414 steps :
1515 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -25,20 +25,12 @@ jobs:
2525 python3 -m pip install -U pytest pytest-runner flake8
2626
2727 - name : Install sphinx dependencies
28- run : >-
29- python3 -m
30- pip install
31- sphinx
32- sphinx-argparse
33- --user
28+ run :
29+ python3 -m pip install sphinx sphinx-argparse --user
3430
3531 - name : Install tldr dependencies
36- run : >-
37- python3 -m
38- pip install
39- -r
40- requirements.txt
41- --user
32+ run :
33+ python3 -m pip install -r requirements.txt --user
4234
4335 - name : Generate the manpage
4436 working-directory : docs
@@ -54,10 +46,100 @@ jobs:
5446 run : |
5547 python3 -m pip install .
5648 tldr --version
49+ tldr tldr --markdown
50+
51+ build-macos :
52+ runs-on : macos-latest
53+
54+ strategy :
55+ matrix :
56+ python-version : ['3.9', '3.10', '3.11', '3.12', '3.13', 'pypy3.10', 'pypy3.11']
57+
58+ steps :
59+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
60+
61+ - name : Set up Python ${{ matrix.python-version }}
62+ uses : actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
63+ with :
64+ python-version : ${{ matrix.python-version }}
65+
66+ - name : Install developer dependencies
67+ run : |
68+ python3 -m pip install -U pip setuptools
69+ python3 -m pip install -U pytest pytest-runner flake8
70+
71+ - name : Install sphinx dependencies
72+ run : |
73+ python3 -m pip install sphinx sphinx-argparse
74+ echo "$HOME/.local/bin" >> $GITHUB_PATH
75+
76+ - name : Install tldr dependencies
77+ run :
78+ python3 -m pip install -r requirements.txt --user
79+
80+ - name : Generate the manpage
81+ working-directory : docs
82+ run : make man
83+
84+ - name : Lint codebase
85+ run : python3 -m flake8
86+
87+ - name : Run test suite
88+ run : python3 -m pytest tests/
89+
90+ - name : Test tldr cli
91+ run : |
92+ python3 -m pip install .
93+ tldr --version
94+ tldr tldr --markdown
95+
96+ build-windows :
97+ runs-on : windows-latest
98+
99+ strategy :
100+ matrix :
101+ python-version : ['3.9', '3.10', '3.11', '3.12', '3.13']
102+
103+ steps :
104+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
105+
106+ - name : Set up Python ${{ matrix.python-version }}
107+ uses : actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
108+ with :
109+ python-version : ${{ matrix.python-version }}
110+
111+ - name : Install developer dependencies
112+ run : |
113+ python3 -m pip install -U pip setuptools
114+ python3 -m pip install -U pytest pytest-runner flake8
115+
116+ - name : Install sphinx dependencies
117+ run : |
118+ python -m pip install sphinx sphinx-argparse --user
119+
120+ - name : Install tldr dependencies
121+ run :
122+ python3 -m pip install -r requirements.txt --user
123+
124+ - name : Generate the manpage
125+ working-directory : docs
126+ run : make man
127+
128+ - name : Lint codebase
129+ run : python3 -m flake8
130+
131+ - name : Run test suite
132+ run : python3 -m pytest tests/
133+
134+ - name : Test tldr cli
135+ run : |
136+ python3 -m pip install .
137+ tldr --version
138+ tldr tldr --markdown
57139
58140 build-snap :
59141 runs-on : ${{ matrix.os }}
60- needs : ['build']
142+ needs : ['build-linux ']
61143
62144 strategy :
63145 matrix :
0 commit comments