diff --git a/.drone.yml b/.drone.yml index 6e9e47c..01357dd 100644 --- a/.drone.yml +++ b/.drone.yml @@ -17,6 +17,42 @@ steps: volumes: - name: docker path: /var/run/docker.sock + when: + branch: + exclude: + - k3k-chart + +- name: package-chart + image: rancher/dapper:v0.5.0 + environment: + GITHUB_TOKEN: + from_secret: github_token + commands: + - dapper package-chart + volumes: + - name: docker + path: /var/run/docker.sock + when: + branch: + - k3k-chart + instance: + - drone-publish.rancher.io + +- name: release-chart + image: rancher/dapper:v0.5.0 + environment: + GITHUB_TOKEN: + from_secret: github_token + commands: + - dapper release-chart + volumes: + - name: docker + path: /var/run/docker.sock + when: + branch: + - k3k-chart + instance: + - drone-publish.rancher.io - name: github_binary_release image: ibuildthecloud/github-release:v0.0.1 @@ -38,6 +74,9 @@ steps: - refs/tags/* event: - tag + branch: + exclude: + - k3k-chart - name: docker-publish image: plugins/docker @@ -56,6 +95,9 @@ steps: - refs/tags/* event: - tag + branch: + exclude: + - k3k-chart volumes: - name: docker diff --git a/Dockerfile.dapper b/Dockerfile.dapper index da0ffc9..f484a67 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -9,10 +9,13 @@ RUN if [ "${ARCH}" == "amd64" ]; then \ curl -sL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.15.0; \ fi +RUN curl -sL https://github.com/helm/chart-releaser/releases/download/v1.5.0/chart-releaser_1.5.0_linux_${ARCH}.tar.gz | tar -xz cr \ + && mv cr /bin/ + ENV GO111MODULE on -ENV DAPPER_ENV REPO TAG DRONE_TAG CROSS +ENV DAPPER_ENV REPO TAG DRONE_TAG CROSS GITHUB_TOKEN ENV DAPPER_SOURCE /go/src/github.com/rancher/k3k/ -ENV DAPPER_OUTPUT ./bin ./dist +ENV DAPPER_OUTPUT ./bin ./dist ./deploy ENV DAPPER_DOCKER_SOCKET true ENV HOME ${DAPPER_SOURCE} WORKDIR ${DAPPER_SOURCE} diff --git a/charts/k3k/Chart.yaml b/charts/k3k/Chart.yaml index 50e5a8f..00646b2 100644 --- a/charts/k3k/Chart.yaml +++ b/charts/k3k/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: k3k description: A Helm chart for K3K type: application -version: 0.1.1-k3k2 +version: 0.1.0-r1 appVersion: 0.0.0-alpha6 diff --git a/scripts/package-chart b/scripts/package-chart new file mode 100755 index 0000000..361f24c --- /dev/null +++ b/scripts/package-chart @@ -0,0 +1,10 @@ +#!/bin/bash +set -ex + +source $(dirname $0)/version + +cd $(dirname $0)/.. + +mkdir -p deploy/ + +cr package --package-path deploy/ charts/k3k \ No newline at end of file diff --git a/scripts/release-chart b/scripts/release-chart new file mode 100755 index 0000000..0245fae --- /dev/null +++ b/scripts/release-chart @@ -0,0 +1,32 @@ +#!/bin/bash +set -ex + +source $(dirname $0)/version + +cd $(dirname $0)/.. + +git fetch --tags +CHART_TAG=chart-$(grep "version: " charts/k3k/Chart.yaml | awk '{print $2}') +if [ $(git tag -l "$version") ]; then + echo "tag already exists" + exit 1 +fi + +# release the chart with artifacts +cr upload --token ${GITHUB_TOKEN} \ + --release-name-template "chart-{{ .Version }}" \ + --package-path ./deploy/ \ + --git-repo k3k \ + --skip-existing \ + -o rancher + +# update the index.yaml +cr index --token ${GITHUB_TOKEN} \ + --release-name-template "chart-{{ .Version }}" \ + --package-path ./deploy/ \ + --index-path index.yaml \ + --git-repo k3k \ + -o rancher \ + --push + + diff --git a/scripts/version b/scripts/version index 46ba6c4..1646092 100755 --- a/scripts/version +++ b/scripts/version @@ -20,7 +20,7 @@ fi SUFFIX="-${ARCH}" TAG=${TAG:-${VERSION}${SUFFIX}} -REPO=${REPO:-husseingalal} +REPO=${REPO:-rancher} if echo $TAG | grep -q dirty; then TAG=dev