My Workflow
This workflow is a collection of numerous existing actions on marketplace bunched together to function ultra-efficiently.
All links to marketplace & usage here have been provided.
This helps keep the repository clean, concise & out of chaos, moderating the process right from the beginning (issue creation) to the end (PR merge/close)
Special Custom Action integrated
Issue Manager
Avoids misuse of self-assigns by limiting the no. of issues that can be claimed by assignees (Unassigns after 3 by default)
Featured Workflow Examples
1. Controlled Issue Self-Assigns
"More power to contributors, more power to the maintainers"
name: Assigner
on:
issue_comment:
types: [created]
jobs:
slash_assign:
# If the acton was triggered by a new comment that starts with `/assign`
# or a on a schedule
if: >
(github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/assign')) || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Assign the user or unassign stale assignments
uses: JasonEtco/slash-assign-action@v0.0.3
with:
assigned_label: Assigned
days_until_warning: 5
days_until_unassign: 7
stale_assignment_label: Stale
assigned_comment: "This issue [has been assigned]({{ comment.html_url }}) to {{ comment.user.login }}!\nIt will become unassigned if it is nott closed within {{ totalDays }} days. A maintainer can also add the **{{ inputs.pin_label }}** label to prevent it from being unassigned."
fail_comment: "This issue is already assigned to a contributor."
- name: Message failure
if: ${{ failure() }}
uses: actions/github-script@v4
with:
script: |
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'The issue is already assigned!\nPlease find/create a new issue to contribute to.\nYou can safely disregard the failed workflow notification for this issue. β',
});
- name: Checkout code
uses: actions/checkout@main
- name: Run Action
uses: Suvraneel/Issue_Watcher@main
with:
token: "${{ secrets.GITHUB_TOKEN }}"
author: "${{github.actor}}"
repo: Suvraneel/Automated-assign-labeler #Change the Repo name
maxIssue: 3
2. Generating dynamic formatted Contributors.md
file
"Reward the contributors with an attribution"
- Sorted according to their contributions in the project
name: Contribute List
on:
push:
branches:
- main
workflow_dispatch:
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: A job to automate contrib in readme
steps:
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@v2.3.3
with:
readme_path: "contributors.md"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Features
Here is a complete list of example workflows including several other automation tasks a maintainer might want to integrate in a large-scale opensource project.
-
Issue/PR Creation Actions
-
Issue/PR Auto Labeler
Note - There are numerous labelers present in the marketplace. So, maintainers are requested to choose in accordance to project requirements. Consequently, a combination has been used here, in order to capture the best of both worlds.
Types :
- Labels issues based on keywords found in Issue/PR
- Labels PRs based on extension of file changed
- Action here
- Example Workflow : Find the workflow file here Configuration file here
- Labels PRs based on branch
- Action here
-
On PR close
- Finds & closes any linked issues to the PR
- Example Workflow : Find the workflow file here
- Finds & closes any linked issues to the PR
-
Close Stale Issues
- Marks & closes stale issue after a stipulated time.
- Action here or
- Bot here (Recommended)
- Marks & closes stale issue after a stipulated time.
-
Auto-updates Contributors list
- Fetches top contributors & adds them to
CONTRIBUTORS.md
- Example Workflow : Find the workflow file here
- Fetches top contributors & adds them to
Note- Issue Form (Beta) has been utilised for keylabeler to work super-efficently.
Submission Category:
Maintainer Must-Haves
Link to Code Repo
Automated Self-assign + Key Labeler + Contributors workflow
This repository is a collection of numerous existing actions on marketplace bunched together to function ultra-efficiently.
All links to marketplace & usage here have been provided
This helps keep the repo clean, concise & out of chaos moderating the process right from the beginning (issue creation) to the end (PR merge/close)
Special Custom Action
Issue Manager
Avoids misuse of self-assigns by limiting the no. of issues that can be claimed by assignees
Featured Workflow Examples
1. Controlled Issue Self-Assigns
"More power to contributors, more power to the maintainers"
name: Assigner
on:
issue_comment:
types: [created]
jobs:
slash_assign:
# If the acton was triggered by a new comment that starts with `/assign`
# or a on a schedule
if: >
(github.event_name == 'issue_comment' && startsWith(github.event.comment.body, '/assign')) || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name
β¦Additional Resources / Info
Hence, this repository is a collection of ALL features a large-scale opensource project maintainer could wish for...
Based off actions already in the marketplace.
Open source project that is using this cool workflow :
GirlScript Winter of Contributing '21 Project repository with over 6000 participants, 1k stars & 1.7k forks.
This actions combo has has helped the maintainers review & attend to issues & PRs in a very efficient & orderly fashion.
girlscript / winter-of-contributing
GirlScript Winter of Contributing is a three-month-long Open-Source Program organized byπ§‘GirlScript Foundation to create the world's largest multilingual content repository that will be available to everyone.
GirlScript Winter of Contributing
GirlScript Winter of Contributing is a three-month newly established initiative by GirlScript Foundation that will take place over the winter months. GWOC invites people to contribute their expertise and ideas in order to improve their technical abilities and obtain significant experience in the field of tech education.Throughout the program, the participants can contribute to a range of themes while being guided by an expert facilitator.The goal of GWOC is to develop the world's largest multilingual repository.
Contributing Guidelines
Please follow the contributing guidelines to contribute to the project.
Code of Conduct
This project and everyone participating in it is governed by the GirlScript Code of Conduct. By participating, you are expected to uphold this code
Top comments (1)
This workflow is a set of quite a few current actions on market bunched collectively to perform ultra-efficiently. All hyperlinks to market & utilization right useful information.
Is vashikaran true