diff --git a/.github/workflows/release-helm-charts.yml b/.github/workflows/release-helm-charts.yml new file mode 100644 index 0000000..02adca1 --- /dev/null +++ b/.github/workflows/release-helm-charts.yml @@ -0,0 +1,68 @@ +--- +name: Release Helm charts +on: + push: + workflow_dispatch: + inputs: + tag: + description: 'Tag in semver format' + required: true + +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 \ No newline at end of file diff --git a/README.md b/README.md index 102380f..80878cb 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ cd docs/ helm package ../helm-charts/* helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ . git add . +cd .. git commit -a ``` diff --git a/helm-charts/vmpooler/values.yaml b/helm-charts/vmpooler/values.yaml index 0d7fa43..9591e3c 100644 --- a/helm-charts/vmpooler/values.yaml +++ b/helm-charts/vmpooler/values.yaml @@ -164,7 +164,8 @@ pools: snapshot_mainMem_iowait: '5' network: 'vmpooler1' - name: 'centos-6-x86_64-pixa4' - alias: [ 'centos-6-x86_64' ] + alias: + - 'centos-6-x86_64' template: 'templates/cluster2/centos-6.8-x86_64-0.0.2-8gb' folder: test-instance/cluster2/centos-6-x86_64' datastore: 'vmpooler_cluster2' @@ -175,4 +176,4 @@ pools: provider: 'vsphere-ci67' snapshot_mainMem_ioBlockPages: '2048' snapshot_mainMem_iowait: '5' - network: 'vmpooler2' \ No newline at end of file + network: 'vmpooler2'