Skip to content

Commit

Permalink
Merge pull request #11 from lalyos/github-action
Browse files Browse the repository at this point in the history
github action to release and automagically update version and sha
  • Loading branch information
ianmiell authored Sep 11, 2020
2 parents b8ea14a + 9c20254 commit 69b0545
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 2 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
on:
push:
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10

name: Upload Release Asset

jobs:
build:
name: Upload Release Asset
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@v2
with:
ref: master
- name: Checkout code
uses: actions/checkout@v2
- name: Build project
run: |
make ci
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./examples.tar.gz
asset_name: examples.tar.gz
asset_content_type: application/tar+gzip
- name: Commit updated krew yaml
id: git_commit
run: |
git config --global user.email "[email protected]"
git config --global user.name "Github Action"
git stash -- plugins/examples.yaml
git checkout master
git stash pop
git add plugins/examples.yaml
git commit -m "update version references to: ${{ github.ref }}"
git push origin master
11 changes: 9 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,21 @@ tgz:
@tar -uf examples.tar kubectl-examples
gzip examples.tar

ver = $(shell git describe --tags)
sha = $(shell shasum -a 256 < examples.tar.gz|cut -d" " -f1)

update:
fix-sha:
@sed -i 's/sha256: .*$$/sha256: $(sha)/' plugins/examples.yaml

install: clean tgz update
fix-version:
@sed -i 's/v[0-9]\.[0-9]\.[0-9]/$(ver)/' plugins/examples.yaml

install: clean tgz fix-sha
kubectl krew install --manifest=plugins/examples.yaml --archive=examples.tar.gz

ci: tgz fix-sha fix-version
@echo github action ...

clean:
@rm -f examples.tar.gz
@kubectl krew uninstall examples || :
10 changes: 10 additions & 0 deletions plugins/examples.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ spec:
A reference repository of YAML with canonical
and as-simple-as-possible demonstrations of
kubernetes functionality and features.
Usage:
interactively selecting resource type:
kubectl examples
interactively selecting yaml:
kubectl examples Service
create a sample ingress while modifying it:
kubectl examples Ingress fanout | kubectl create -f - --edit
platforms:
- selector:
matchExpressions:
Expand Down

0 comments on commit 69b0545

Please sign in to comment.