Skip to content

Commit 3afab8e

Browse files
committed
Merge branch 'gha'
* gha: Squashed 'json/' changes from 0f344a69..6c00de64 Skip the rest of the obscurely failing Windows builds. {envbindir}/python -> {envpython} Do this only on Windows, since 3.5's venv is super old. Use runner, which always exists even if we are not matrixed. Run daily. More python -m. Development stuff isn't supported on Windows Run on pull request. python -m pip install everywhere. tox-venv for windows Hacky running of tox in CI. And a coverage GHA. Add a packaging GHA.
2 parents fe76b21 + 6d04ebd commit 3afab8e

File tree

11 files changed

+299
-101
lines changed

11 files changed

+299
-101
lines changed

.appveyor.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
release:
7+
types: [published]
8+
schedule:
9+
# Daily at 3:21
10+
- cron: '21 3 * * *'
11+
12+
jobs:
13+
ci:
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os: [macos-latest, ubuntu-latest, windows-latest]
19+
python-version:
20+
- name: pypy2
21+
toxenv: pypy2-build
22+
- name: pypy2
23+
toxenv: pypy2-tests
24+
- name: pypy2
25+
toxenv: pypy2-tests_nongpl
26+
- name: pypy2
27+
toxenv: safety
28+
- name: pypy3
29+
toxenv: pypy3-build
30+
- name: pypy3
31+
toxenv: pypy3-tests
32+
- name: pypy3
33+
toxenv: pypy3-tests_nongpl
34+
- name: pypy3
35+
toxenv: demo
36+
- name: pypy3
37+
toxenv: readme
38+
- name: pypy3
39+
toxenv: safety
40+
- name: pypy3
41+
toxenv: secrets
42+
- name: pypy3
43+
toxenv: style
44+
- name: pypy3
45+
toxenv: docs-html
46+
- name: pypy3
47+
toxenv: docs-doctest
48+
- name: pypy3
49+
toxenv: docs-linkcheck
50+
- name: pypy3
51+
toxenv: docs-spelling
52+
- name: pypy3
53+
toxenv: docs-style
54+
- name: 3.5
55+
toxenv: py35-build
56+
- name: 3.5
57+
toxenv: py35-tests
58+
- name: 3.5
59+
toxenv: py35-tests_nongpl
60+
- name: 3.6
61+
toxenv: py36-build
62+
- name: 3.6
63+
toxenv: py36-tests
64+
- name: 3.6
65+
toxenv: py36-tests_nongpl
66+
- name: 3.7
67+
toxenv: py37-build
68+
- name: 3.7
69+
toxenv: py37-tests
70+
- name: 3.7
71+
toxenv: py37-tests_nongpl
72+
- name: 3.8
73+
toxenv: py38-build
74+
- name: 3.8
75+
toxenv: py38-tests
76+
- name: 3.8
77+
toxenv: py38-tests_nongpl
78+
exclude:
79+
# Building on Windows isn't supported, and 3.5/PyPy on Windows
80+
# seem to fail with silent obscure errors.
81+
- os: windows-latest
82+
python-version:
83+
name: pypy2
84+
toxenv: pypy2-build
85+
- os: windows-latest
86+
python-version:
87+
name: pypy2
88+
toxenv: safety
89+
- os: windows-latest
90+
python-version:
91+
name: pypy3
92+
toxenv: pypy3-build
93+
- os: windows-latest
94+
python-version:
95+
name: pypy3
96+
toxenv: pypy3-tests
97+
- os: windows-latest
98+
python-version:
99+
name: pypy3
100+
toxenv: pypy3-tests_nongpl
101+
- os: windows-latest
102+
python-version:
103+
name: pypy3
104+
toxenv: safety
105+
- os: windows-latest
106+
python-version:
107+
name: pypy3
108+
toxenv: secrets
109+
- os: windows-latest
110+
python-version:
111+
name: pypy3
112+
toxenv: style
113+
- os: windows-latest
114+
python-version:
115+
name: 3.5
116+
toxenv: py35-build
117+
- os: windows-latest
118+
python-version:
119+
name: 3.5
120+
toxenv: py35-tests
121+
- os: windows-latest
122+
python-version:
123+
name: 3.5
124+
toxenv: py35-tests_nongpl
125+
- os: windows-latest
126+
python-version:
127+
name: 3.6
128+
toxenv: py36-build
129+
- os: windows-latest
130+
python-version:
131+
name: 3.7
132+
toxenv: py37-build
133+
- os: windows-latest
134+
python-version:
135+
name: 3.8
136+
toxenv: py38-build
137+
- os: windows-latest
138+
python-version:
139+
name: pypy3
140+
toxenv: demo
141+
- os: windows-latest
142+
python-version:
143+
name: pypy3
144+
toxenv: docs-html
145+
- os: windows-latest
146+
python-version:
147+
name: pypy3
148+
toxenv: docs-doctest
149+
- os: windows-latest
150+
python-version:
151+
name: pypy3
152+
toxenv: docs-linkcheck
153+
- os: windows-latest
154+
python-version:
155+
name: pypy3
156+
toxenv: docs-spelling
157+
- os: windows-latest
158+
python-version:
159+
name: pypy3
160+
toxenv: docs-style
161+
162+
steps:
163+
- uses: actions/checkout@v1
164+
- name: Set up Python ${{ matrix.python-version.name }}
165+
uses: actions/setup-python@v1
166+
with:
167+
python-version: ${{ matrix.python-version.name }}
168+
- name: Ensure we have new enough versions to respect python_version
169+
run: python -m pip install -U pip setuptools
170+
- name: Install dependencies
171+
run: sudo apt-get install -y libenchant-dev libxml2-dev libxslt-dev
172+
if: runner.os == 'Linux' && startsWith(matrix.python-version.toxenv, 'docs-')
173+
- name: Install dependencies
174+
run: brew install enchant
175+
if: runner.os == 'macOS' && startsWith(matrix.python-version.toxenv, 'docs-')
176+
- name: Install tox
177+
run: python -m pip install tox
178+
- name: Use venv on Windows
179+
run: python -m pip install tox-venv
180+
if: runner.os == 'Windows'
181+
- name: Run tox
182+
run: python -m tox -e "${{ matrix.python-version.toxenv }}"

