Auto-Streak Keeper is a GitHub Action designed to help maintain your GitHub streak by automating file creation, updates, and commits on a daily schedule. This initial release includes:
- Daily Updates: Automatically create or update a file (
data.txt) with new content. - Customizable Inputs:
file-path: Specify the file to update (default:public/auto-streak/data.txt).min-commitsandmax-commits: Set a range for the number of daily commits.commit-message: Customize the commit message.
- Automatic Branch Management:
- Creates and pushes updates to a dedicated branch (
auto-streak-keeper). - Validates and pulls the branch if it already exists remotely.
- Creates and pushes updates to a dedicated branch (
- GitHub Streak Maintenance: Ensures daily activity to maintain your streak with minimal effort.
- Random Delay Between Commits: Adds a random delay between 1 to 5 seconds after each commit to prevent bot detection.
file-path(optional): Path to the file to create/update. Default:public/auto-streak/data.txt.min-commits(optional): Minimum number of commits daily. Default:1.max-commits(optional): Maximum number of commits daily. Default:15.commit-message(optional): Commit message for the updates. Default:Auto-streak update.user-name: GitHub username. Default:${{ secrets.GITHUB_USER_NAME }}.user-email: GitHub user email. Default:${{ secrets.GITHUB_USER_EMAIL }}.github-token: GitHub token. Default:${{ secrets.GITHUB_TOKEN }}.branch-name(optional): Branch name to push the updates. Default:main.
you can set a secrets at repo setting.
- Add the action to your workflow:
name: Maintain GitHub Streak on: schedule: - cron: "0 0 * * *" # Runs daily at midnight workflow_dispatch: jobs: auto-streak: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout Repository uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: "20" - name: Run Auto-Streak Keeper uses: bmiit145/[email protected] with: file-path: "public/auto-streak/data.txt" min-commits: 2 max-commits: 5 commit-message: "Daily streak maintenance" user-name: ${{ secrets.GITHUB_USER_NAME }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} github-token: ${{ secrets.GITHUB_TOKEN }} branch-name: "main"
- Push the workflow and let the action take care of maintaining your GitHub streak!
- Fully automated workflow for consistent GitHub activity.
- Simple and user-friendly customization options.
- Optimized for streak maintenance enthusiasts.