Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: include workflow to commit SPDX updates as bot #835

Merged
merged 9 commits into from
Oct 4, 2023
56 changes: 56 additions & 0 deletions .github/workflows/spdx_license_bot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: spdx_license_bot

on:
# This should ideally trigger whenever there is a commit to the [SPDX License repository](https://github.com/spdx/license-list-data).
# However, this is not yet possible see: https://github.com/orgs/community/discussions/26323
schedule:
# At 08:04 on every day-of-week from Monday through Friday.
- cron: "4 8 * * 1-5"
workflow_dispatch:

jobs:
build:
defaults:
run:
working-directory: tool/spdx_license

runs-on: ubuntu-latest

steps:
- name: πŸ“š Git Checkout
uses: actions/checkout@v4

- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1

- name: πŸ“¦ Install Dependencies
run: dart pub get

- name: πŸ’» Install Mason
run: |
dart pub global activate mason_cli
mason get

- name: 🧱 Mason Make
id: make
run: if [[ $(mason make spdx_license -q --licenses "[]" -o test --on-conflict overwrite --set-exit-if-changed) =~ "0 files changed" ]]; then echo "did_change=false"; else echo "did_change=true"; fi >> $GITHUB_ENV

- name: πŸ”‘ Config Git User
if: ${{ env.did_change == 'true' }}
run: |
git config user.name VGV Bot
git config user.email vgvbot@users.noreply.github.com

- name: πŸ“ Create Pull Request
if: ${{ env.did_change == 'true' }}
uses: peter-evans/create-pull-request@v5.0.2
with:
base: main
branch: chore/update-spdx-license
commit-message: "chore: update SPDX licenses"
title: "chore: update SPDX licenses"
body: Please squash and merge me!
labels: bot
author: VGV Bot <vgvbot@users.noreply.github.com>
assignees: vgvbot
committer: VGV Bot <vgvbot@users.noreply.github.com>