Skip to content

Commit

Permalink
[IMPROVED] Automate updating dependencies report (#1660)
Browse files Browse the repository at this point in the history
The dependencies.md file is important for understanding what linceses
are used by nats.go dependencies, however it needed manual operation.

This automates it by creating a PR if go.mod dependencies changed.

Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
  • Loading branch information
Jarema authored and piotrpio committed Dec 13, 2024
1 parent 0f4ab31 commit cc03d25
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/dependencies.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: License Check

on:
push:
paths:
- 'go.mod'
branches:
- main

jobs:
license-check:
runs-on: ubuntu-latest

env:
BRANCH_NAME: update-report-branch-${{ github.run_id }}

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch all history for all branches and tags

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'

- name: Install go-licenses
run: go install github.com/google/go-licenses@latest
# We need this step because of test dependencies and how they are handled in nats.go
- name: Run go mod tidy
run: go mod tidy
- name: Run license check
run: go-licenses report ./... --template dependencies.tpl > dependencies.md

- name: Configure git
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Check for changes
id: git_diff
run: |
git fetch
git diff --exit-code dependencies.md || echo "has_changes=true" >> $GITHUB_ENV
- name: Commit changes
if: env.has_changes == 'true'
run: |
git checkout -b "$BRANCH_NAME"
git add dependencies.md
git commit -m "Update dependencies.md"
git push -u origin "$BRANCH_NAME"
- name: Create Pull Request
if: env.has_changes == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create --title "Update dependencies.md" --body "This PR updates the dependencies report" --head "$BRANCH_NAME" --base main
8 changes: 8 additions & 0 deletions dependencies.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# External Dependencies

This file lists the dependencies used in this repository.

| Dependency | License |
|--------------------------------------------------|-----------------------------------------|
{{ range . }}| {{.Name}} | {{.LicenseName}} |
{{ end }}

0 comments on commit cc03d25

Please sign in to comment.