66 push :
77 branches :
88 - master
9+ # Manual trigger from Action page
10+ workflow_dispatch :
911 # release tags
1012 create :
1113 tags :
1214 - ' v[0-9]+\.[0-9]+\.[0-9]+*'
1315env :
14- MONGODB_3_6 : 3.6.14
15- MONGODB_4_0 : 4.0.23
16- MONGODB_4_2 : 4.2
16+ MONGODB_3_6 : 3.6.23
17+ MONGODB_4_0 : 4.0.28
1718 MONGODB_4_4 : 4.4
19+ MONGODB_5_0 : " 5.0"
20+ MONGODB_6_0 : " 6.0"
21+ MONGODB_7_0 : " 7.0"
1822
1923 PYMONGO_3_4 : 3.4
2024 PYMONGO_3_6 : 3.6
2125 PYMONGO_3_9 : 3.9
2226 PYMONGO_3_11 : 3.11
27+ PYMONGO_3_12 : 3.12
28+ PYMONGO_4_0 : 4.0
29+ PYMONGO_4_3 : 4.3.2
30+ PYMONGO_4_4 : 4.4.1
31+ PYMONGO_4_6 : 4.6.0
2332
2433 MAIN_PYTHON_VERSION : 3.7
2534
@@ -29,40 +38,53 @@ jobs:
2938 # which runs pre-configured linter & autoformatter
3039 runs-on : ubuntu-latest
3140 steps :
32- - uses : actions/checkout@v2
33- - name : Set up Python 3.7
34- uses : actions/setup-python@v2
41+ - uses : actions/checkout@v3
42+ - uses : actions/setup-python@v4
3543 with :
36- python-version : 3.7
44+ python-version : ' 3.9'
45+ check-latest : true
3746 - run : bash .github/workflows/install_ci_python_dep.sh
3847 - run : pre-commit run -a
3948
4049 test :
4150 # Test suite run against recent python versions
4251 # and against a few combination of MongoDB and pymongo
43- runs-on : ubuntu-latest
52+ runs-on : ubuntu-20.04
4453 strategy :
4554 fail-fast : false
4655 matrix :
47- python-version : [3.6 , 3.7 , 3.8, 3.9, pypy3]
56+ python-version : [3.7 , 3.8 , 3.9, "3.10", 3.11, pypy3.9 ]
4857 MONGODB : [$MONGODB_4_0]
4958 PYMONGO : [$PYMONGO_3_11]
5059 include :
5160 - python-version : 3.7
5261 MONGODB : $MONGODB_3_6
5362 PYMONGO : $PYMONGO_3_9
54- - python-version : 3.7
55- MONGODB : $MONGODB_4_2
56- PYMONGO : $PYMONGO_3_6
57- - python-version : 3.7
63+ - python-version : 3.8
5864 MONGODB : $MONGODB_4_4
5965 PYMONGO : $PYMONGO_3_11
66+ - python-version : 3.9
67+ MONGODB : $MONGODB_4_4
68+ PYMONGO : $PYMONGO_3_12
69+ - python-version : " 3.10"
70+ MONGODB : $MONGODB_4_4
71+ PYMONGO : $PYMONGO_4_0
72+ - python-version : " 3.11"
73+ MONGODB : $MONGODB_5_0
74+ PYMONGO : $PYMONGO_4_3
75+ - python-version : " 3.11"
76+ MONGODB : $MONGODB_6_0
77+ PYMONGO : $PYMONGO_4_4
78+ - python-version : " 3.11"
79+ MONGODB : $MONGODB_7_0
80+ PYMONGO : $PYMONGO_4_6
6081 steps :
61- - uses : actions/checkout@v2
82+ - uses : actions/checkout@v3
6283 - name : Set up Python ${{ matrix.python-version }}
63- uses : actions/setup-python@v2
84+ uses : actions/setup-python@v4
6485 with :
6586 python-version : ${{ matrix.python-version }}
87+ check-latest : true
6688 - name : install mongo and ci dependencies
6789 run : |
6890 bash .github/workflows/install_mongo.sh ${{ matrix.MONGODB }}
@@ -84,11 +106,12 @@ jobs:
84106 # to avoid that it breaks when new releases are being created
85107 runs-on : ubuntu-latest
86108 steps :
87- - uses : actions/checkout@v2
109+ - uses : actions/checkout@v3
88110 - name : Set up Python ${{ matrix.python-version }}
89- uses : actions/setup-python@v2
111+ uses : actions/setup-python@v4
90112 with :
91113 python-version : 3.7
114+ check-latest : true
92115 - name : install python dep
93116 run : |
94117 pip install -e .
@@ -98,46 +121,38 @@ jobs:
98121 cd docs
99122 make html-readthedocs
100123
101- build-n-publish-dummy :
124+ build-dryrun :
102125 runs-on : ubuntu-latest
103126 needs : [linting, test, build_doc_dryrun]
104- if : github.event_name != 'pull_request'
105127 steps :
106- - uses : actions/checkout@master
107- - name : Set up Python 3.7
108- uses : actions/setup-python@v1
128+ - uses : actions/checkout@v3
129+ - uses : actions/setup-python@v4
109130 with :
110- python-version : 3.7
131+ python-version : 3.9
132+ check-latest : true
111133 - name : build dummy wheel for test-pypi
112134 run : |
113135 pip install wheel
114- python setup.py egg_info -b ".dev`date '+%Y%m%d%H%M%S'`" build sdist bdist_wheel
115- # - name: publish test-pypi
116- # # Although working and recommended, test-pypi has a limit
117- # # in the size of projects so it's better to avoid publishing
118- # # until there is a way to garbage collect these dummy releases
119- # uses: pypa/gh-action-pypi-publish@master
120- # with:
121- # password: ${{ secrets.test_pypi_token }}
122- # repository_url: https://test.pypi.org/legacy/
136+ python setup.py sdist bdist_wheel
123137
124138 build-n-publish :
125139 runs-on : ubuntu-latest
126- needs : [linting, test, build_doc_dryrun, build-n-publish-dummy ]
140+ needs : [linting, test, build_doc_dryrun, build-dryrun ]
127141 if : github.event_name == 'create' && startsWith(github.ref, 'refs/tags/v')
128142 steps :
129- - uses : actions/checkout@master
130- - name : Set up Python 3.7
131- uses : actions/setup-python@v1
143+ - uses : actions/checkout@v3
144+ - name : Set up Python 3.9
145+ uses : actions/setup-python@v4
132146 with :
133- python-version : 3.7
147+ python-version : 3.9
148+ check-latest : true
134149 # todo separate build from publish
135150 # https://stackoverflow.com/questions/59349905/which-properties-does-github-event-in-a-github-workflow-have
136151 - name : build dummy wheel for test-pypi
137152 run : |
138153 pip install wheel
139154 python setup.py sdist bdist_wheel
140155 - name : publish pypi
141- uses : pypa/gh-action-pypi-publish@master
156+ uses : pypa/gh-action-pypi-publish@release/v1
142157 with :
143158 password : ${{ secrets.pypi_token }}
0 commit comments