Code Monkey home page Code Monkey logo

backstage-actions's Introduction

Backstage Actions

This repository contains GitHub actions related to Backstage. The goal of the current actions are to help manage the maintenance of the main Backstage repository.

Usage

Each action in this repo can be used by referring to the foldername, for example:

- name: yarn install
  uses: backstage/actions/[email protected]
  with:
    cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}

Releases

Releases are generated manually via GitHub. Create the version tag for the next release, click "Generate release notes", and then publish the release.

TODO

  • Get this repo set up with two initial actions, one for PR sync, and one for cron polling.

  • Migrate all existing custom workflow scripts from backstage/backstage into these new actions.

    • Migrate .github/workflows/automate_merge_renovate_prs.yaml
    • Migrate .github/workflows/automate_review-labels-scheduled.yaml
    • Migrate .github/workflows/automate_review-labels.yaml
    • Migrate .github/workflows/sync_approve_renovate_pr.yaml
    • Migrate .github/workflows/sync_issue-labels.yml
    • Migrate .github/workflows/verify_dco.yaml
    • Maybe migrate .github/workflows/sync_dependabot-changesets.yml?
    • Maybe migrate .github/workflows/sync_renovate-changesets.yml?
  • New features targeting the maintenance project board:

    • Remove items from the board instead of setting the status to "Done".
    • Automate the move to the "Changes Requested" column.
    • Custom logic for adding PRs to the board, skip PRs that do not have DCO, but add them once they do.
  • Assigning PRs:

    • Pros:
      • Less context switching for reviewers
      • Higher throughput
      • PRs are assigned to people familiar with the code
      • Goalie workload is reduced
      • Goalie can join the mob
    • Cons:
      • Needs tooling / processes
    • Risks:
      • When do we review PRs then? Needs dedicated time?
      • Assigning PRs based on familiarity can lead to silos
      • Stale waiting on reviewer because of unknown reasons? Vacations or sickness?
  • PR WoW changes?

    assign -> triage -> needs review -> merge/close
                |             ^
                v             |
            external          v
                       changes requested
    

    Assign: The PR is assigned to a random user

    Triage:

    • If the PR is touching only files that are owned by a particular group, then remove the assignment, and external state, or remove from the board?
  • TODO:

    • Random Assign -> [x] Each PR that is opened should randomly be assigned to a mammal -> [x] Try to automate pulp PRs as external (if only containing docs or search label) -> [x] Exclude OOO members, make this action input and store the state in a secret -> [x] Do not assign author to their own PR -> [x] Add added timestamp -> [x] Add changed timestamp
    • Triage -> [ ] add new triage result states as needed
    • Needs review -> [x] use the built-in changes request automation
    • Changes requested -> [x] build automation for moving PRs back to 'Re-Review' when needed, migrate awaiting review label workflow to this
    • Merge/close -> [x] remove from board
    • Verify that it works with forks

Docs

backstage-actions's People

Contributors

rugvip avatar jhaals avatar benjdlambert avatar renovate[bot] avatar djamaile avatar ainhoal avatar freben avatar usainbloot avatar brend-smits avatar mtlewis avatar kuangp avatar scottguymer avatar vinzscam avatar wanisfahmyde avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.