Skip to content

A repository for my collection of reusable workflows.

Notifications You must be signed in to change notification settings

winstxnhdw/actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

actions

codespell.yml dependabot.yml

This repository contains a collection of my reusable GitHub workflows. Most actions are handwritten for performance, except for officially maintained actions.

Workflows

bun.yml

Reusable Bun workflow for lint/test/build.

jobs:
  bun:
    uses: winstxnhdw/actions/.github/workflows/bun.yml@main
    with:
      disable-formatter: false
      disable-linter: false
      disable-test: false
      disable-build: false
      build-args: --test

Minimally, you can use it in the following manner.

jobs:
  bun:
    uses: winstxnhdw/actions/.github/workflows/bun.yml@main

codespell.yml

Reusable codespell workflow for checking misspelled words in source code.

jobs:
  codespell:
    uses: winstxnhdw/actions/.github/workflows/codespell.yml@main
    with:
      path: /
      skip: ''
      ignore_words_file: .codespellignore

Minimally, you can use it in the following manner.

jobs:
  codespell:
    uses: winstxnhdw/actions/.github/workflows/codespell.yml@main
    with:
      path: /

create.yml

Reusable GitHub template workflow for dynamically renaming the repository when creating a new repository from a template.

on: create

permissions:
  contents: write

jobs:
  create:
    uses: winstxnhdw/actions/.github/workflows/create.yml@main

dependabot-private.yml

Reusable Dependabot workflow for auto-merging and/or auto-approving Dependabot pull requests in private repositories.

permissions:
  contents: write
  pull-requests: write

jobs:
  auto-merge:
    uses: winstxnhdw/actions/.github/workflows/dependabot-private.yml@main
    secrets:
      token: ${{ secrets.GITHUB_TOKEN }}

dependabot-public.yml

Reusable Dependabot workflow for auto-merging Dependabot pull requests in public repositories.

permissions:
  contents: write

jobs:
  auto-merge:
    uses: winstxnhdw/actions/.github/workflows/dependabot-public.yml@main
    secrets:
      token: ${{ secrets.GITHUB_TOKEN }}

docker-push.yml

Reusable Docker workflow for pushing Docker images into the GitHub Container registry.

permissions:
  packages: write

jobs:
  build:
    uses: winstxnhdw/actions/.github/workflows/docker-push.yml@main
    with:
      file: Dockerfile.build
    secrets:
      token: ${{ secrets.GITHUB_TOKEN }}

format-bun.yml

Reusable Bun workflow for fixing Bun formatting and lints with Prettier and ESLint.

permissions:
  contents: write

jobs:
  format:
    uses: winstxnhdw/actions/.github/workflows/format-bun.yml@main

format-python.yml

Reusable Python workflow for fixing Python formatting with ruff.

permissions:
  contents: write

jobs:
  format:
    uses: winstxnhdw/actions/.github/workflows/format-python.yml@main

keep-alive.yml

Reusable workflow for keeping your GitHub workflows alive. GitHub will suspend a workflow after 60 days of inactivity. Learn more here.

name: Keep Alive

on:
  schedule:
    #       ┌──────────────── minute (0 - 59)
    #       │ ┌────────────── hour (0 - 23)
    #       │ │ ┌──────────── day of the month (1 - 31)
    #       │ │ │ ┌────────── month (1 - 12 or JAN-DEC)
    #       │ │ │ │ ┌──────── day of the week (0 - 6 or SUN-SAT)
    #       │ │ │ │ │
    #       │ │ │ │ │
    #       │ │ │ │ │
    #       * * * * *
    - cron: 0 0 1 * *

permissions:
  contents: write

jobs:
  keep-alive:
    uses: winstxnhdw/actions/.github/workflows/keep-alive.yml@main

python.yml

Reusable Python workflow for lint/test/build with Poetry, Pylint and Pyright.

jobs:
  python:
    uses: winstxnhdw/actions/.github/workflows/python.yml@main
    with:
      python-version: '*'
      disable-test: false

Minimally, you can use it in the following manner.

jobs:
  python:
    uses: winstxnhdw/actions/.github/workflows/python.yml@main

release.yml

Reusable workflow for naively uploading a releases to GitHub from a workflow artifact.

permissions:
  contents: write

jobs:
  release:
    uses: winstxnhdw/actions/.github/workflows/release.yml@main
    with:
      release-tag: latest
      release-title: Build
      release-asset: dist/*
      artifact-name: build
      artifact-path: dist/

Minimally, you can use it in the following manner.

permissions:
  contents: write

jobs:
  release:
    uses: winstxnhdw/actions/.github/workflows/release.yml@main
    with:
      release-tag: latest
      release-title: Build
      release-asset: dist/*
      artifact-name: build

spaces-deploy.yml

Reusable Hugging Face Spaces workflow for deploying a Dockerfile to a Hugging Face Space of the same repository name.

jobs:
  deploy:
    uses: winstxnhdw/actions/.github/workflows/spaces-deploy.yml@main
    secrets:
      token: ${{ secrets.HF_TOKEN }}

spaces-restart.yml

Reusable Hugging Face Spaces workflow for factory restarting a Hugging Face Space of the same repository name.

jobs:
  restart:
    uses: winstxnhdw/actions/.github/workflows/spaces-restart.yml@main
    secrets:
      token: ${{ secrets.HF_TOKEN }}

spaces-warmer.yml

Reusable Hugging Face Spaces workflow for warming a Hugging Face Space of the same repository name.

name: Warm

on:
  schedule:
    #       ┌──────────────── minute (0 - 59)
    #       │ ┌────────────── hour (0 - 23)
    #       │ │ ┌──────────── day of the month (1 - 31)
    #       │ │ │   ┌──────── month (1 - 12 or JAN-DEC)
    #       │ │ │   │ ┌────── day of the week (0 - 6 or SUN-SAT)
    #       │ │ │   │ │
    #       │ │ │   │ │
    #       │ │ │   │ │
    #       * * *   * *
    - cron: 0 0 */2 * *

jobs:
  warm:
    uses: winstxnhdw/actions/.github/workflows/spaces-warmer.yml@main

About

A repository for my collection of reusable workflows.

Topics

Resources

Stars

Watchers

Forks