upload-helm-charts.yaml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: Upload helm charts
  2. on:
  3. release:
  4. types:
  5. - published
  6. workflow_dispatch:
  7. inputs:
  8. tag:
  9. type: string
  10. required: true
  11. permissions:
  12. contents: read
  13. jobs:
  14. upload:
  15. runs-on: ubuntu-22.04
  16. strategy:
  17. fail-fast: false
  18. steps:
  19. - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
  20. with:
  21. aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  22. aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  23. aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
  24. - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
  25. with:
  26. ref: ${{ github.event.inputs.tag }}
  27. - name: Detect profile
  28. id: profile
  29. run: |
  30. if git describe --tags --match '[v|e]*' --exact; then
  31. REF=$(git describe --tags --match '[v|e]*' --exact)
  32. else
  33. echo "Only release tags matching '[v|e]*' are supported"
  34. exit 1
  35. fi
  36. case "$REF" in
  37. v*)
  38. echo "profile=emqx" >> $GITHUB_OUTPUT
  39. echo "version=$(./pkg-vsn.sh emqx)" >> $GITHUB_OUTPUT
  40. ;;
  41. e*)
  42. echo "profile=emqx-enterprise" >> $GITHUB_OUTPUT
  43. echo "version=$(./pkg-vsn.sh emqx-enterprise)" >> $GITHUB_OUTPUT
  44. ;;
  45. esac
  46. - uses: emqx/push-helm-action@5ca37070f42cf874fc843a0e0c7c10ac76de5255 # v1.1
  47. if: github.event_name == 'release' && !github.event.release.prerelease
  48. with:
  49. charts_dir: "${{ github.workspace }}/deploy/charts/${{ steps.profile.outputs.profile }}"
  50. version: ${{ steps.profile.outputs.version }}
  51. aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  52. aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  53. aws_region: "us-west-2"
  54. aws_bucket_name: "repos-emqx-io"