mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
A pregen_all Python script was added that calls all the other pregen scripts. This prevents the generated file checks and pregen command from falling out of sync. This is meant to only run in CI, since the script is not portable across platforms.
102 lines
3.4 KiB
YAML
102 lines
3.4 KiB
YAML
name: Comment Commands
|
|
on:
|
|
issue_comment:
|
|
types: [ created ]
|
|
|
|
jobs:
|
|
format:
|
|
if: github.event.issue.pull_request && startsWith(github.event.comment.body, '/format')
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: React Rocket
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const {owner, repo} = context.issue
|
|
github.rest.reactions.createForIssueComment({
|
|
owner,
|
|
repo,
|
|
comment_id: context.payload.comment.id,
|
|
content: "rocket",
|
|
});
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
token: ${{ secrets.COMMENT_COMMAND_PAT_TOKEN }}
|
|
- name: Fetch all history and metadata
|
|
run: |
|
|
git checkout -b pr
|
|
git branch -f main origin/main
|
|
- name: Checkout PR
|
|
run: |
|
|
gh pr checkout $NUMBER
|
|
env:
|
|
GITHUB_TOKEN: "${{ secrets.COMMENT_COMMAND_PAT_TOKEN }}"
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
- name: Set up Python 3.10
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Setup Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: 17
|
|
- name: Install wpiformat
|
|
run: pip3 install wpiformat==2024.41
|
|
- name: Run wpiformat
|
|
run: wpiformat
|
|
- name: Run spotlessApply
|
|
run: ./gradlew spotlessApply
|
|
- name: Commit
|
|
run: |
|
|
# Set credentials
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
# Commit
|
|
git commit -am "Formatting fixes"
|
|
git push
|
|
|
|
pregen:
|
|
if: github.event.issue.pull_request && startsWith(github.event.comment.body, '/pregen')
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: React Rocket
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const {owner, repo} = context.issue
|
|
github.rest.reactions.createForIssueComment({
|
|
owner,
|
|
repo,
|
|
comment_id: context.payload.comment.id,
|
|
content: "rocket",
|
|
});
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ secrets.COMMENT_COMMAND_PAT_TOKEN }}
|
|
- name: Checkout PR
|
|
run: |
|
|
gh pr checkout $NUMBER
|
|
env:
|
|
GITHUB_TOKEN: "${{ secrets.COMMENT_COMMAND_PAT_TOKEN }}"
|
|
NUMBER: ${{ github.event.issue.number }}
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install jinja
|
|
run: python -m pip install jinja2
|
|
- name: Install protobuf dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler && wget https://github.com/HebiRobotics/QuickBuffers/releases/download/1.3.3/protoc-gen-quickbuf-1.3.3-linux-x86_64.exe && chmod +x protoc-gen-quickbuf-1.3.3-linux-x86_64.exe
|
|
- name: Regenerate all
|
|
run: ./.github/workflows/pregen_all.py --quickbuf_plugin=protoc-gen-quickbuf-1.3.3-linux-x86_64.exe
|
|
- name: Commit
|
|
run: |
|
|
# Set credentials
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
# Commit
|
|
git commit -am "Regenerate pregenerated files"
|
|
git push
|