diff --git a/.github/workflows/auto-release.yaml b/.github/workflows/auto-release.yaml new file mode 100644 index 00000000..10c110f6 --- /dev/null +++ b/.github/workflows/auto-release.yaml @@ -0,0 +1,46 @@ +name: Auto Release CSM +on: + workflow_dispatch: + repository_dispatch: + types: [auto-driver-module-release-workflow] + +jobs: + calculate-version: + runs-on: ubuntu-latest + outputs: + new-version: ${{ steps.set-version.outputs.version }} + steps: + - name: Check out repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 # Fetch the full history including tags + + - name: Get latest release version + id: get-latest-version + run: | + latest_version=$(git describe --tags $(git rev-list --tags --max-count=1)) + echo "latest_version=${latest_version}" >> $GITHUB_ENV + + - name: Increment minor version and remove 'v' prefix + id: set-version + run: | + version=${{ env.latest_version }} + clean_version=${version#v} + + # Parse version parts + major=$(echo $clean_version | cut -d'.' -f1) + minor=$(echo $clean_version | cut -d'.' -f2) + patch=$(echo $clean_version | cut -d'.' -f3) + new_minor=$((minor + 1)) + new_version="${major}.${new_minor}.0" + + echo "New version: $new_version" + echo "::set-output name=version::$new_version" + + csm-release: + needs: calculate-version + uses: dell/common-github-actions/.github/workflows/csm-release-driver-module.yaml@main + with: + version: ${{ inputs.version || needs.calculate-version.outputs.new-version }} + image: "csi-powermax" + secrets: inherit diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..3bdac715 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,22 @@ +name: Release CSI-Powermax +# Invocable as a reusable workflow +# Can be manually triggered +on: # yamllint disable-line rule:truthy + workflow_call: + workflow_dispatch: + inputs: + version: + description: 'Version to release (major, minor, patch), Example: 1.x.x' + required: true + image: + description: 'Image name. Example: csi-powermax' + default: 'csi-powermax' + required: true +jobs: + csm-release: + uses: dell/common-github-actions/.github/workflows/csm-release-driver-module.yaml@main + name: Release CSM Drivers and Modules + with: + version: ${{ github.event.inputs.version }} + image: ${{ github.event.inputs.image }} + secrets: inherit