Files
helm-charts/.github/workflows/change-app-version.yml
T

70 lines
2.4 KiB
YAML

name: Change App-Version
on:
workflow_dispatch:
inputs:
app-version:
required: true
type: string
description: "change the version of the underlying application"
chart-location:
required: false
type: string
default: "."
description: "location of the helm chart"
chart-name:
required: true
type: choice
description: "helm chart to be updated"
options:
- zipline
- calibre-web-automated
- samba
workflow_call:
inputs:
app-version:
required: true
type: string
description: "change the version of the underlying application"
chart-location:
required: false
type: string
default: "."
description: "location of the helm chart"
chart-name:
required: true
type: string
description: "name of the helm chart"
jobs:
change-app-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: "Get Chart Version"
run: |
CHART_VERSION=$(grep '^version:' ${{ inputs.chart-name}}/Chart.yaml | awk '{print $2}')
CHART_PART=$(echo $CHART_VERSION | cut -d'-' -f1)
echo "CHART_VERSION=$CHART_PART" >> $GITHUB_ENV
working-directory: ${{ inputs.chart-location }}
- name: "Get new Chart Version"
run: |
APP_VERSION_NORMALIZED=$(echo "${{ inputs.app-version }}" | tr '.' '-')
NEW_VERSION="${CHART_VERSION}-release-${APP_VERSION_NORMALIZED}"
sed -i "s/^version:.*/version: $NEW_VERSION/" ${{ inputs.chart-name }}/Chart.yaml
sed -i "s/^appVersion:.*/appVersion: ${{ inputs.app-version }}/" ${{ inputs.chart-name }}/Chart.yaml
working-directory: ${{ inputs.chart-location }}
- name: "View chart-directory contents"
run: ls -al
working-directory: ${{ inputs.chart-location }}
- name: "View helm-chart.yaml"
run: cat Chart.yaml
working-directory: ${{ inputs.chart-location }}/${{ inputs.chart-name }}
- name: Commit and Push Changes
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email '41898282+github-actions[bot]@users.noreply.github.com'
git commit -am "Updated ${{ inputs.chart-name }} application version to ${{ inputs.app-version }}"
git push