blob: 1a24a3f5f8119d43703517f77e890084b8cfefdb [file] [log] [blame]
``skywater-pdk-actions`` - ``modules-pr-backporter``
====================================================
This is a Pull Request Merger Action that works on repos with release
branch structure. This will overwrite the master branch to match the
latest release branch everytime.
This is mainly done for the google/skywater-pdk-libs-\* repositories.
Workflow
========
In collaboration with [@ax3ghazy](https://github.com/ax3ghazy), we
created this workflow for the Pull Request Merger.
Current Workflow when the action is invoked: - The Action will loop over
all open PRs and download each as a patch. - The Action will apply the
patch to all version branches merging upward whenever applying is
possible. - The Action will reset the master to the latest version
branch. - The changes will be saved in new branches named as
``pullrequest/temp/<PR ID>/<sequence number>/<branch name>`` where
sequence number reflects the number of the latest commit added to this
PR incremented with each commit to that PR. - If a PR is labeled
``ready-to-merge``, branch
``pullrequest/temp/<PR ID>/<sequence number>/<branch name>`` becomes
``<branch name>`` for all the branches in the repository to which the
patch applies.
Release branches should follow this structure: branch-*.*.\*
Each branch should have a tag with this strucutre: v*.*.\*
This action should only be invoked in case of a Pull Request. We dont
handle corner cases at the moment.
Usage:
======
In Pull-Request Invoked Workflow, add the following:
.. code:: yml
steps:
- uses: actions/checkout@v2
with:
ref: master
fetch-depth: '50'
- name: Run The Pull Request Merger
uses: agorararmard/skywater-pdk-modules-pull-request-backporter-action@main
Examples
========
There is an example `here <examples/pull_request_merger.yml>`__
.. include:: ../docs/contributing.rst
.. include:: ../docs/license.rst