.github/workflows/coverage.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Coverage
2+
3+
on:
4+
push:
5+
pull_request:
6+
release:
7+
types: [published]
8+
9+
jobs:
10+
coverage:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v1
14+
- name: Set up Python
15+
uses: actions/setup-python@v1
16+
with:
17+
python-version: pypy3
18+
- name: Ensure we have new enough versions to respect python_version
19+
run: python -m pip install -U pip setuptools
20+
- name: Install tox
21+
run: python -m pip install tox
22+
- name: Collect & Upload Coverage
23+
run: python -m tox -e codecov
24+
env:
25+
CODECOV_TOKEN: ${{ secrets.codecov_token }}

.github/workflows/packaging.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Packaging
2+
3+
on:
4+
push:
5+
release:
6+
types: [published]
7+
8+
jobs:
9+
build:
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [macos-latest, ubuntu-latest]
14+
python-version: [pypy2, pypy3, 3.7, 3.8]
15+
16+
steps:
17+
- uses: actions/checkout@v1
18+
- name: Set up Python ${{ matrix.python-version }}
19+
uses: actions/setup-python@v1
20+
with:
21+
python-version: ${{ matrix.python-version }}
22+
- name: Install dependencies
23+
run: python -m pip install pep517
24+
- name: Evade 'pypa/pep517#74'
25+
run: python -m pip install -U setuptools setuptools-scm pip wheel
26+
if: startsWith(matrix.python-version, 'pypy')
27+
- name: Create packages
28+
run: python -m pep517.build .
29+
- uses: actions/upload-artifact@master
30+
with:
31+
name: dist-${{ matrix.os }}-${{ matrix.python-version }}
32+
path: dist
33+
- name: Publish package
34+
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && matrix.python-version == 'pypy3' && runner.os == 'Linux'
35+
uses: pypa/gh-action-pypi-publish@master
36+
with:
37+
user: __token__
38+
password: ${{ secrets.pypi_password }}

