Skip to content

Latest commit

 

History

History
174 lines (123 loc) · 10.4 KB

README.md

File metadata and controls

174 lines (123 loc) · 10.4 KB

All Contributors

Smartcloud

The most advanced github action, with functionality overflowing and declaritive configuration to streamline your entire github workflow!

Development of new features ceased.

Github is rappidly changing the way that their api's work, and while I would love to keep up with them, I'm unable to dedicate the time this project deserves to implement new features. Users are advised to fork the repository and create your own should you need new features.

Some old features being deprecated.

There are a number of things this project attempted to do, and didn't achieve partically well. I'm deprecating the following features in favor of promoting better solutions with active development:

Index

Features

  • Create, Update, Delete Labels declaratively from Config
  • Apply Labels based on conditions
  • Enforce Conventions - Ensure the repository follows conventions setout by your team. Configured using Conditions
  • Automatically assign to projects - Ensure your projects have all open issues and pull requests assigned to the correct locations.
  • Automatically assign to milestones - Keep milestones upto date by automatically assigning issues and pull requests
  • Automatically create Branches - Open branches based on project column, or when an issue is opened.
  • Automatically approve - Setup automatic pull request approval based on conditions.
  • Create milestones automatically - Automatically create milestones when a new release is published.

How to get support 👨‍👩‍👧‍👦

For Features Requests, Q&A, Show & Tell and Discussions please use our discussions page 🚑.

We have a FAQ category in our discussions page where you can get quick answers, help with debugging weird issues, and general help.

Our extensive documentation can be found at here.

Why not GitHub Issues?

GitHub is our office, it's the place where our development and contributor teams do their work. We use the issue list to keep track of bugs and the features that we are working on. We do this openly for transparency, to reduce replication by contributors and increase productivity.

With the discussion page, you can leverage the knowledge of our wider community to get help with any problems you are having. Please keep in mind that this project is open-source, support is provided by the goodwill of our wonderful community members.

Backlog & Contributing

For more information on how to contribute, please read the contributing guidelines.

Our backlog can be found on Github

Running Locally & Developing

Setting up local running is simple, however we MUST warn that building / packaging while using local scripts can cause your GITHUB_TOKEN to be included within the package. To avoid this happening. you MUST follow the steps correctly. We will not be held responsible for any leeked personal tokens.

Prerequisities

  1. Setup a secret on your repository named: ACTIONS_STEP_DEBUG value: true
  2. Ensure the action has run once after you created this secret

Developing

  1. Fork & Clone the development repository
  2. Continue from step 4 of Running Locally then return to step 5 & 6.
  3. Make changes, then rebuild using npm run dev:run or yarn dev:run
  4. If uploading changes to Github
    • Delete ./context.json, ./config, ./lib, ./dist.
    • Run yarn dev:all.
    • Commit & push.

Running locally

  1. Fork & Clone this repository
  2. Run yarn install or npm install
  3. From the action logs find Context for local running copy the output into a file named ./context.json at the root of the project.
  4. Modify the ./config.sample.json to contain your GITHUB_TOKEN and rename to ./config.json
  5. Run the script using yarn dev:run or npm run dev:run

Getting Started

Important

It is Extremely important to understand while using this template, most of the code within .github/ will automatically update within a new pull request whenever the template repository is updated.

Automatic setup via CLI

[coming soon]

Manual setup

Create a new Github Actions workflow at .github/workflows/main.yml:

Note: actions/checkout must be run first so that the release action can find your config file.

main.yml
# @format

name: Project Management
on:
  issues:
    types: [opened, edited, closed, reopened]
  pull_request:
    types: [opened, edited, closed, reopened, synchronize]
  project_card:
    types: [created, moved, deleted]
  schedule: [cron: "0 * * * *"]

jobs:
  release-mastermind:
    name: Release Mastermind
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2.3.4
      - uses: ./
        with:
          GITHUB_TOKEN: "${{ secrets.BOT_TOKEN }}"
          config: .github/allconfigs.json

Now create the config file at .github/config.json.

Final Note

Thank you for taking the time to look through this repository. If you have liked what you have found, please would you favourite & share. Ideally I would like to get a community behind this project which can ensure that it is maintained, updated and improved as GitActions get more suffisticated.

This project took heavy infulence from IvanFon/super-labeler-action which we were maintaining on our fork here: resnovas/label-mastermind. We invite any of the team who worked on his project to come onboard.

Thanks goes to these wonderful people (emoji key):

Ivan
Ivan

🐛 💻 🤔 📖 🚇 🚧 📆 ⚠️ 🔧
Jonathan S
Jonathan S

💬 🐛 💻 🎨 📖 💡 🤔 🚇 🚧 📆 🛡️ ⚠️ 🔧
jbinda
jbinda

💻 🚧
Videndum Studios Github Actions
Videndum Studios Github Actions

📆 🔧

This project follows the all-contributors specification. Contributions of any kind welcome!