From 8ce07ed2b7b3410074c1c1757b85193f3959a267 Mon Sep 17 00:00:00 2001 From: Denis Arsh Date: Tue, 20 Aug 2024 13:03:03 +0300 Subject: [PATCH] push metaprovisioner chart --- .../workflows/branch-naming-convention.yml | 11 +- .github/workflows/docker-helm.yml | 341 +++++++++--------- charts/metastorageprovisioner/Chart.yaml | 4 +- charts/mlops/Chart.yaml | 4 +- 4 files changed, 184 insertions(+), 176 deletions(-) diff --git a/.github/workflows/branch-naming-convention.yml b/.github/workflows/branch-naming-convention.yml index 28228a39..206ab8ee 100644 --- a/.github/workflows/branch-naming-convention.yml +++ b/.github/workflows/branch-naming-convention.yml @@ -12,4 +12,13 @@ jobs: allowed_prefixes: 'DEV-,weekly-rc-,DEVOPS-,quality-' # All branches should start with the given prefix ignore: master,main,saas # Ignore exactly matching branch names from convention min_length: 5 # Min length of the branch name - max_length: 300 # Max length of the branch name \ No newline at end of file + max_length: 300 # Max length of the branch name + - name: Package and release helm + env: + CHARTMUSEUM_USER: ${{ secrets.CHARTMUSEUM_USER }} + CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} + run: | + helm plugin install https://github.com/chartmuseum/helm-push.git + helm repo add cnvrg https://charts.slim.cnvrg.io/cnvrg + # helm dependency build charts/mlops + helm cm-push charts/metastorageprovisioner -f cnvrg -u=${CHARTMUSEUM_USER} -p=${CHARTMUSEUM_PASSWORD} --context-path /cnvrg \ No newline at end of file diff --git a/.github/workflows/docker-helm.yml b/.github/workflows/docker-helm.yml index 2dcd4455..4036472f 100644 --- a/.github/workflows/docker-helm.yml +++ b/.github/workflows/docker-helm.yml @@ -2,12 +2,12 @@ name: Docker Image CI on: push: - workflow_dispatch: - inputs: - msg: - description: "Msg instead of commit log" - required: true - default: 'false' +# workflow_dispatch: +# inputs: +# msg: +# description: "Msg instead of commit log" +# required: true +# default: 'false' jobs: build: runs-on: ubuntu-latest @@ -40,176 +40,175 @@ jobs: # run: | # helm install cnvrg ./charts/cnvrg-operator --dry-run --namespace=cnvrg-system --debug # helm install cnvrg ./charts/cnvrg-cap --dry-run --namespace=cnvrg --debug - - - name: Bump version and push tag - uses: AccessibleAI/github-tag-action@1.0.0 - id: tag_bump - env: - MSG: ${{ github.event.inputs.msg }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PRERELEASE_AUTOMATIC_BUMP: true - WITH_V: false - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.9' - architecture: x64 - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - - - name: Extract repo/branch name - shell: bash - if: ${{ steps.tag_bump.outputs.bumped == 'true' }} - run: | - echo "::set-output name=docker_repo::cnvrg-operator" - echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/*/})" - echo "##[set-output name=head;]$(git rev-parse --short HEAD)" - echo "##[set-output name=repo_url;]$(echo $GITHUB_SERVER_URL/$GITHUB_REPOSITORY)" - id: extract_info - - - name: Login to Docker Hub - uses: docker/login-action@v1 - if: ${{ steps.tag_bump.outputs.bumped == 'true' }} - with: - username: ${{ secrets.DOCKER_USER}} - password: ${{ secrets.DOCKER_PASSWORD}} - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1 - if: ${{ steps.tag_bump.outputs.bumped == 'true' }} - - - name: Build and push main latest - id: docker_build_main - uses: docker/build-push-action@v2 - if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/main') }} - with: - context: ./ - file: ./Dockerfile - push: true - tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:latest - build-args: | - BUILD_SHA=${{ steps.extract_info.outputs.head }} - BUILD_VERSION=latest - - - name: Build and push tagged image - id: docker_build_tag - uses: docker/build-push-action@v2 - if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref == 'refs/heads/main') }} - with: - context: ./ - file: ./Dockerfile - push: true - tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }} - build-args: | - BUILD_SHA=${{ steps.extract_info.outputs.head }} - BUILD_VERSION=${{ steps.tag_bump.outputs.new_tag }} - private_repo=github.com/AccessibleAI/cnvrg-operator - git_auth=${{ secrets.CNVRG_RUNNER_AUTH }} - - - name: Build and push tagged image - id: docker_build_tag_branch - uses: docker/build-push-action@v2 - if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref != 'refs/heads/main') }} - with: - context: ./ - file: ./Dockerfile - push: true - tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }} - build-args: | - BUILD_SHA=${{ steps.extract_info.outputs.head }} - BUILD_VERSION=${{ steps.tag_bump.outputs.new_tag }} - private_repo=github.com/AccessibleAI/cnvrg-operator - git_auth=${{ secrets.CNVRG_RUNNER_AUTH }} - - - name: Generate Cnvrg Changelog - uses: AccessibleAI/github-changelog-action@1.0.0 - id: cnvrg_changelog - with: - from_version: ${{ steps.tag_bump.outputs.tag }} - to_version: ${{ steps.tag_bump.outputs.new_tag }} - jira_token: ${{ secrets.JIRA_TOKEN }} - slack_webhook_url: false - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - - - name: Generate Non Cnvrg Changelog - id: changelog - uses: metcalfc/changelog-generator@v3.0.0 - with: - myToken: ${{ secrets.GITHUB_TOKEN }} - head-ref: ${{ steps.tag_bump.outputs.tag }} - base-ref: ${{ steps.tag_bump.outputs.new_tag }} - if: ${{ steps.cnvrg_changelog.outputs.empty == 'true' && steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - - - name: Generate changelog - id: changelog_final - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - run: | - set -o noglob - if ${{ steps.cnvrg_changelog.outputs.empty }}; then - log=$(cat << "EOF" - ${{ steps.changelog.outputs.changelog }} - EOF - ) - else - log=$(cat << "EOF" - ${{ steps.cnvrg_changelog.outputs.changelog }} - EOF - ) - fi - log="${log//'%'/'%25'}" - log="${log//$'\n'/'%0A'}" - log="${log//$'\r'/'%0D'}" - echo "::set-output name=changelog::$log" - - - name: Print the final changelog - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - run: | - cat << "EOF" - ${{ steps.changelog_final.outputs.changelog }} - EOF - - - name: Changelog Release - uses: softprops/action-gh-release@v1 - with: - body: ${{steps.changelog_final.outputs.changelog}} - tag_name: ${{ steps.tag_bump.outputs.new_tag }} - prerelease: ${{ steps.tag_bump.outputs.prerelease }} - generate_release_notes: true - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - - - name: Change Chart Version - if: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' }} - run: | - sed -i 's#5.1.0#${{ steps.tag_bump.outputs.new_tag }}#g' charts/mlops/Chart.yaml - cat charts/mlops/Chart.yaml +# +# - name: Bump version and push tag +# uses: AccessibleAI/github-tag-action@1.0.0 +# id: tag_bump +# env: +# MSG: ${{ github.event.inputs.msg }} +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# PRERELEASE_AUTOMATIC_BUMP: true +# WITH_V: false +# +# - name: Set up Python +# uses: actions/setup-python@v2 +# with: +# python-version: '3.9' +# architecture: x64 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# +# - name: Extract repo/branch name +# shell: bash +# if: ${{ steps.tag_bump.outputs.bumped == 'true' }} +# run: | +# echo "::set-output name=docker_repo::cnvrg-operator" +# echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/*/})" +# echo "##[set-output name=head;]$(git rev-parse --short HEAD)" +# echo "##[set-output name=repo_url;]$(echo $GITHUB_SERVER_URL/$GITHUB_REPOSITORY)" +# id: extract_info +# +# - name: Login to Docker Hub +# uses: docker/login-action@v1 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' }} +# with: +# username: ${{ secrets.DOCKER_USER}} +# password: ${{ secrets.DOCKER_PASSWORD}} +# +# - name: Set up Docker Buildx +# id: buildx +# uses: docker/setup-buildx-action@v1 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' }} +# +# - name: Build and push main latest +# id: docker_build_main +# uses: docker/build-push-action@v2 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/main') }} +# with: +# context: ./ +# file: ./Dockerfile +# push: true +# tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:latest +# build-args: | +# BUILD_SHA=${{ steps.extract_info.outputs.head }} +# BUILD_VERSION=latest +# +# - name: Build and push tagged image +# id: docker_build_tag +# uses: docker/build-push-action@v2 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref == 'refs/heads/main') }} +# with: +# context: ./ +# file: ./Dockerfile +# push: true +# tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }} +# build-args: | +# BUILD_SHA=${{ steps.extract_info.outputs.head }} +# BUILD_VERSION=${{ steps.tag_bump.outputs.new_tag }} +# private_repo=github.com/AccessibleAI/cnvrg-operator +# git_auth=${{ secrets.CNVRG_RUNNER_AUTH }} +# +# - name: Build and push tagged image +# id: docker_build_tag_branch +# uses: docker/build-push-action@v2 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && (github.ref != 'refs/heads/main') }} +# with: +# context: ./ +# file: ./Dockerfile +# push: true +# tags: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }} +# build-args: | +# BUILD_SHA=${{ steps.extract_info.outputs.head }} +# BUILD_VERSION=${{ steps.tag_bump.outputs.new_tag }} +# private_repo=github.com/AccessibleAI/cnvrg-operator +# git_auth=${{ secrets.CNVRG_RUNNER_AUTH }} +# +# - name: Generate Cnvrg Changelog +# uses: AccessibleAI/github-changelog-action@1.0.0 +# id: cnvrg_changelog +# with: +# from_version: ${{ steps.tag_bump.outputs.tag }} +# to_version: ${{ steps.tag_bump.outputs.new_tag }} +# jira_token: ${{ secrets.JIRA_TOKEN }} +# slack_webhook_url: false +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# +# - name: Generate Non Cnvrg Changelog +# id: changelog +# uses: metcalfc/changelog-generator@v3.0.0 +# with: +# myToken: ${{ secrets.GITHUB_TOKEN }} +# head-ref: ${{ steps.tag_bump.outputs.tag }} +# base-ref: ${{ steps.tag_bump.outputs.new_tag }} +# if: ${{ steps.cnvrg_changelog.outputs.empty == 'true' && steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# +# - name: Generate changelog +# id: changelog_final +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# run: | +# set -o noglob +# if ${{ steps.cnvrg_changelog.outputs.empty }}; then +# log=$(cat << "EOF" +# ${{ steps.changelog.outputs.changelog }} +# EOF +# ) +# else +# log=$(cat << "EOF" +# ${{ steps.cnvrg_changelog.outputs.changelog }} +# EOF +# ) +# fi +# log="${log//'%'/'%25'}" +# log="${log//$'\n'/'%0A'}" +# log="${log//$'\r'/'%0D'}" +# echo "::set-output name=changelog::$log" +# +# - name: Print the final changelog +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# run: | +# cat << "EOF" +# ${{ steps.changelog_final.outputs.changelog }} +# EOF +# +# - name: Changelog Release +# uses: softprops/action-gh-release@v1 +# with: +# body: ${{steps.changelog_final.outputs.changelog}} +# tag_name: ${{ steps.tag_bump.outputs.new_tag }} +# prerelease: ${{ steps.tag_bump.outputs.prerelease }} +# generate_release_notes: true +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# +# - name: Change Chart Version +# if: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' }} +# run: | +# sed -i 's#5.1.0#${{ steps.tag_bump.outputs.new_tag }}#g' charts/mlops/Chart.yaml +# cat charts/mlops/Chart.yaml - name: Package and release helm - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} env: CHARTMUSEUM_USER: ${{ secrets.CHARTMUSEUM_USER }} CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} run: | helm plugin install https://github.com/chartmuseum/helm-push.git helm repo add cnvrg https://charts.slim.cnvrg.io/cnvrg - helm dependency build charts/mlops - helm cm-push charts/mlops -f cnvrg -u=${CHARTMUSEUM_USER} -p=${CHARTMUSEUM_PASSWORD} --context-path /cnvrg - - - name: Slack Notification - uses: rtCamp/action-slack-notify@v2 - if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} - env: - SLACK_USERNAME: Github Actions - SLACK_WEBHOOK: ${{ secrets.SLACK_GITHUB_APP_TOKEN }} - SLACK_CHANNEL: "#release-notes" - SLACK_ICON: https://avatars.githubusercontent.com/u/44036562?s=48&v=4 - SLACK_COLOR: ${{ job.status }} - SLACK_FOOTER: "" - MSG_MINIMAL: true - SLACK_TITLE: "Repo Name" - SLACK_MESSAGE: | - <${{ steps.extract_info.outputs.repo_url }}|${{github.event.repository.name}}> - *Docker Image: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }}* - *Version: ${{ steps.tag_bump.outputs.new_tag }}* - <${{ steps.extract_info.outputs.repo_url }}/releases|Release Notes:> - ${{steps.changelog_final.outputs.changelog}} +# helm dependency build charts/mlops + helm cm-push charts/metastorageprovisioner -f cnvrg -u=${CHARTMUSEUM_USER} -p=${CHARTMUSEUM_PASSWORD} --context-path /cnvrg +# +# - name: Slack Notification +# uses: rtCamp/action-slack-notify@v2 +# if: ${{ steps.tag_bump.outputs.bumped == 'true' && steps.tag_bump.outputs.prerelease == 'false' }} +# env: +# SLACK_USERNAME: Github Actions +# SLACK_WEBHOOK: ${{ secrets.SLACK_GITHUB_APP_TOKEN }} +# SLACK_CHANNEL: "#release-notes" +# SLACK_ICON: https://avatars.githubusercontent.com/u/44036562?s=48&v=4 +# SLACK_COLOR: ${{ job.status }} +# SLACK_FOOTER: "" +# MSG_MINIMAL: true +# SLACK_TITLE: "Repo Name" +# SLACK_MESSAGE: | +# <${{ steps.extract_info.outputs.repo_url }}|${{github.event.repository.name}}> +# *Docker Image: cnvrg/${{ steps.extract_info.outputs.docker_repo }}:${{ steps.tag_bump.outputs.new_tag }}* +# *Version: ${{ steps.tag_bump.outputs.new_tag }}* +# <${{ steps.extract_info.outputs.repo_url }}/releases|Release Notes:> +# ${{steps.changelog_final.outputs.changelog}} diff --git a/charts/metastorageprovisioner/Chart.yaml b/charts/metastorageprovisioner/Chart.yaml index 8f383fdd..869d4857 100644 --- a/charts/metastorageprovisioner/Chart.yaml +++ b/charts/metastorageprovisioner/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: metastorageprovisioner description: A cnvrg.io storage provisioner type: application -version: 5.1.0 -appVersion: 5.1.0 +version: 1.0.0 +appVersion: 1.0.0 diff --git a/charts/mlops/Chart.yaml b/charts/mlops/Chart.yaml index bdf09b7b..00527892 100644 --- a/charts/mlops/Chart.yaml +++ b/charts/mlops/Chart.yaml @@ -18,8 +18,8 @@ dependencies: repository: https://charts.slim.cnvrg.io/cnvrg condition: cvatdbs.enabled - name: metastorageprovisioner - version: 5.1.0 - repository: file://../metastorageprovisioner + version: 1.0.0 + repository: https://charts.slim.cnvrg.io/cnvrg condition: metastorageprovisioner.enabled