[PR #6249] [MERGED] [Infrastructure] Pin actions with SHA and improve workflows #25181

Closed
opened 2026-08-05 06:09:38 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/6249
Author: @theodorsm
Created: 5/22/2026
Status: Merged
Merged: 5/29/2026
Merged by: @theodorsm

Base: mainHead: sha-pinning


📝 Commits (10+)

  • 2b59191 Pin actions with SHA, replace unmaintained, add dependabot for actions
  • e60a9e0 Don't persist credentials in checkout and fix windows folder creation
  • 74a5fd6 Add wireguard to dependabot
  • 8c7bef3 Use Invoke-WebRequest
  • 7c69d4a Fix freebsd15 localhost binding
  • b2f74ff Add netbird cached packages for windows tools
  • dc93d3f Force go version in freebsd release
  • 6c2ba24 Downgrade git-town
  • 7fd5699 Use shared actions
  • 8cb083e Update sign-pipelines version

📊 Changes

21 files changed (+373 additions, -258 deletions)

View changed files

.github/dependabot.yml (+45 -0)
📝 .github/workflows/check-license-dependencies.yml (+55 -50)
📝 .github/workflows/docs-ack.yml (+1 -1)
📝 .github/workflows/forum.yml (+2 -3)
📝 .github/workflows/git-town.yml (+5 -3)
📝 .github/workflows/golang-test-darwin.yml (+5 -4)
📝 .github/workflows/golang-test-freebsd.yml (+16 -5)
📝 .github/workflows/golang-test-linux.yml (+79 -59)
📝 .github/workflows/golang-test-windows.yml (+10 -9)
📝 .github/workflows/golangci-lint.yml (+9 -5)
📝 .github/workflows/install-script-test.yml (+3 -1)
📝 .github/workflows/mobile-build-validation.yml (+11 -7)
📝 .github/workflows/pr-title-check.yml (+1 -1)
📝 .github/workflows/proto-version-check.yml (+1 -1)
📝 .github/workflows/release.yml (+88 -80)
📝 .github/workflows/sync-main.yml (+2 -2)
📝 .github/workflows/sync-tag.yml (+5 -5)
📝 .github/workflows/test-infrastructure-files.yml (+15 -11)
📝 .github/workflows/update-docs.yml (+4 -4)
📝 .github/workflows/wasm-build-validation.yml (+9 -6)

...and 1 more files

📄 Description

Describe your changes

This PR pins the versions of external actions to reduce the attack surface for supply chain attacks and improves the workflow by: replacing unmaintained/unneeded actions, adds dependabot check for actions and updates freebsd workflows.

SHA-pinned actions:

Dropped:

  • booxmedialtd/ws-action-parse-semver: unmaintained, Node 16.
  • carlosperate/download-file-action
  • joncloud/makensis-action: Windows runners have makensis.exe preinstalled.

New actions:

  • netbirdio/shared-actions/actions/parse-semver
  • netbirdio/shared-actions/actions/win-download-and-verify

Dependabot:

  • daily updates for github-actions and gomod, with groups for aws-sdk, pion, gorm, otel, testcontainers, and a catch-all actions group to collapse action bumps into one PR.

Etc:

  • Bumps freebsd version to 15 (with 0.0.0.0 binding fix)
  • freebsd now uses go version from go.mod.

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • This change does not modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — OR I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See CONTRIBUTING.md.

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Summary by CodeRabbit

  • Chores

    • Pin many CI/CD actions to specific commits for more reproducible, secure builds across workflows.
    • Add Dependabot config to enable daily automated dependency updates.
    • Add a local semver parser for release workflows.
    • Harden Windows installer downloads with checksum verification and improve FreeBSD/mobile/wasm/Linux CI setup details.
  • Bug Fixes

    • Make local redirect URL connectivity checks more reliable for localhost.

Review Change Stack


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/6249 **Author:** [@theodorsm](https://github.com/theodorsm) **Created:** 5/22/2026 **Status:** ✅ Merged **Merged:** 5/29/2026 **Merged by:** [@theodorsm](https://github.com/theodorsm) **Base:** `main` ← **Head:** `sha-pinning` --- ### 📝 Commits (10+) - [`2b59191`](https://github.com/netbirdio/netbird/commit/2b59191665b615cb595eae81dfefca0247f86062) Pin actions with SHA, replace unmaintained, add dependabot for actions - [`e60a9e0`](https://github.com/netbirdio/netbird/commit/e60a9e0e80670345818e27499334e7f9c51193f7) Don't persist credentials in checkout and fix windows folder creation - [`74a5fd6`](https://github.com/netbirdio/netbird/commit/74a5fd63a79a69a5c113d12d60cf5250a134aa4f) Add wireguard to dependabot - [`8c7bef3`](https://github.com/netbirdio/netbird/commit/8c7bef3334ce2f5f1d2e04c6c8965728e4941269) Use Invoke-WebRequest - [`7c69d4a`](https://github.com/netbirdio/netbird/commit/7c69d4af7d129984d2bf34e4e76bc8992b249ef1) Fix freebsd15 localhost binding - [`b2f74ff`](https://github.com/netbirdio/netbird/commit/b2f74ffc9abc602c9e7ede14fa220aabbc82be78) Add netbird cached packages for windows tools - [`dc93d3f`](https://github.com/netbirdio/netbird/commit/dc93d3f938d1e15ee02c02bc394567139e20dfd4) Force go version in freebsd release - [`6c2ba24`](https://github.com/netbirdio/netbird/commit/6c2ba243ee2767392f970b693011a70b8ad12c3d) Downgrade git-town - [`7fd5699`](https://github.com/netbirdio/netbird/commit/7fd5699a4e4745aaa283a010843b6533fcd32dbe) Use shared actions - [`8cb083e`](https://github.com/netbirdio/netbird/commit/8cb083e94a7c90f607d96a68665d0aa4e21978a8) Update sign-pipelines version ### 📊 Changes **21 files changed** (+373 additions, -258 deletions) <details> <summary>View changed files</summary> ➕ `.github/dependabot.yml` (+45 -0) 📝 `.github/workflows/check-license-dependencies.yml` (+55 -50) 📝 `.github/workflows/docs-ack.yml` (+1 -1) 📝 `.github/workflows/forum.yml` (+2 -3) 📝 `.github/workflows/git-town.yml` (+5 -3) 📝 `.github/workflows/golang-test-darwin.yml` (+5 -4) 📝 `.github/workflows/golang-test-freebsd.yml` (+16 -5) 📝 `.github/workflows/golang-test-linux.yml` (+79 -59) 📝 `.github/workflows/golang-test-windows.yml` (+10 -9) 📝 `.github/workflows/golangci-lint.yml` (+9 -5) 📝 `.github/workflows/install-script-test.yml` (+3 -1) 📝 `.github/workflows/mobile-build-validation.yml` (+11 -7) 📝 `.github/workflows/pr-title-check.yml` (+1 -1) 📝 `.github/workflows/proto-version-check.yml` (+1 -1) 📝 `.github/workflows/release.yml` (+88 -80) 📝 `.github/workflows/sync-main.yml` (+2 -2) 📝 `.github/workflows/sync-tag.yml` (+5 -5) 📝 `.github/workflows/test-infrastructure-files.yml` (+15 -11) 📝 `.github/workflows/update-docs.yml` (+4 -4) 📝 `.github/workflows/wasm-build-validation.yml` (+9 -6) _...and 1 more files_ </details> ### 📄 Description ## Describe your changes This PR pins the versions of external actions to reduce the attack surface for supply chain attacks and improves the workflow by: replacing unmaintained/unneeded actions, adds dependabot check for actions and updates freebsd workflows. **SHA-pinned actions:** - actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.1 - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 - actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0 - actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 - android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1 - benc-uk/workflow-dispatch@31e2b3319479a63f0ab15bf800eff9e913504e26 # v1.3.2 - codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2.2 - docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 - docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 - docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0 - dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 - git-town/action@670e1f4feb81fdef4226fc09deefe09018eb20d1 # v1.3.3 - golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1 - goreleaser/goreleaser-action@4c6ab561adb47e50c45ef534e2155934e91c40c1 # v7.2.0 - roots/discourse-topic-github-release-action@557d74ea05b6cc0c47f555c1d5d28a89d904005b # v1.1.0 - vmactions/freebsd-vm@d1e65811565151536c0c894fff74f06351ed26e6 # v1.4.5 **Dropped:** - booxmedialtd/ws-action-parse-semver: unmaintained, Node 16. - carlosperate/download-file-action - joncloud/makensis-action: Windows runners have makensis.exe preinstalled. **New actions:** - netbirdio/shared-actions/actions/parse-semver - netbirdio/shared-actions/actions/win-download-and-verify **Dependabot:** - daily updates for github-actions and gomod, with groups for aws-sdk, pion, gorm, otel, testcontainers, and a catch-all actions group to collapse action bumps into one PR. **Etc**: - Bumps freebsd version to 15 (with 0.0.0.0 binding fix) - freebsd now uses go version from go.mod. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) - [x] This change does **not** modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — **OR** I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See [CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first). > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change - [x] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Pin many CI/CD actions to specific commits for more reproducible, secure builds across workflows. * Add Dependabot config to enable daily automated dependency updates. * Add a local semver parser for release workflows. * Harden Windows installer downloads with checksum verification and improve FreeBSD/mobile/wasm/Linux CI setup details. * **Bug Fixes** * Make local redirect URL connectivity checks more reliable for localhost. <!-- review_stack_entry_start --> [![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/netbird/pull/6249?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 06:09:38 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#25181