name: update word-lists on: schedule: - cron: '0 3 1 * *' workflow_dispatch: jobs: update-word-lists: runs-on: blacksmith-8vcpu-ubuntu-2404 timeout-minutes: 25 permissions: contents: write pull-requests: write steps: - name: Checkout repository uses: actions/checkout@v6 with: ref: canary - name: Download latest word lists run: python3 scripts/ci/workflows/update_word_lists.py --step download - name: Check for changes id: check_changes run: python3 scripts/ci/workflows/update_word_lists.py --step check_changes - name: Update word lists if: steps.check_changes.outputs.changes_detected == 'true' run: python3 scripts/ci/workflows/update_word_lists.py --step update - name: Create pull request for updated word lists if: steps.check_changes.outputs.changes_detected == 'true' uses: peter-evans/create-pull-request@v5 with: token: ${{ secrets.GITHUB_TOKEN }} branch: word-lists-update-${{ github.run_id }} base: canary title: 'chore: update word lists from Tailscale upstream' body: | Automated update of scales.txt and tails.txt from the Tailscale repository. These files are used to generate connection IDs for voice connections. Source: - https://github.com/tailscale/tailscale/blob/main/words/scales.txt - https://github.com/tailscale/tailscale/blob/main/words/tails.txt commit-message: 'chore: update word lists from Tailscale upstream' files: | fluxer_api/src/words/scales.txt fluxer_api/src/words/tails.txt labels: automation - name: No changes detected if: steps.check_changes.outputs.changes_detected == 'false' run: python3 scripts/ci/workflows/update_word_lists.py --step no_changes