Skip to content

chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary #4163

chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary

chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary #4163

name: Update Authors and Third Party Notices
on:
# Once a week or on pushes to main
schedule:
- cron: '0 3 * * 0'
push:
branches:
- main
permissions:
contents: none # We use the github app token to push the changes
jobs:
update_generated_files:
if: |
github.event_name == 'schedule' ||
!startsWith(github.event.head_commit.message, 'chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary')
name: Update automatically generated files
runs-on: ubuntu-latest
env:
HADRON_DISTRIBUTION: compass
steps:
- name: Create Github App Token
uses: mongodb-js/devtools-shared/actions/setup-bot-token@main
id: app-token
with:
app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }}
private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }}
- uses: actions/checkout@v4
with:
# don't checkout a detatched HEAD
ref: ${{ github.head_ref }}
# this is important so git log can pick up on
# the whole history to generate the list of AUTHORS
fetch-depth: '0'
token: ${{ steps.app-token.outputs.token }}
- uses: actions/setup-node@v4
with:
node-version: 22.15.1
cache: 'npm'
- name: Install [email protected]
run: |
npm install -g [email protected]
- name: Install Dependencies
run: |
npm -v
npm run bootstrap-ci
- name: Update AUTHORS
run: |
npm run update-authors
git add AUTHORS
- name: Update THIRD-PARTY-NOTICES.md
run: |
npm run update-third-party-notices
git add THIRD-PARTY-NOTICES.md
- name: Update Security Test Summary
run: |
npm run update-security-test-summary
git add docs/security-test-summary.md
- name: Update tracking-plan.md
run: |
npm run update-tracking-plan
git add docs/tracking-plan.md
- name: Commit and push
run: |
# We can't rely on git not allowing empty commits by default: the
# empty commit check happens before the pre-commit hooks run and if
# there is no diff exists after precommit logic was executed, empty
# commit will still be generated. Instead of that we will allow empty
# commit to happen and will check it directly if it's empty or not
git commit --allow-empty -m "chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary"
if [ $(git diff-tree --name-only --no-commit-id HEAD | wc -l) -gt 0 ]; then
echo "Files changed, pushing update..."
git push
else
echo "No changes to push"
fi