.travis.yml

Lines changed: 0 additions & 30 deletions
This file was deleted.

README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
jsonschema
33
==========
44

5-
|PyPI| |Pythons| |Travis| |AppVeyor| |Codecov| |ReadTheDocs|
5+
|PyPI| |Pythons| |CI| |AppVeyor| |Codecov| |ReadTheDocs|
66

77
.. |PyPI| image:: https://img.shields.io/pypi/v/jsonschema.svg
88
:alt: PyPI version
@@ -12,9 +12,9 @@ jsonschema
1212
:alt: Supported Python versions
1313
:target: https://pypi.org/project/jsonschema/
1414

15-
.. |Travis| image:: https://travis-ci.com/Julian/jsonschema.svg?branch=master
16-
:alt: Travis build status
17-
:target: https://travis-ci.com/Julian/jsonschema
15+
.. |CI| image:: https://github.com/Julian/jsonschema/workflows/CI/badge.svg
16+
:alt: Build status
17+
:target: https://github.com/Julian/jsonschema/actions?query=workflow%3ACI
1818

1919
.. |AppVeyor| image:: https://ci.appveyor.com/api/projects/status/adtt0aiaihy6muyn/branch/master?svg=true
2020
:alt: AppVeyor build status

docs/conf.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,10 @@ def entire_domain(host):
246246
return r"http.?://" + re.escape(host) + r"($|/.*)"
247247

248248

249-
linkcheck_ignore = [entire_domain("codecov.io")]
249+
linkcheck_ignore = [
250+
entire_domain("codecov.io"),
251+
"https://github.com/Julian/jsonschema/actions",
252+
]
250253

251254
# -- Options for sphinxcontrib-spelling -----------------------------------
252255

json/.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Test Suite Sanity Checking
2+
3+
on:
4+
push:
5+
pull_request:
6+
release:
7+
types: [published]
8+
schedule:
9+
# Daily at 6:42
10+
- cron: '42 6 * * *'
11+
12+
jobs:
13+
ci:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v1
18+
- name: Set up Python
19+
uses: actions/setup-python@v1
20+
with:
21+
python-version: 3.7
22+
- name: Install tox
23+
run: python -m pip install tox
24+
- name: Run the sanity checks
25+
run: python -m tox

json/.travis.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

json/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
JSON Schema Test Suite [![Build Status](https://travis-ci.org/json-schema-org/JSON-Schema-Test-Suite.svg?branch=master)](https://travis-ci.org/json-schema-org/JSON-Schema-Test-Suite)
1+
JSON Schema Test Suite [![Build Status](https://github.com/json-schema-org/JSON-Schema-Test-Suite/workflows/Test%20Suite%20Sanity%20Checking/badge.svg)](https://github.com/json-schema-org/JSON-Schema-Test-Suite/actions?query=workflow%3A%22Test+Suite+Sanity+Checking%22)
22
======================
33

44
This repository contains a set of JSON objects that implementors of JSON Schema
@@ -181,6 +181,7 @@ Contributing
181181

182182
If you see something missing or incorrect, a pull request is most welcome!
183183

184-
There are some sanity checks in place for testing the test suite. You can run
185-
them with `bin/jsonschema_suite check && npm test` or `tox && npm test`. They will be run automatically by
186-
[Travis CI](https://travis-ci.org/) as well.
184+
There are some sanity checks in place for testing the test suite. You
185+
can run them with `bin/jsonschema_suite check` or `tox`. They will be
186+
run automatically by [GitHub Actions](https://github.com/json-schema-org/JSON-Schema-Test-Suite/actions?query=workflow%3A%22Test+Suite+Sanity+Checking%22)
187+
as well.

0 commit comments

Comments
 (0)