Skip to content

Cannot lint charts in pipeline #186

@g0blin79

Description

@g0blin79

This probably is not a bug, but only a problem I have and I don't understand why. I'm asking an help.

I start using ct for our company chart repository.
Our charts are into a "stable" directory at the root of the repo.

If I try to lint my chart in local environment I do it with success.
But when I use the same command in my CI Environment (Gitlab Pipeline) I had this error:

Linting charts...
Using config file:  .bmeme/config.yaml
------------------------------------------------------------------------------------------------------------------------
 Configuration
------------------------------------------------------------------------------------------------------------------------
Remote: origin
TargetBranch: master
BuildId: 
LintConf: /etc/ct/lintconf.yaml
ChartYamlSchema: /etc/ct/chart_schema.yaml
ValidateMaintainers: false
ValidateChartSchema: true
ValidateYaml: true
CheckVersionIncrement: true
ProcessAllCharts: false
Charts: []
ChartRepos: []
ChartDirs: [stable]
ExcludedCharts: []
HelmExtraArgs: --timeout 600
HelmRepoExtraArgs: []
Debug: false
Upgrade: false
SkipMissingValues: false
Namespace: 
ReleaseLabel: 
------------------------------------------------------------------------------------------------------------------------
Error linting charts: Error identifying charts to process: Error running process: exit status 128
------------------------------------------------------------------------------------------------------------------------
No chart changes detected.
------------------------------------------------------------------------------------------------------------------------

Some infos:

  • I'm using this yaml configuration:
target-branch: master
chart-dirs:
  - stable
helm-extra-args: --timeout 600
validate-maintainers: false
  • In local development environment I run lint command using docker image, in this way:
    `docker run -v $(pwd):/workdir gcr.io/kubernetes-charts-ci/test-image:v3.4.0 sh -c "ct lint --config .bmeme/config.yaml"

  • In pipeline, I tried running this command both native and with docker-in-docker: in both case I had the same error.

If I try to run same command with --debug option, I noticed the following differences about git commands:

local execution:

------------------------------------------------------------------------------------------------------------------------
>>> git rev-parse --is-inside-work-tree
>>> git merge-base origin/master HEAD
>>> git diff --find-renames --name-only f34b8dae2977eb310860a145f8b429567128ebc7 -- stable

------------------------------------------------------------------------------------------------------------------------

pipeline execution

------------------------------------------------------------------------------------------------------------------------
>>> git rev-parse --is-inside-work-tree
>>> git merge-base origin/master HEAD
Error linting charts: Error identifying charts to process: Error running process: exit status 128
------------------------------------------------------------------------------------------------------------------------

Can you help me to debug this problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions