tubenoisseur Runner#
tubenoisseur was made with scheduled runners in mind. You’re supposed to throw it at something like a cron job or a systemd service so it runs automatically. Besides these options, another recommended one is to set up a runner on GitHub by using GitHub Actions. Note that, if you don’t want to set this up, but are still interested, there’s a community runner available.
Without further ado, let’s get into how to set this thing up.
Steps#
- Create a GitHub repository.
- Create a git repository.
- Under
.github/workflows/tubenoisseur.yaml, write this:
name: Tubenoisseur
permissions:
contents: write
on:
schedule:
# CHANGE THIS (<https://crontab.guru/>. Set it to a random time!)
- cron: 0 10 * * *
workflow_dispatch:
jobs:
tubenoisseur:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
channel:
# CHANGE THIS (list of channels)
- BrodieRobertson
- TheLinuxEXP
steps:
- name: Checkout Repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # Remember to update this!
- name: Cache
id: cache
uses: actions/cache@640a1c2554105b57832a23eea0b4672fc7a790d5 # Remember to update this!
with:
key: ${{ runner.os }}-go-tubenoisseur-v1.0.0 # Remember to update this!
path: ~/go/bin/tubenoisseur
- name: Add Go Binary Directory to $PATH
if: ${{ steps.cache.outputs.cache-hit == 'true' }}
run: echo "$HOME/go/bin" >> $GITHUB_PATH
- name: Set Up Go
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # Remember to update this!
with:
go-version: 1.26.5
- name: Install Tubenoisseur
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
run: go install github.com/gbr-ufs/tubenoisseur@v1.0.0 # Remember to update this!
- name: Tubenoisseur
run: tubenoisseur ${{ matrix.channel }} --debug
env:
CLICOLOR_FORCE: "1"
- name: Git Pull
run: git pull origin ${{ github.ref_name }} --autostash --rebase
- name: Commit
uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # Remember to update this!
with:
commit_message: "chore: update ${{ matrix.channel }}"Modify the lines marked as CHANGE THIS. The first one is the actual schedule. The second one is the list of channels you want to use tubenoisseur on.
4. Push the changes to your GitHub repository.