From 0dd0d9f4bd409852a8a7eab88ecf07b608115d72 Mon Sep 17 00:00:00 2001 From: TrainDoctor Date: Sun, 5 Mar 2023 16:23:17 -0800 Subject: Add CI to automatically update plugin stub in template --- .github/workflows/edit-check.yml | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/edit-check.yml (limited to '.github') diff --git a/.github/workflows/edit-check.yml b/.github/workflows/edit-check.yml new file mode 100644 index 00000000..1cd68b0d --- /dev/null +++ b/.github/workflows/edit-check.yml @@ -0,0 +1,47 @@ +name: Push Updated Plugin Stub to Template + +on: push + +jobs: + copy-stub: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@8230315d06ad95c617244d2f265d237a1682d445 + with: + ref: ${{ github.sha }} + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout + uses: actions/checkout@v2 + + - name: Is stub changed + id: changed-stub + run: | + STUB_CHANGED="false" + PATHS=(plugin plugin/decky_plugin.pyi) + SHA=${{ github.sha }} + SHA_PREV=$(git rev-list --parents -n 1 $SHA) + FILES=$(git diff $SHA_PREV..$SHA --name-only -- ${PATHS[@]} | jq -Rsc 'split("\n")[:-1] | join (",")') + if [[ "$FILES" == *"plugin/decky_plugin.pyi"* ]]; then + $STUB_CHANGED="true" + echo "Stub has changed, pushing updated stub" + else + echo "Stub has not changed, exiting." + echo "has_changed=$STUB_CHANGED" >> $GITHUB_OUTPUT + exit 0 + fi + echo "has_changed=$STUB_CHANGED" >> $GITHUB_OUTPUT + + - name: Push updated stub + if: steps.changed-stub.outputs.has_changed == true + uses: dmnemec/copy_file_to_another_repo_action@bbebd3da22e4a37d04dca5f782edd5201cb97083 + env: + API_TOKEN_GITHUB: ${{ secrets.GITHUB_TOKEN }} + with: + source_file: 'plugin/decky_plugin.pyi' + destination_repo: 'SteamDeckHomebrew/decky-plugin-template' + user_email: '11465594+TrainDoctor@users.noreply.github.com' + user_name: 'TrainDoctor' + commit_message: 'Updated template with latest plugin stub changes' -- cgit v1.2.3