Giter Site home page Giter Site logo

Comments (8)

drauschenbach avatar drauschenbach commented on August 25, 2024 9

It makes no sense to me that this chart releaser action would want to set a tag. CI+CD pipelines are DOWNSTREAM from Git actions such as the setting of a tag.

It also makes no sense to me that the examples for using this pipeline all show that it runs on merges to master. One of the largest value props of Git is that everything can be previewed and verified and peer reviewed in a merge request, and then all the gory details can be squash-committed before any merge to master. And so I've grown accustomed to setting tags on commits in a feature branch (eg 1.2.1-rc1), so that the merge request can show the CI+CD results.

from chart-releaser-action.

unguiculus avatar unguiculus commented on August 25, 2024 5

Why do you create the tag in the first place? chart-releaser does that for you.

from chart-releaser-action.

RafalSkolasinski avatar RafalSkolasinski commented on August 25, 2024 4

Just to add to discussion: ability to force re-publish would be great in case something goes wrong and the artifacts / metadata need fixing.

from chart-releaser-action.

brettmorien avatar brettmorien commented on August 25, 2024 3

We would like to use the Github UI to create a release with version information and the likes. This is the trigger for a release pipeline which includes building the chart and publishing it. The Create Release UI does create a tag automatically, so it's redundant for the chart releaser to do that as well.

Since this post we've manually created a script step that builds the helm chart and pushes it to our GH hosting. If you are curious, you can find it here:
https://github.com/orbit/orbit/blob/master/.github/workflows/release_orbit.yml

from chart-releaser-action.

pete911 avatar pete911 commented on August 25, 2024 2

@brettmorien @drauschenbach I ended up just using chart-releaser directly in the github workflow. I also needed to publish chart on every tag. This is my setup:

      - name: Package and upload helm chart
        run: |
          # donwload helm chart releaser
          curl -sSLo cr.tar.gz "https://github.com/helm/chart-releaser/releases/download/v1.2.1/chart-releaser_1.2.1_linux_amd64.tar.gz"
          tar -xzf cr.tar.gz
          rm -f cr.tar.gz
          owner=$(cut -d '/' -f 1 <<< "$GITHUB_REPOSITORY")
          repo=$(cut -d '/' -f 2 <<< "$GITHUB_REPOSITORY")
          # package chart
          ./cr package charts/$repo
          # upload chart to github relases
          ./cr upload \
              --owner "$owner" \
              --git-repo "$repo" \
              --token "${{ secrets.GITHUB_TOKEN }}" \
              --release-name-template "{{ .Version }}"
          # update index and push to github pages
          git config user.email "[email protected]"
          git config user.name "$owner"
          ./cr index \
              --owner "$owner" \
              --git-repo "$repo" \
              --token "${{ secrets.GITHUB_TOKEN }}" \
              --release-name-template "{{ .Version }}" \
              --index-path ./index.yaml \
              --charts-repo https://$owner.github.io/$repo \
              --push

from chart-releaser-action.

lukasmrtvy avatar lukasmrtvy commented on August 25, 2024

Another use case is relasing from remote repository:

This will not work:

jobs:
  repo-sync:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        repository: 'opendistro-for-elasticsearch/opendistro-build'

    - name: Configure Git
      run: |
        git config user.name "$GITHUB_ACTOR"
        git config user.email "[email protected]"

    - name: Install Helm
      uses: azure/setup-helm@v1
      with:
        version: v3.4.0
        
    - name: Run chart-releaser
      uses: helm/[email protected]
      with:
        charts_dir: helm/
      env:
        CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

from chart-releaser-action.

duyleekun avatar duyleekun commented on August 25, 2024

I guess the concept of this action is for dedicated git project for storing helm charts and this shouldn't be used to mix charts with application. Therefore, the design decision kind of make sense if you think it that way

from chart-releaser-action.

GezimSejdiu avatar GezimSejdiu commented on August 25, 2024

Hi all,

I also see a need to have a possibility to enforce when to do always publish e..g if the version contains SNAPSHOT (that is the idea why we have SNAPSHOT in the first place so that the current version can be always tested e2e before a proper release). Let us take maven-deploy plugin: https://maven.apache.org/plugins/maven-deploy-plugin/usage.html as an example.

I did try somehow to simulate it (but a bit hacky and I do not like it a lot) by providing a filter mechanism that checks if the version contains SNAPSHOT to delete that specific tag/release and redeploy (release it). The challenge was to delete/remove the chart from the gh-pages (there may be a solution, but I didn't like the approach -- to hacky).

So, I would like to have something:

  • check on specific fields e.g. version contains('SNAPSHOT) --> do (re-deploy) and also restrict it to be triggered only on SNAPSHOT.

Best regards,

from chart-releaser-action.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.