diff options
| author | Ulf Lilleengen <[email protected]> | 2025-08-12 21:35:54 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2025-08-12 21:39:23 +0200 |
| commit | 8bbfa7ac1b7165a690f5062ce85c45898b3160bd (patch) | |
| tree | 703dc55cfa74d87be0c7c62ee93286c57cf5e36e /.github | |
| parent | 34aa186734caaed386789d4c37d2f1e9a202059a (diff) | |
chore: add changelog enforcement
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/changelog.yml | 353 |
1 files changed, 353 insertions, 0 deletions
diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 000000000..94e8f353a --- /dev/null +++ b/.github/workflows/changelog.yml | |||
| @@ -0,0 +1,353 @@ | |||
| 1 | name: Changelog check | ||
| 2 | |||
| 3 | on: | ||
| 4 | pull_request: | ||
| 5 | # We will not track changes for the following packages/directories. | ||
| 6 | paths-ignore: | ||
| 7 | - "/examples/" | ||
| 8 | - "/docs/" | ||
| 9 | - "/out/" | ||
| 10 | - "/tests/" | ||
| 11 | - "/release/" | ||
| 12 | - "/cyw43-firmware/" | ||
| 13 | # Run on labeled/unlabeled in addition to defaults to detect | ||
| 14 | # adding/removing skip-changelog labels. | ||
| 15 | types: [opened, reopened, labeled, unlabeled, synchronize] | ||
| 16 | |||
| 17 | jobs: | ||
| 18 | changelog: | ||
| 19 | runs-on: ubuntu-latest | ||
| 20 | |||
| 21 | steps: | ||
| 22 | - name: Checkout sources | ||
| 23 | uses: actions/checkout@v4 | ||
| 24 | |||
| 25 | - name: Check which package is modified | ||
| 26 | uses: dorny/paths-filter@v3 | ||
| 27 | id: changes | ||
| 28 | with: | ||
| 29 | filters: | | ||
| 30 | cyw43: | ||
| 31 | - 'cyw43/**' | ||
| 32 | cyw43-pio: | ||
| 33 | - 'cyw43-pio/**' | ||
| 34 | embassy-boot: | ||
| 35 | - 'embassy-boot/**' | ||
| 36 | embassy-boot-nrf: | ||
| 37 | - 'embassy-boot-nrf/**' | ||
| 38 | embassy-boot-rp: | ||
| 39 | - 'embassy-boot-rp/**' | ||
| 40 | embassy-boot-stm32: | ||
| 41 | - 'embassy-boot-stm32/**' | ||
| 42 | embassy-embedded-hal: | ||
| 43 | - 'embassy-embedded-hal/**' | ||
| 44 | embassy-executor: | ||
| 45 | - 'embassy-executor/**' | ||
| 46 | embassy-executor-macros: | ||
| 47 | - 'embassy-executor-macros/**' | ||
| 48 | embassy-futures: | ||
| 49 | - 'embassy-futures/**' | ||
| 50 | embassy-imxrt: | ||
| 51 | - 'embassy-imxrt/**' | ||
| 52 | embassy-mspm0: | ||
| 53 | - 'embassy-mspm0/**' | ||
| 54 | embassy-net: | ||
| 55 | - 'embassy-net/**' | ||
| 56 | embassy-net-adin1110: | ||
| 57 | - 'embassy-net-adin1110/**' | ||
| 58 | embassy-net-driver: | ||
| 59 | - 'embassy-net-driver/**' | ||
| 60 | embassy-net-driver-channel: | ||
| 61 | - 'embassy-net-driver-channel/**' | ||
| 62 | embassy-net-enc28j60: | ||
| 63 | - 'embassy-net-enc28j60/**' | ||
| 64 | embassy-net-esp-hosted: | ||
| 65 | - 'embassy-net-esp-hosted/**' | ||
| 66 | embassy-net-nrf91: | ||
| 67 | - 'embassy-net-nrf91/**' | ||
| 68 | embassy-net-ppp: | ||
| 69 | - 'embassy-net-ppp/**' | ||
| 70 | embassy-net-tuntap: | ||
| 71 | - 'embassy-net-tuntap/**' | ||
| 72 | embassy-net-wiznet: | ||
| 73 | - 'embassy-net-wiznet/**' | ||
| 74 | embassy-nrf: | ||
| 75 | - 'embassy-nrf/**' | ||
| 76 | embassy-nxp: | ||
| 77 | - 'embassy-nxp/**' | ||
| 78 | embassy-rp: | ||
| 79 | - 'embassy-rp/**' | ||
| 80 | embassy-stm32: | ||
| 81 | - 'embassy-stm32/**' | ||
| 82 | embassy-stm32-wpan: | ||
| 83 | - 'embassy-stm32-wpan/**' | ||
| 84 | embassy-sync: | ||
| 85 | - 'embassy-sync/**' | ||
| 86 | embassy-time: | ||
| 87 | - 'embassy-time/**' | ||
| 88 | embassy-time-driver: | ||
| 89 | - 'embassy-time-driver/**' | ||
| 90 | embassy-time-queue-utils: | ||
| 91 | - 'embassy-time-queue-utils/**' | ||
| 92 | embassy-usb: | ||
| 93 | - 'embassy-usb/**' | ||
| 94 | embassy-usb-dfu: | ||
| 95 | - 'embassy-usb-dfu/**' | ||
| 96 | embassy-usb-driver: | ||
| 97 | - 'embassy-usb-driver/**' | ||
| 98 | embassy-usb-logger: | ||
| 99 | - 'embassy-usb-logger/**' | ||
| 100 | embassy-usb-synopsys-otg: | ||
| 101 | - 'embassy-usb-synopsys-otg/**' | ||
| 102 | - name: Check that changelog updated (cyw43) | ||
| 103 | if: steps.changes.outputs.cyw43 == 'true' | ||
| 104 | uses: dangoslen/changelog-enforcer@v3 | ||
| 105 | with: | ||
| 106 | changeLogPath: cyw43/CHANGELOG.md | ||
| 107 | skipLabels: "skip-changelog" | ||
| 108 | missingUpdateErrorMessage: "Please add a changelog entry in the cyw43/CHANGELOG.md file." | ||
| 109 | - name: Check that changelog updated (cyw43-pio) | ||
| 110 | if: steps.changes.outputs.cyw43-pio == 'true' | ||
| 111 | uses: dangoslen/changelog-enforcer@v3 | ||
| 112 | with: | ||
| 113 | changeLogPath: cyw43-pio/CHANGELOG.md | ||
| 114 | skipLabels: "skip-changelog" | ||
| 115 | missingUpdateErrorMessage: "Please add a changelog entry in the cyw43-pio/CHANGELOG.md file." | ||
| 116 | - name: Check that changelog updated (embassy-boot) | ||
| 117 | if: steps.changes.outputs.embassy-boot == 'true' | ||
| 118 | uses: dangoslen/changelog-enforcer@v3 | ||
| 119 | with: | ||
| 120 | changeLogPath: embassy-boot/CHANGELOG.md | ||
| 121 | skipLabels: "skip-changelog" | ||
| 122 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-boot/CHANGELOG.md file." | ||
| 123 | - name: Check that changelog updated (embassy-boot-nrf) | ||
| 124 | if: steps.changes.outputs.embassy-boot-nrf == 'true' | ||
| 125 | uses: dangoslen/changelog-enforcer@v3 | ||
| 126 | with: | ||
| 127 | changeLogPath: embassy-boot-nrf/CHANGELOG.md | ||
| 128 | skipLabels: "skip-changelog" | ||
| 129 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-boot-nrf/CHANGELOG.md file." | ||
| 130 | - name: Check that changelog updated (embassy-boot-rp) | ||
| 131 | if: steps.changes.outputs.embassy-boot-rp == 'true' | ||
| 132 | uses: dangoslen/changelog-enforcer@v3 | ||
| 133 | with: | ||
| 134 | changeLogPath: embassy-boot-rp/CHANGELOG.md | ||
| 135 | skipLabels: "skip-changelog" | ||
| 136 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-boot-rp/CHANGELOG.md file." | ||
| 137 | - name: Check that changelog updated (embassy-boot-stm32) | ||
| 138 | if: steps.changes.outputs.embassy-boot-stm32 == 'true' | ||
| 139 | uses: dangoslen/changelog-enforcer@v3 | ||
| 140 | with: | ||
| 141 | changeLogPath: embassy-boot-stm32/CHANGELOG.md | ||
| 142 | skipLabels: "skip-changelog" | ||
| 143 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-boot-stm32/CHANGELOG.md file." | ||
| 144 | - name: Check that changelog updated (embassy-embedded-hal) | ||
| 145 | if: steps.changes.outputs.embassy-embedded-hal == 'true' | ||
| 146 | uses: dangoslen/changelog-enforcer@v3 | ||
| 147 | with: | ||
| 148 | changeLogPath: embassy-embedded-hal/CHANGELOG.md | ||
| 149 | skipLabels: "skip-changelog" | ||
| 150 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-embedded-hal/CHANGELOG.md file." | ||
| 151 | - name: Check that changelog updated (embassy-executor) | ||
| 152 | if: steps.changes.outputs.embassy-executor == 'true' | ||
| 153 | uses: dangoslen/changelog-enforcer@v3 | ||
| 154 | with: | ||
| 155 | changeLogPath: embassy-executor/CHANGELOG.md | ||
| 156 | skipLabels: "skip-changelog" | ||
| 157 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-executor/CHANGELOG.md file." | ||
| 158 | - name: Check that changelog updated (embassy-executor-macros) | ||
| 159 | if: steps.changes.outputs.embassy-executor-macros == 'true' | ||
| 160 | uses: dangoslen/changelog-enforcer@v3 | ||
| 161 | with: | ||
| 162 | changeLogPath: embassy-executor-macros/CHANGELOG.md | ||
| 163 | skipLabels: "skip-changelog" | ||
| 164 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-executor-macros/CHANGELOG.md file." | ||
| 165 | - name: Check that changelog updated (embassy-futures) | ||
| 166 | if: steps.changes.outputs.embassy-futures == 'true' | ||
| 167 | uses: dangoslen/changelog-enforcer@v3 | ||
| 168 | with: | ||
| 169 | changeLogPath: embassy-futures/CHANGELOG.md | ||
| 170 | skipLabels: "skip-changelog" | ||
| 171 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-futures/CHANGELOG.md file." | ||
| 172 | - name: Check that changelog updated (embassy-imxrt) | ||
| 173 | if: steps.changes.outputs.embassy-imxrt == 'true' | ||
| 174 | uses: dangoslen/changelog-enforcer@v3 | ||
| 175 | with: | ||
| 176 | changeLogPath: embassy-imxrt/CHANGELOG.md | ||
| 177 | skipLabels: "skip-changelog" | ||
| 178 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-imxrt/CHANGELOG.md file." | ||
| 179 | - name: Check that changelog updated (embassy-mspm0) | ||
| 180 | if: steps.changes.outputs.embassy-mspm0 == 'true' | ||
| 181 | uses: dangoslen/changelog-enforcer@v3 | ||
| 182 | with: | ||
| 183 | changeLogPath: embassy-mspm0/CHANGELOG.md | ||
| 184 | skipLabels: "skip-changelog" | ||
| 185 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-mspm0/CHANGELOG.md file." | ||
| 186 | - name: Check that changelog updated (embassy-net) | ||
| 187 | if: steps.changes.outputs.embassy-net == 'true' | ||
| 188 | uses: dangoslen/changelog-enforcer@v3 | ||
| 189 | with: | ||
| 190 | changeLogPath: embassy-net/CHANGELOG.md | ||
| 191 | skipLabels: "skip-changelog" | ||
| 192 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net/CHANGELOG.md file." | ||
| 193 | - name: Check that changelog updated (embassy-net-adin1110) | ||
| 194 | if: steps.changes.outputs.embassy-net-adin1110 == 'true' | ||
| 195 | uses: dangoslen/changelog-enforcer@v3 | ||
| 196 | with: | ||
| 197 | changeLogPath: embassy-net-adin1110/CHANGELOG.md | ||
| 198 | skipLabels: "skip-changelog" | ||
| 199 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-adin1110/CHANGELOG.md file." | ||
| 200 | - name: Check that changelog updated (embassy-net-driver) | ||
| 201 | if: steps.changes.outputs.embassy-net-driver == 'true' | ||
| 202 | uses: dangoslen/changelog-enforcer@v3 | ||
| 203 | with: | ||
| 204 | changeLogPath: embassy-net-driver/CHANGELOG.md | ||
| 205 | skipLabels: "skip-changelog" | ||
| 206 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-driver/CHANGELOG.md file." | ||
| 207 | - name: Check that changelog updated (embassy-net-driver-channel) | ||
| 208 | if: steps.changes.outputs.embassy-net-driver-channel == 'true' | ||
| 209 | uses: dangoslen/changelog-enforcer@v3 | ||
| 210 | with: | ||
| 211 | changeLogPath: embassy-net-driver-channel/CHANGELOG.md | ||
| 212 | skipLabels: "skip-changelog" | ||
| 213 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-driver-channel/CHANGELOG.md file." | ||
| 214 | - name: Check that changelog updated (embassy-net-enc28j60) | ||
| 215 | if: steps.changes.outputs.embassy-net-enc28j60 == 'true' | ||
| 216 | uses: dangoslen/changelog-enforcer@v3 | ||
| 217 | with: | ||
| 218 | changeLogPath: embassy-net-enc28j60/CHANGELOG.md | ||
| 219 | skipLabels: "skip-changelog" | ||
| 220 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-enc28j60/CHANGELOG.md file." | ||
| 221 | - name: Check that changelog updated (embassy-net-esp-hosted) | ||
| 222 | if: steps.changes.outputs.embassy-net-esp-hosted == 'true' | ||
| 223 | uses: dangoslen/changelog-enforcer@v3 | ||
| 224 | with: | ||
| 225 | changeLogPath: embassy-net-esp-hosted/CHANGELOG.md | ||
| 226 | skipLabels: "skip-changelog" | ||
| 227 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-esp-hosted/CHANGELOG.md file." | ||
| 228 | - name: Check that changelog updated (embassy-net-nrf91) | ||
| 229 | if: steps.changes.outputs.embassy-net-nrf91 == 'true' | ||
| 230 | uses: dangoslen/changelog-enforcer@v3 | ||
| 231 | with: | ||
| 232 | changeLogPath: embassy-net-nrf91/CHANGELOG.md | ||
| 233 | skipLabels: "skip-changelog" | ||
| 234 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-nrf91/CHANGELOG.md file." | ||
| 235 | - name: Check that changelog updated (embassy-net-ppp) | ||
| 236 | if: steps.changes.outputs.embassy-net-ppp == 'true' | ||
| 237 | uses: dangoslen/changelog-enforcer@v3 | ||
| 238 | with: | ||
| 239 | changeLogPath: embassy-net-ppp/CHANGELOG.md | ||
| 240 | skipLabels: "skip-changelog" | ||
| 241 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-ppp/CHANGELOG.md file." | ||
| 242 | - name: Check that changelog updated (embassy-net-tuntap) | ||
| 243 | if: steps.changes.outputs.embassy-net-tuntap == 'true' | ||
| 244 | uses: dangoslen/changelog-enforcer@v3 | ||
| 245 | with: | ||
| 246 | changeLogPath: embassy-net-tuntap/CHANGELOG.md | ||
| 247 | skipLabels: "skip-changelog" | ||
| 248 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-tuntap/CHANGELOG.md file." | ||
| 249 | - name: Check that changelog updated (embassy-net-wiznet) | ||
| 250 | if: steps.changes.outputs.embassy-net-wiznet == 'true' | ||
| 251 | uses: dangoslen/changelog-enforcer@v3 | ||
| 252 | with: | ||
| 253 | changeLogPath: embassy-net-wiznet/CHANGELOG.md | ||
| 254 | skipLabels: "skip-changelog" | ||
| 255 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-net-wiznet/CHANGELOG.md file." | ||
| 256 | - name: Check that changelog updated (embassy-nrf) | ||
| 257 | if: steps.changes.outputs.embassy-nrf == 'true' | ||
| 258 | uses: dangoslen/changelog-enforcer@v3 | ||
| 259 | with: | ||
| 260 | changeLogPath: embassy-nrf/CHANGELOG.md | ||
| 261 | skipLabels: "skip-changelog" | ||
| 262 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-nrf/CHANGELOG.md file." | ||
| 263 | - name: Check that changelog updated (embassy-nxp) | ||
| 264 | if: steps.changes.outputs.embassy-nxp == 'true' | ||
| 265 | uses: dangoslen/changelog-enforcer@v3 | ||
| 266 | with: | ||
| 267 | changeLogPath: embassy-nxp/CHANGELOG.md | ||
| 268 | skipLabels: "skip-changelog" | ||
| 269 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-nxp/CHANGELOG.md file." | ||
| 270 | - name: Check that changelog updated (embassy-rp) | ||
| 271 | if: steps.changes.outputs.embassy-rp == 'true' | ||
| 272 | uses: dangoslen/changelog-enforcer@v3 | ||
| 273 | with: | ||
| 274 | changeLogPath: embassy-rp/CHANGELOG.md | ||
| 275 | skipLabels: "skip-changelog" | ||
| 276 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-rp/CHANGELOG.md file." | ||
| 277 | - name: Check that changelog updated (embassy-stm32) | ||
| 278 | if: steps.changes.outputs.embassy-stm32 == 'true' | ||
| 279 | uses: dangoslen/changelog-enforcer@v3 | ||
| 280 | with: | ||
| 281 | changeLogPath: embassy-stm32/CHANGELOG.md | ||
| 282 | skipLabels: "skip-changelog" | ||
| 283 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-stm32/CHANGELOG.md file." | ||
| 284 | - name: Check that changelog updated (embassy-stm32-wpan) | ||
| 285 | if: steps.changes.outputs.embassy-stm32-wpan == 'true' | ||
| 286 | uses: dangoslen/changelog-enforcer@v3 | ||
| 287 | with: | ||
| 288 | changeLogPath: embassy-stm32-wpan/CHANGELOG.md | ||
| 289 | skipLabels: "skip-changelog" | ||
| 290 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-stm32-wpan/CHANGELOG.md file." | ||
| 291 | - name: Check that changelog updated (embassy-sync) | ||
| 292 | if: steps.changes.outputs.embassy-sync == 'true' | ||
| 293 | uses: dangoslen/changelog-enforcer@v3 | ||
| 294 | with: | ||
| 295 | changeLogPath: embassy-sync/CHANGELOG.md | ||
| 296 | skipLabels: "skip-changelog" | ||
| 297 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-sync/CHANGELOG.md file." | ||
| 298 | - name: Check that changelog updated (embassy-time) | ||
| 299 | if: steps.changes.outputs.embassy-time == 'true' | ||
| 300 | uses: dangoslen/changelog-enforcer@v3 | ||
| 301 | with: | ||
| 302 | changeLogPath: embassy-time/CHANGELOG.md | ||
| 303 | skipLabels: "skip-changelog" | ||
| 304 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-time/CHANGELOG.md file." | ||
| 305 | - name: Check that changelog updated (embassy-time-driver) | ||
| 306 | if: steps.changes.outputs.embassy-time-driver == 'true' | ||
| 307 | uses: dangoslen/changelog-enforcer@v3 | ||
| 308 | with: | ||
| 309 | changeLogPath: embassy-time-driver/CHANGELOG.md | ||
| 310 | skipLabels: "skip-changelog" | ||
| 311 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-time-driver/CHANGELOG.md file." | ||
| 312 | - name: Check that changelog updated (embassy-time-queue-utils) | ||
| 313 | if: steps.changes.outputs.embassy-time-queue-utils == 'true' | ||
| 314 | uses: dangoslen/changelog-enforcer@v3 | ||
| 315 | with: | ||
| 316 | changeLogPath: embassy-time-queue-utils/CHANGELOG.md | ||
| 317 | skipLabels: "skip-changelog" | ||
| 318 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-time-queue-utils/CHANGELOG.md file." | ||
| 319 | - name: Check that changelog updated (embassy-usb) | ||
| 320 | if: steps.changes.outputs.embassy-usb == 'true' | ||
| 321 | uses: dangoslen/changelog-enforcer@v3 | ||
| 322 | with: | ||
| 323 | changeLogPath: embassy-usb/CHANGELOG.md | ||
| 324 | skipLabels: "skip-changelog" | ||
| 325 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-usb/CHANGELOG.md file." | ||
| 326 | - name: Check that changelog updated (embassy-usb-dfu) | ||
| 327 | if: steps.changes.outputs.embassy-usb-dfu == 'true' | ||
| 328 | uses: dangoslen/changelog-enforcer@v3 | ||
| 329 | with: | ||
| 330 | changeLogPath: embassy-usb-dfu/CHANGELOG.md | ||
| 331 | skipLabels: "skip-changelog" | ||
| 332 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-usb-dfu/CHANGELOG.md file." | ||
| 333 | - name: Check that changelog updated (embassy-usb-driver) | ||
| 334 | if: steps.changes.outputs.embassy-usb-driver == 'true' | ||
| 335 | uses: dangoslen/changelog-enforcer@v3 | ||
| 336 | with: | ||
| 337 | changeLogPath: embassy-usb-driver/CHANGELOG.md | ||
| 338 | skipLabels: "skip-changelog" | ||
| 339 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-usb-driver/CHANGELOG.md file." | ||
| 340 | - name: Check that changelog updated (embassy-usb-logger) | ||
| 341 | if: steps.changes.outputs.embassy-usb-logger == 'true' | ||
| 342 | uses: dangoslen/changelog-enforcer@v3 | ||
| 343 | with: | ||
| 344 | changeLogPath: embassy-usb-logger/CHANGELOG.md | ||
| 345 | skipLabels: "skip-changelog" | ||
| 346 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-usb-logger/CHANGELOG.md file." | ||
| 347 | - name: Check that changelog updated (embassy-usb-synopsys-otg) | ||
| 348 | if: steps.changes.outputs.embassy-usb-synopsys-otg == 'true' | ||
| 349 | uses: dangoslen/changelog-enforcer@v3 | ||
| 350 | with: | ||
| 351 | changeLogPath: embassy-usb-synopsys-otg/CHANGELOG.md | ||
| 352 | skipLabels: "skip-changelog" | ||
| 353 | missingUpdateErrorMessage: "Please add a changelog entry in the embassy-usb-synopsys-otg/CHANGELOG.md file." | ||
