Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

Latest commit

 

History

History

modules-pr-backporter

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 don’t handle corner cases at the moment.

Usage:

In Pull-Request Invoked Workflow, add the following:

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

How to Contribute

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

Community Guidelines

This project follows Google's Open Source Community Guidelines.

At Google, we recognize and celebrate the creativity and collaboration of open source contributors and the diversity of skills, experiences, cultures, and opinions they bring to the projects and communities they participate in.

Every one of Google's open source projects and communities are inclusive environments, based on treating all individuals respectfully, regardless of gender identity and expression, sexual orientation, disabilities, neurodiversity, physical appearance, body size, ethnicity, nationality, race, age, religion, or similar personal characteristic.

We value diverse opinions, but we value respectful behavior more.

Respectful behavior includes:

  • Being considerate, kind, constructive, and helpful.
  • Not engaging in demeaning, discriminatory, harassing, hateful, sexualized, or physically threatening behavior, speech, and imagery.
  • Not engaging in unwanted physical contact.

Some Google open source projects may adopt an explicit project code of conduct, which may have additional detailed expectations for participants. Most of those projects will use our modified Contributor Covenant.

Resolve peacefully

We do not believe that all conflict is necessarily bad; healthy debate and disagreement often yields positive results. However, it is never okay to be disrespectful.

If you see someone behaving disrespectfully, you are encouraged to address the behavior directly with those involved. Many issues can be resolved quickly and easily, and this gives people more control over the outcome of their dispute. If you are unable to resolve the matter for any reason, or if the behavior is threatening or harassing, report it. We are dedicated to providing an environment where participants feel welcome and safe.

Reporting problems

Some Google open source projects may adopt a project-specific code of conduct. In those cases, a Google employee will be identified as the Project Steward, who will receive and handle reports of code of conduct violations. In the event that a project hasn’t identified a Project Steward, you can report problems by emailing opensource@google.com.

We will investigate every complaint, but you may not receive a direct response. We will use our discretion in determining when and how to follow up on reported incidents, which may range from not taking action to permanent expulsion from the project and project-sponsored spaces. We will notify the accused of the report and provide them an opportunity to discuss it before any action is taken. The identity of the reporter will be omitted from the details of the report supplied to the accused. In potentially harmful situations, such as ongoing harassment or threats to anyone's safety, we may take action without notice.

This document was adapted from the IndieWeb Code of Conduct and can also be found at <https://opensource.google/conduct/>.

License

The SkyWater Open Source PDK GitHub actions are released under the Apache 2.0 license.

The copyright details (which should also be found at the top of every file) are;

Copyright 2021 SkyWater PDK Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.