mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-15 03:09:06 +02:00
Bumps the actions group with 14 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `6.0.2` | `7.0.1` | | [actions/setup-go](https://github.com/actions/setup-go) | `5` | `7` | | [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.1.0` | `4.3.0` | | [actions/cache](https://github.com/actions/cache) | `4` | `6` | | [actions/setup-node](https://github.com/actions/setup-node) | `4` | `7` | | [pnpm/action-setup](https://github.com/pnpm/action-setup) | `3.0.0` | `6.1.0` | | [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) | `1.4.8` | `1.5.6` | | [dorny/paths-filter](https://github.com/dorny/paths-filter) | `4.0.1` | `4.0.3` | | [actions/cache/restore](https://github.com/actions/cache) | `6.0.0` | `6.1.0` | | [docker/login-action](https://github.com/docker/login-action) | `4.2.0` | `4.6.0` | | [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `9.2.1` | `9.3.0` | | [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `4.1.0` | `4.3.0` | | [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `7.2.2` | `7.2.3` | | [benc-uk/workflow-dispatch](https://github.com/benc-uk/workflow-dispatch) | `1.3.2` | `1.3.3` | Updates `actions/checkout` from 6.0.2 to 7.0.1 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6.0.2...3d3c42e5aac5ba805825da76410c181273ba90b1) Updates `actions/setup-go` from 5 to 7 - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v5...v7) Updates `docker/setup-buildx-action` from 4.1.0 to 4.3.0 - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...37fe631027851001ddb9b187196cc803df7f5f0e) Updates `actions/cache` from 4 to 6 - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v4...v6) Updates `actions/setup-node` from 4 to 7 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4...v7) Updates `pnpm/action-setup` from 3.0.0 to 6.1.0 - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/a3252b78c470c02df07e9d59298aecedc3ccdd6d...ea17c68df8912ef543352723c149a84f56e3d413) Updates `vmactions/freebsd-vm` from 1.4.8 to 1.5.6 - [Release notes](https://github.com/vmactions/freebsd-vm/releases) - [Commits](https://github.com/vmactions/freebsd-vm/compare/b84ab5559b5a1bb4b8ee2737d2506a16e1737636...8b0f1a8fc0ea0def307835c258940ca358fe6480) Updates `dorny/paths-filter` from 4.0.1 to 4.0.3 - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/fbd0ab8f3e69293af611ebaee6363fc25e6d187d...ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d) Updates `actions/cache/restore` from 6.0.0 to 6.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/2c8a9bd7457de244a408f35966fab2fb45fda9c8...55cc8345863c7cc4c66a329aec7e433d2d1c52a9) Updates `docker/login-action` from 4.2.0 to 4.6.0 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...dbcb813823bdd20940b903addbd779551569679f) Updates `golangci/golangci-lint-action` from 9.2.1 to 9.3.0 - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/82606bf257cbaff209d206a39f5134f0cfbfd2ee...ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a) Updates `docker/setup-qemu-action` from 4.1.0 to 4.3.0 - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/06116385d9baf250c9f4dcb4858b16962ea869c3...1f40c72289eff860ee54a304f1438e3cff362e0a) Updates `goreleaser/goreleaser-action` from 7.2.2 to 7.2.3 - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](https://github.com/goreleaser/goreleaser-action/compare/5daf1e915a5f0af01ddbcd89a43b8061ff4f1a89...f06c13b6b1a9625abc9e6e439d9c05a8f2190e94) Updates `benc-uk/workflow-dispatch` from 1.3.2 to 1.3.3 - [Release notes](https://github.com/benc-uk/workflow-dispatch/releases) - [Commits](https://github.com/benc-uk/workflow-dispatch/compare/31e2b3319479a63f0ab15bf800eff9e913504e26...d004979be141727c7a17c28f603e2facc40d0855) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/cache/restore dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-go dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: benc-uk/workflow-dispatch dependency-version: 1.3.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: docker/login-action dependency-version: 4.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/setup-buildx-action dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/setup-qemu-action dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: dorny/paths-filter dependency-version: 4.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: golangci/golangci-lint-action dependency-version: 9.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: goreleaser/goreleaser-action dependency-version: 7.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: pnpm/action-setup dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: vmactions/freebsd-vm dependency-version: 1.5.5 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
116 lines
4.5 KiB
YAML
116 lines
4.5 KiB
YAML
name: Check License Dependencies
|
|
|
|
on:
|
|
push:
|
|
branches: [main, "release-*"]
|
|
paths:
|
|
- "go.mod"
|
|
- "go.sum"
|
|
- ".github/workflows/check-license-dependencies.yml"
|
|
pull_request:
|
|
paths:
|
|
- "go.mod"
|
|
- "go.sum"
|
|
- ".github/workflows/check-license-dependencies.yml"
|
|
|
|
jobs:
|
|
check-internal-dependencies:
|
|
name: Check Internal AGPL Dependencies
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Check for problematic license dependencies
|
|
run: |
|
|
echo "Checking for dependencies on management/, signal/, relay/, and proxy/ packages..."
|
|
echo ""
|
|
|
|
# Find all directories except the problematic ones and system dirs
|
|
FOUND_ISSUES=0
|
|
while IFS= read -r dir; do
|
|
echo "=== Checking $dir ==="
|
|
# Search for problematic imports, excluding test files
|
|
RESULTS=$(grep -r "github.com/netbirdio/netbird/\(management\|signal\|relay\|proxy\)" "$dir" --include="*.go" 2>/dev/null | grep -v "_test.go" | grep -v "test_" | grep -v "/test/" | grep -v "tools/idp-migrate/" || true)
|
|
if [ -n "$RESULTS" ]; then
|
|
echo "❌ Found problematic dependencies:"
|
|
echo "$RESULTS"
|
|
FOUND_ISSUES=1
|
|
else
|
|
echo "✓ No problematic dependencies found"
|
|
fi
|
|
done < <(find . -maxdepth 1 -type d -not -name "." -not -name "management" -not -name "signal" -not -name "relay" -not -name "proxy" -not -name "combined" -not -name ".git*" | sort)
|
|
|
|
echo ""
|
|
if [ $FOUND_ISSUES -eq 1 ]; then
|
|
echo "❌ Found dependencies on management/, signal/, relay/, or proxy/ packages"
|
|
echo "These packages are licensed under AGPLv3 and must not be imported by BSD-licensed code"
|
|
exit 1
|
|
else
|
|
echo ""
|
|
echo "✅ All internal license dependencies are clean"
|
|
fi
|
|
|
|
check-external-licenses:
|
|
name: Check External GPL/AGPL Licenses
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
|
|
with:
|
|
go-version-file: "go.mod"
|
|
cache: true
|
|
|
|
- name: Install go-licenses
|
|
run: go install github.com/google/go-licenses@v1.6.0
|
|
|
|
- name: Check for GPL/AGPL licensed dependencies
|
|
run: |
|
|
echo "Checking for GPL/AGPL/LGPL licensed dependencies..."
|
|
echo ""
|
|
|
|
# Check all Go packages for copyleft licenses, excluding internal netbird packages
|
|
COPYLEFT_DEPS=$(go-licenses report ./... 2>/dev/null | grep -E 'GPL|AGPL|LGPL' | grep -v 'github.com/netbirdio/netbird/' || true)
|
|
|
|
if [ -n "$COPYLEFT_DEPS" ]; then
|
|
echo "Found copyleft licensed dependencies:"
|
|
echo "$COPYLEFT_DEPS"
|
|
echo ""
|
|
|
|
# Filter out dependencies that are only pulled in by internal AGPL packages
|
|
INCOMPATIBLE=""
|
|
while IFS=',' read -r package url license; do
|
|
if echo "$license" | grep -qE 'GPL-[0-9]|AGPL-[0-9]|LGPL-[0-9]'; then
|
|
# Find ALL packages that import this GPL package using go list
|
|
IMPORTERS=$(go list -json -deps ./... 2>/dev/null | jq -r "select(.Imports[]? == \"$package\") | .ImportPath")
|
|
|
|
# Check if any importer is NOT in management/signal/relay
|
|
BSD_IMPORTER=$(echo "$IMPORTERS" | grep -v "github.com/netbirdio/netbird/\(management\|signal\|relay\|proxy\|combined\|tools/idp-migrate\)" | head -1)
|
|
|
|
if [ -n "$BSD_IMPORTER" ]; then
|
|
echo "❌ $package ($license) is imported by BSD-licensed code: $BSD_IMPORTER"
|
|
INCOMPATIBLE="${INCOMPATIBLE}${package},${url},${license}\n"
|
|
else
|
|
echo "✓ $package ($license) is only used by internal AGPL packages - OK"
|
|
fi
|
|
fi
|
|
done <<< "$COPYLEFT_DEPS"
|
|
|
|
if [ -n "$INCOMPATIBLE" ]; then
|
|
echo ""
|
|
echo "❌ INCOMPATIBLE licenses found that are used by BSD-licensed code:"
|
|
echo -e "$INCOMPATIBLE"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "✅ All external license dependencies are compatible with BSD-3-Clause"
|