@@ -14,22 +14,22 @@ jobs:
1414 lint :
1515 runs-on : ubuntu-latest
1616 steps :
17- - uses : actions/checkout@v4
18- - uses : actions/setup-python@v5
17+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
18+ - uses : actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5
1919 with :
20- python-version : " 3.10 "
21- -
uses :
pre-commit/[email protected] 20+ python-version : 3.13
21+ - uses : pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
2222
2323 # Make sure commit messages follow the conventional commits convention:
2424 # https://www.conventionalcommits.org
2525 commitlint :
2626 name : Lint Commit Messages
2727 runs-on : ubuntu-latest
2828 steps :
29- - uses : actions/checkout@v4
29+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
3030 with :
3131 fetch-depth : 0
32- - uses : wagoid/commitlint-github-action@v6
32+ - uses : wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6.2.1
3333
3434 test :
3535 strategy :
@@ -49,26 +49,28 @@ jobs:
4949 - " use_cython"
5050 runs-on : ${{ matrix.os }}
5151 steps :
52- - uses : actions/checkout@v4
52+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
53+ - name : Install poetry
54+ run : pipx install poetry
5355 - name : Set up Python
54- uses : actions/setup-python@v5
56+ uses : actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5
5557 with :
5658 python-version : ${{ matrix.python-version }}
59+ cache : " poetry"
5760 allow-prereleases : true
58- 5961 - name : Install Dependencies
6062 run : |
6163 if [ "${{ matrix.extension }}" = "skip_cython" ]; then
6264 SKIP_CYTHON=1 poetry install --only=main,dev
6365 else
64- poetry install --only=main,dev
66+ REQUIRE_CYTHON=1 poetry install --only=main,dev
6567 fi
6668 shell : bash
6769 - name : Test with Pytest
68- run : poetry run pytest --cov-report=xml -v -Wdefault --cov=bluetooth_data_tools --cov-report=term-missing:skip-covered tests
70+ run : poetry run pytest --cov-report=xml
6971 shell : bash
7072 - name : Upload coverage to Codecov
71- uses : codecov/codecov-action@v5
73+ uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
7274 with :
7375 token : ${{ secrets.CODECOV_TOKEN }}
7476
@@ -89,32 +91,32 @@ jobs:
8991 newest_release_tag : ${{ steps.release.outputs.tag }}
9092
9193 steps :
92- - uses : actions/checkout@v4
94+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
9395 with :
9496 fetch-depth : 0
9597 ref : ${{ github.head_ref || github.ref_name }}
9698
9799 # Do a dry run of PSR
98100 - name : Test release
99- uses : python-semantic-release/python-semantic-release@v9.21.0
101+ uses : python-semantic-release/python-semantic-release@4d4cb0ab842247caea1963132c242c62aab1e4d5 # v10.4.1
100102 if : github.ref_name != 'main'
101103 with :
102- root_options : --noop
104+ no_operation_mode : true
103105
104106 # On main branch: actual PSR + upload to PyPI & GitHub
105107 - name : Release
106- uses : python-semantic-release/python-semantic-release@v9.21.0
108+ uses : python-semantic-release/python-semantic-release@4d4cb0ab842247caea1963132c242c62aab1e4d5 # v10.4.1
107109 id : release
108110 if : github.ref_name == 'main'
109111 with :
110112 github_token : ${{ secrets.GITHUB_TOKEN }}
111113
112114 - name : Publish package distributions to PyPI
113- uses : pypa/gh-action-pypi-publish@release/v1
115+ uses : pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1
114116 if : steps.release.outputs.released == 'true'
115117
116118 - name : Publish package distributions to GitHub Releases
117- uses : python-semantic-release/upload-to-gh-release@main
119+ uses : python-semantic-release/upload-to-gh-release@0a92b5d7ebfc15a84f9801ebd1bf706343d43711 # main
118120 if : steps.release.outputs.released == 'true'
119121 with :
120122 github_token : ${{ secrets.GITHUB_TOKEN }}
@@ -160,6 +162,14 @@ jobs:
160162 qemu : armv7l
161163 musl : " musllinux"
162164 pyver : cp313
165+ - os : ubuntu-latest
166+ qemu : armv7l
167+ musl : " musllinux"
168+ pyver : cp314
169+ - os : ubuntu-latest
170+ qemu : armv7l
171+ musl : " musllinux"
172+ pyver : cp314t
163173 # qemu is slow, make a single
164174 # runner per Python version
165175 - os : ubuntu-latest
@@ -178,19 +188,27 @@ jobs:
178188 qemu : armv7l
179189 musl : " "
180190 pyver : cp313
191+ - os : ubuntu-latest
192+ qemu : armv7l
193+ musl : " "
194+ pyver : cp314
195+ - os : ubuntu-latest
196+ qemu : armv7l
197+ musl : " "
198+ pyver : cp314t
181199 steps :
182- - uses : actions/checkout@v4
200+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
183201 with :
184202 ref : ${{ needs.release.outputs.newest_release_tag }}
185203 fetch-depth : 0
186204 # Used to host cibuildwheel
187205 - name : Set up Python
188- uses : actions/setup-python@v5
206+ uses : actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v5
189207 with :
190208 python-version : " 3.12"
191209 - name : Set up QEMU
192210 if : ${{ matrix.qemu }}
193- uses : docker/setup-qemu-action@v3
211+ uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
194212 with :
195213 platforms : all
196214 # This should be temporary
@@ -213,12 +231,12 @@ jobs:
213231 echo "CIBW_BUILD=${{ matrix.pyver }}*" >> $GITHUB_ENV
214232 fi
215233 - name : Build wheels
216- uses : pypa/cibuildwheel@v2.23 .0
234+ uses : pypa/cibuildwheel@7c619efba910c04005a835b110b057fc28fd6e93 # v3.2 .0
217235 env :
218236 CIBW_SKIP : cp36-* cp37-* cp38-* cp39-* pp* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}
219237 REQUIRE_CYTHON : 1
220238
221- - uses : actions/upload-artifact@v4
239+ - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
222240 with :
223241 name : wheels-${{ matrix.os }}-${{ matrix.musl }}-${{ matrix.pyver }}-${{ matrix.qemu }}
224242 path : ./wheelhouse/*.whl
@@ -231,15 +249,12 @@ jobs:
231249 id-token : write # IMPORTANT: this permission is mandatory for trusted publishing
232250
233251 steps :
234- - uses : actions/download-artifact@v4
252+ - uses : actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v4
235253 with :
236254 # unpacks default artifact into dist/
237255 # if `name: artifact` is omitted, the action will create extra parent dir
238256 path : dist
239257 pattern : wheels-*
240258 merge-multiple : true
241259
242- - uses :
243- 244-
245- # To test: repository_url: https://test.pypi.org/legacy/
260+ - uses : pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
0 commit comments