55 push :
66 branches : [master]
77
8+ permissions :
9+ contents : read
10+
811jobs :
912 tests :
1013 name : Python ${{ matrix.python-version }}
@@ -32,21 +35,23 @@ jobs:
3235 --security-opt no-new-privileges:true
3336
3437 hivemq :
35- image : hivemq/hivemq-ce: latest
38+ image : hivemq/hivemq-ce@sha256:7ae39e84654a41ced6e946dd84f131d508bc2b862ec96265b7f23d241db214da # latest
3639 ports :
3740 - 1886:1883
3841 options : >-
3942 --security-opt no-new-privileges:true
4043
4144 nanomq :
42- image : emqx/nanomq: latest
45+ image : emqx/nanomq@sha256:cf010e7b78981b051cdb833921207991daaf46dccce1ab12dd8d7ec433147161 # latest
4346 ports :
4447 - 1887:1883
4548 options : >-
4649 --security-opt no-new-privileges:true
4750
4851 steps :
49- - uses : actions/checkout@v4
52+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
53+ with :
54+ persist-credentials : false
5055
5156 - name : Setup mosquitto config
5257 run : |
@@ -73,13 +78,15 @@ jobs:
7378 nc -zv localhost $port || echo "Port $port not responding"
7479 done
7580
76- - uses : actions/checkout@v4
77- - uses : astral-sh/setup-uv@v7
81+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
82+ with :
83+ persist-credentials : false
84+ - uses : astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
7885 with :
7986 python-version : ${{ matrix.python-version }}
8087 - run : uv sync --group dev
8188 - run : uv run pytest -vv --cov=src/zmqtt --cov-report=xml
82- - uses : codecov/codecov-action@v5
89+ - uses : codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5
8390 with :
8491 files : coverage.xml
8592
9299 python-version : ["3.10", "3.14"]
93100
94101 steps :
95- - uses : actions/checkout@v4
102+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
103+ with :
104+ persist-credentials : false
96105
97106 - name : Install and start mosquitto
98107 run : |
@@ -101,12 +110,12 @@ jobs:
101110 $(brew --prefix)/sbin/mosquitto -c /tmp/mosquitto.conf -d
102111 sleep 2
103112
104- - uses : astral-sh/setup-uv@v7
113+ - uses : astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
105114 with :
106115 python-version : ${{ matrix.python-version }}
107116 - run : uv sync --group dev
108117 - run : uv run pytest -vv --cov=src/zmqtt --cov-report=xml --ignore=tests/test_brokers/test_artemis.py --ignore=tests/test_brokers/test_hivemq.py --ignore=tests/test_brokers/test_nanomq.py
109- - uses : codecov/codecov-action@v5
118+ - uses : codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5
110119 with :
111120 files : coverage.xml
112121
@@ -119,7 +128,9 @@ jobs:
119128 python-version : ["3.10", "3.14"]
120129
121130 steps :
122- - uses : actions/checkout@v4
131+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
132+ with :
133+ persist-credentials : false
123134
124135 - name : Install and start mosquitto
125136 shell : pwsh
@@ -129,12 +140,12 @@ jobs:
129140 Start-Process -FilePath "C:\Program Files\mosquitto\mosquitto.exe" -ArgumentList "-c $env:TEMP\mosquitto.conf" -WindowStyle Hidden
130141 Start-Sleep -Seconds 3
131142
132- - uses : astral-sh/setup-uv@v7
143+ - uses : astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
133144 with :
134145 python-version : ${{ matrix.python-version }}
135146 - run : uv sync --group dev
136147 - run : uv run pytest -vv --cov=src/zmqtt --cov-report=xml --ignore=tests/test_brokers/test_artemis.py --ignore=tests/test_brokers/test_hivemq.py --ignore=tests/test_brokers/test_nanomq.py
137- - uses : codecov/codecov-action@v5
148+ - uses : codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5
138149 with :
139150 files : coverage.xml
140151
@@ -144,6 +155,6 @@ jobs:
144155 needs : [tests, tests-macos, tests-windows]
145156 runs-on : ubuntu-latest
146157 steps :
147- - uses : re-actors/alls-green@release/v1
158+ - uses : re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # release/v1
148159 with :
149160 jobs : ${{ toJSON(needs) }}
0 commit comments