mirror of
https://github.com/puppetlabs/vmpooler-deployment.git
synced 2026-01-26 11:38:41 -05:00
68 lines
2.7 KiB
YAML
68 lines
2.7 KiB
YAML
---
|
|
name: Release Helm charts
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Tag in semver format'
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
container_prod_all_providers:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0 # ct list-changed below needs this
|
|
- uses: azure/setup-helm@v1
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.7
|
|
- name: Set up chart-testing
|
|
uses: helm/chart-testing-action@v2.1.0
|
|
- name: Run chart-testing (list-changed)
|
|
id: list-changed
|
|
run: |
|
|
changed=$(ct list-changed --chart-dirs helm-charts --target-branch main)
|
|
if [[ -n "$changed" ]]; then
|
|
echo "::set-output name=changed::true"
|
|
fi
|
|
- name: Run chart-testing (lint)
|
|
run: ct lint --chart-dirs helm-charts --all --validate-maintainers=false --chart-repos bitnami=https://charts.bitnami.com/bitnami
|
|
- name: Package charts
|
|
run: |
|
|
set -e
|
|
cd docs/
|
|
helm package ../helm-charts/*
|
|
helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ .
|
|
- uses: EndBug/add-and-commit@v9 # You can change this to use a specific version.
|
|
with:
|
|
add: docs
|
|
message: release helm-chart version ${{ github.event.inputs.tag }}
|
|
- name: Generate Release Body
|
|
env:
|
|
RELEASE_BODY_FILE: "${{ github.event.inputs.tag }}-prod-all-providers-release-body.md"
|
|
run: |
|
|
echo "#Components" > ${RELEASE_BODY_FILE}
|
|
echo "" >> ${RELEASE_BODY_FILE}
|
|
echo "This release includes the following:" >> ${RELEASE_BODY_FILE}
|
|
echo "" >> ${RELEASE_BODY_FILE}
|
|
echo "##Source image" >> ${RELEASE_BODY_FILE}
|
|
echo "" >> ${RELEASE_BODY_FILE}
|
|
echo "- $(grep ^FROM ./docker/prod-all-providers/Dockerfile |cut -d ' ' -f2) + OS updates" >> ${RELEASE_BODY_FILE}
|
|
echo "" >> ${RELEASE_BODY_FILE}
|
|
echo "##Gems" >> ${RELEASE_BODY_FILE}
|
|
echo "" >> ${RELEASE_BODY_FILE}
|
|
echo "$(grep -e 'vmpooler ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
|
|
echo "$(grep -e 'vmpooler-provider-.* ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
|
|
echo "${RELEASE_BODY_FILE}"
|
|
- name: Tag Release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: ${{ github.event.inputs.tag }}-prod-all-providers
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
draft: false
|
|
prerelease: false
|
|
bodyFile: ${{ github.event.inputs.tag }}-prod-all-providers-release-body.md
|
|
generateReleaseNotes: true
|