Coder Social home page Coder Social logo

corneliusweig / krew-release-bot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rajatjindal/krew-release-bot

0.0 2.0 0.0 4.91 MB

bot to bump version of plugin in krew-index on new releases

License: Apache License 2.0

Dockerfile 2.79% Go 95.41% Shell 1.80%

krew-release-bot's Introduction

krew-release-bot is a bot that automates the update of krew-index on the release of new version of your krew (or kubectl) plugin.

You can use github-action that sends the event to the bot. This is the recommended way of publishing new release of your plugin.

Basic Setup

  • Make sure you have enabled github actions for your repo
  • Add a .krew.yaml template file at the root of your repo. Refer to kubectl-evict-pod repo for an example.
  • Setup the action to be triggered on pushing of new tag, after the action that publishes the new release with assets. See goreleaser examples below.
Example when using go-releaser

<your-git-root>/.github/workflows/release.yml

name: release
on:
  push:
    tags:
    - 'v*.*.*'
jobs:
  goreleaser:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@master
    - name: Setup Go
      uses: actions/setup-go@v1
      with:
        go-version: 1.13
    - name: GoReleaser
      uses: goreleaser/goreleaser-action@v1
      with:
        version: latest
        args: release --rm-dist
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    - name: Update new version in krew-index
      uses: rajatjindal/[email protected]

** You can also customize the release assets names, platforms for which build is done using .goreleaser.yml file in root of your git repo.

Limitations of krew-release-bot

  • only works for repos hosted on github right now
  • only supports one plugin per git repo right now
  • The first version of plugin has to be submitted manually, by plugin author, to the krew-index repo
  • The homepage in the plugin spec in krew-index is used to establish ownership. The repo from which the release is published should be the homepage of the plugin in already released plugin-spec.

Kubernetes CLA

krew-release-bot is just a service to open PR on your behalf to release a new version of the krew-plugin. Your CLA agreement (that you did when submitting the new plugin to krew-index) is still applicable on these PR's.

krew-release-bot's People

Contributors

rajatjindal avatar

Watchers

 avatar  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.