https://github.com/winstxnhdw/actions
A repository for my collection of reusable workflows.
https://github.com/winstxnhdw/actions
actions github-actions reusable-workflows workflows
Last synced: 5 months ago
JSON representation
A repository for my collection of reusable workflows.
- Host: GitHub
- URL: https://github.com/winstxnhdw/actions
- Owner: winstxnhdw
- Created: 2023-09-18T20:41:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-01-19T17:58:51.000Z (5 months ago)
- Last Synced: 2026-01-19T23:32:32.955Z (5 months ago)
- Topics: actions, github-actions, reusable-workflows, workflows
- Homepage:
- Size: 376 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# actions
[](https://github.com/winstxnhdw/actions/actions/workflows/codespell.yml)
[](https://github.com/winstxnhdw/actions/actions/workflows/dependabot-public.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](#bunyml)
- [codespell.yml](#codespellyml)
- [create.yml](#createyml)
- [dependabot-private.yml](#dependabot-privateyml)
- [dependabot-public.yml](#dependabot-publicyml)
- [docker-build.yml](#docker-buildyml)
- [docker-push.yml](#docker-pushyml)
- [format-biome.yml](#format-biomeyml)
- [format-python.yml](#format-pythonyml)
- [keep-alive.yml](#keep-aliveyml)
- [python.yml](#pythonyml)
- [release.yml](#releaseyml)
- [rust.yml](#rustyml)
- [spaces-deploy.yml](#spaces-deployyml)
- [spaces-restart.yml](#spaces-restartyml)
- [spaces-warmer.yml](#spaces-warmeryml)
- [uv.yml](#uvyml)
### bun.yml
Reusable [Bun](https://github.com/oven-sh/bun) [workflow](.github/workflows/bun.yml) for lint/test/build.
```yml
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.
```yml
jobs:
bun:
uses: winstxnhdw/actions/.github/workflows/bun.yml@main
```
### codespell.yml
Reusable [codespell](https://github.com/codespell-project/codespell) [workflow](.github/workflows/codespell.yml) for checking misspelled words in source code.
```yml
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.
```yml
jobs:
codespell:
uses: winstxnhdw/actions/.github/workflows/codespell.yml@main
```
### create.yml
Reusable GitHub template [workflow](.github/workflows/create.yml) for dynamically renaming the repository when creating a new repository from a template.
```yml
on: create
permissions:
contents: write
jobs:
create:
uses: winstxnhdw/actions/.github/workflows/create.yml@main
```
### dependabot-private.yml
Reusable [Dependabot](https://github.com/dependabot/dependabot-core) [workflow](.github/workflows/dependabot-private.yml) for auto-merging and/or auto-approving Dependabot pull requests in private repositories.
```yml
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](https://github.com/dependabot/dependabot-core) [workflow](.github/workflows/dependabot-public.yml) for auto-merging Dependabot pull requests in public repositories.
```yml
permissions:
contents: write
jobs:
auto-merge:
uses: winstxnhdw/actions/.github/workflows/dependabot-public.yml@main
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
```
### docker-build.yml
Reusable [Docker](https://github.com/docker/build-push-action) [workflow](.github/workflows/docker-build.yml) for building Docker images.
```yml
jobs:
build:
uses: winstxnhdw/actions/.github/workflows/docker-build.yml@main
with:
file: Dockerfile.build
cache-mode: max
build-args: |
ARG_1=arg_1_value
ARG_2=arg_2_value
```
Minimally, you can use it in the following manner.
```yml
jobs:
build:
uses: winstxnhdw/actions/.github/workflows/docker-build.yml@main
```
### docker-push.yml
Reusable [Docker](https://github.com/docker/build-push-action) [workflow](.github/workflows/docker-push.yml) for pushing Docker images into the GitHub Container registry.
```yml
permissions:
packages: write
jobs:
build:
uses: winstxnhdw/actions/.github/workflows/docker-push.yml@main
with:
file: Dockerfile.build
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
```
Minimally, you can use it in the following manner.
```yml
permissions:
packages: write
jobs:
build:
uses: winstxnhdw/actions/.github/workflows/docker-push.yml@main
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
```
### format-biome.yml
Reusable [Bun](https://github.com/oven-sh/bun) [workflow](.github/workflows/format-biome.yml) for fixing Bun formatting and lints with [Biome](https://biomejs.dev).
```yml
permissions:
contents: write
jobs:
format:
uses: winstxnhdw/actions/.github/workflows/format-biome.yml@main
```
### format-python.yml
Reusable [Python](https://github.com/python/cpython) [workflow](.github/workflows/format-python.yml) for fixing Python formatting with [ruff](https://github.com/astral-sh/ruff).
```yml
permissions:
contents: write
jobs:
format:
uses: winstxnhdw/actions/.github/workflows/format-python.yml@main
with:
recursive-clone: false
cache-dependency-glob: '**/uv.lock'
```
Minimally, you can use it in the following manner.
```yml
permissions:
contents: write
jobs:
format:
uses: winstxnhdw/actions/.github/workflows/format-python.yml@main
```
### keep-alive.yml
Reusable [workflow](.github/workflows/keep-alive.yml) for keeping your GitHub workflows alive. GitHub will suspend a workflow after 60 days of inactivity. Learn more [here](https://docs.github.com/en/actions/using-workflows/disabling-and-enabling-a-workflow).
```yml
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](https://github.com/python/cpython) [workflow](.github/workflows/python.yml) for lint/test/build with [Poetry](https://github.com/python-poetry/poetry), [Ruff](https://docs.astral.sh/ruff) and [Pyright](https://github.com/microsoft/pyright).
```yml
jobs:
python:
uses: winstxnhdw/actions/.github/workflows/python.yml@main
with:
runs-on: ubuntu-latest
python-version: '*'
disable-test: false
```
Minimally, you can use it in the following manner.
```yml
jobs:
python:
uses: winstxnhdw/actions/.github/workflows/python.yml@main
```
### release.yml
Reusable [workflow](.github/workflows/release.yml) for naively uploading a releases to GitHub from a workflow artifact.
```yml
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.
```yml
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
```
### rust.yml
Reusable [Rust](https://www.rust-lang.org) [workflow](.github/workflows/rust.yml) for linting.
```yml
jobs:
rust:
uses: winstxnhdw/actions/.github/workflows/rust.yml@main
with:
working-directory: .
disable-test: false
```
Minimally, you can use it in the following manner.
```yml
jobs:
rust:
uses: winstxnhdw/actions/.github/workflows/rust.yml@main
```
### spaces-deploy.yml
Reusable [Hugging Face Spaces](https://huggingface.co/docs/hub/spaces-overview) [workflow](.github/workflows/spaces-deploy.yml) for deploying a `Dockerfile` to a Hugging Face Space of the same repository name.
> [!IMPORTANT]\
> This workflow assumes that your Hugging Face account has the same user and repository name as the GitHub repository running this workflow.
```yml
jobs:
deploy:
uses: winstxnhdw/actions/.github/workflows/spaces-deploy.yml@main
secrets:
token: ${{ secrets.HF_TOKEN }}
```
### spaces-restart.yml
Reusable [Hugging Face Spaces](https://huggingface.co/docs/hub/spaces-overview) [workflow](.github/workflows/spaces-restart.yml) for factory restarting a Hugging Face Space of the same repository name.
> [!IMPORTANT]\
> This workflow assumes that your Hugging Face account has the same user and repository name as the GitHub repository running this workflow.
```yml
jobs:
restart:
uses: winstxnhdw/actions/.github/workflows/spaces-restart.yml@main
secrets:
token: ${{ secrets.HF_TOKEN }}
```
### spaces-warmer.yml
Reusable [Hugging Face Spaces](https://huggingface.co/docs/hub/spaces-overview) [workflow](.github/workflows/spaces-warmer.yml) for warming a Hugging Face Space of the same repository name.
> [!IMPORTANT]\
> This workflow assumes that your Hugging Face account has the same user and repository name as the GitHub repository running this workflow.
```yml
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
with:
path: '/api/v3'
secrets:
token: ${{ secrets.HF_TOKEN }}
```
Minimally, you can use it in the following manner.
```yml
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
```
### uv.yml
Reusable [Python](https://github.com/python/cpython) [workflow](.github/workflows/uv.yml) for lint/test/build with [uv](https://github.com/astral-sh/uv), [Ruff](https://docs.astral.sh/ruff) and [Pyright](https://github.com/microsoft/pyright).
```yml
jobs:
python:
uses: winstxnhdw/actions/.github/workflows/uv.yml@main
with:
runs-on: ubuntu-latest
recursive-clone: false
python-version: '*'
disable-lint: false
disable-type-check: false
disable-test: false
install-project: false
working-directory: .
```
Minimally, you can use it in the following manner.
```yml
jobs:
python:
uses: winstxnhdw/actions/.github/workflows/uv.yml@main
```