Giter VIP home page Giter VIP logo

canvas-kit-actions's Introduction

Canvas Kit Actions

This repository contains custom Github Actions that aid in the release process of https://github.com/Workday/canvas-kit. This is a monorepo of multiple actions.

verify-pull-request

This action runs the following checks:

  • Ensure the base/target branch is correct. Canvas Kit release patch versions on every commit, but minor and major releases on a cadence. In order to support this workflow, prerelease branches are used. If a pull request contains a feature, it must target a prerelease branch. Breaking changes also should only go into prerelease branches
  • Ensure a Summary section is present A Summary is used for the extended commit message and should contain Fixes or Resovles pointing to an issue number and a short description of the motivation of a pull request.

Failure of these checks will display an error message describing what check failed. This action can only be run in the context of a pull_request or pull_request_target event as a PR number is needed.

Example

- uses: Workday/canvas-kit-actions/generate-changeset@v1
  with:
    token: ${{ secrets.GITHUB_TOKEN }} # needs read access

generate-changeset

Given a fromRef, a toRef, and a tagName, this action will perform a comparison between the fromRef and the toRef and create a changeset from commits in this range. A title and body will be returned as outputs for use in updating a CHANGELOG and creating releases. This action does not change or access the workspace though.

Example

- uses: Workday/canvas-kit-actions/generate-changeset@v1
  id: generate-changeset
  with:
    token: ${{ secrets.GITHUB_TOKEN }} # needs read access
    fromRef: v5.1.0 # Could be determined by version field of `package.json` or `lerna.json`
    toRef: master # Branch the workflow file is operating on
    tagName: v5.2.0 # New tag name. Most likely determined using semantic release or conventional commits

- name: Echo output
  run: echo "${{steps.generate-changeset.outputs.title}} ${{steps.generate-changeset.outputs.body}}"

close-related-issues

Example

name: Close Linked Issues

on:
  pull_request_target:
    types: [closed]

jobs:
  main:
    runs-on: ubuntu-latest
    steps:
      - uses: Workday/canvas-kit-actions/close-related-issues@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

report-failure

Creates a failure message in Slack given a webhook URL and a message.

Example

jobs:
  main:
    runs-on: ubuntu-latest

    steps:
      - uses: Workday/canvas-kit-actions/report-failure@v1
        if: failure()
        with:
          slackWebhook: ${{ secrets.SLACK_WEBHOOK }}
          slackMessage: |
            Release job failed. Please check error logs.

release

Makes release based on given version or patch as default.

Example

jobs:
  main:
    runs-on: ubuntu-latest

    steps:
      - uses: Workday/canvas-kit-actions/release@v1
        with:
          gh_token: ${{ secrets.GITHUB_TOKEN }}
          gh_rw_token: ${{ secrets.GH_RW_TOKEN }}
          publish_token: ${{ secrets.NPM_CI_PUBLISH_TOKEN }}
          chromatic_project_token: ${{ secrets.CHROMATIC_APP_CODE }}
          version: 'minor'

canvas-kit-actions's People

Contributors

mannycarrera4 avatar nicholasboll avatar rayredgoose avatar

Watchers

 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.