@@ -17,9 +17,8 @@ inputs:
1717 values-file :
1818 description : |
1919 Path to the values file to use for generating the documentation.
20- If not provided, it will use the default values file .
20+ See <https://github.com/losisin/helm- values-schema-json-action> .
2121 required : false
22- default : " values.yaml"
2322 github-token :
2423 description : |
2524 GitHub Token to create and merge pull request.
@@ -41,27 +40,42 @@ inputs:
4140runs :
4241 using : " composite"
4342 steps :
44- - shell : bash
45- id : prepare-variables
46- run : |
47- if [ ! -d "${{ inputs.working-directory }}" ]; then
48- echo "The working directory '${{ inputs.working-directory }}' does not exist."
49- exit 1
50- fi
51- working_directory=$(realpath "${{ inputs.working-directory }}")
43+ - id : prepare-variables
44+ uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
45+ with :
46+ script : |
47+ const { existsSync, realpathSync } = require('node:fs');
48+ const { basename, isAbsolute, join } = require('node:path');
49+
50+ let workingDirectory = ${{ toJson(inputs.working-directory) }};
51+ if (!workingDirectory || !workingDirectory.length) {
52+ return core.setFailed("Input 'working-directory' is required.");
53+ }
54+
55+ if (!existsSync(workingDirectory)) {
56+ return core.setFailed(`Working directory '${workingDirectory}' does not exist.`);
57+ }
58+
59+ workingDirectory = realpathSync(workingDirectory);
60+ core.setOutput("working-directory", workingDirectory);
61+ core.setOutput("working-directory-name", basename(workingDirectory));
5262
53- echo "working-directory=${{ inputs.working-directory }}" >> "$GITHUB_OUTPUT"
54- echo "working-directory-name=$(basename "${{ inputs.working-directory }}")" >> "$GITHUB_OUTPUT"
63+ let valuesFile = ${{ toJson(inputs.values-file) }};
64+ if (valuesFile && valuesFile.length) {
65+ if(isAbsolute(valuesFile)) {
66+ if (!existsSync(valuesFile)) {
67+ return core.setFailed(`The values file '${valuesFile}' does not exist.`);
68+ }
69+ } else {
70+ valuesFile = join(workingDirectory, valuesFile);
71+ if(!existsSync(valuesFile)) {
72+ return core.setFailed(`The values file '${valuesFile}' does not exist in the working directory '${workingDirectory}'.`);
73+ }
74+ }
5575
56- values_file="${{ inputs.values-file }}"
57- if [ ! -z "$values_file" ]; then
58- if [ ! -f "${working_directory}/${values_file}" ]; then
59- echo "The values file '${values_file}' does not exist in the working directory '${working_directory}'."
60- exit 1
61- fi
62- values_file=$(realpath "${working_directory}/${values_file}")
63- echo "values-file=${values_file}" >> "$GITHUB_OUTPUT"
64- fi
76+ valuesFile = realpathSync(valuesFile);
77+ core.setOutput("values-file", valuesFile);
78+ }
6579
6680 - uses : hoverkraft-tech/ci-github-common/actions/checkout@6857ef6d10f704e0998aa4955282f27d1b9be778 # 0.23.1
6781
7387 uses : losisin/helm-values-schema-json-action@28b1b33dcd9bd10bb8157627566f3971313a8872 # v2.0.4
7488 with :
7589 input : ${{ steps.prepare-variables.outputs.values-file }}
90+ working-directory : ${{ steps.prepare-variables.outputs.working-directory }}
7691
7792 - name : Prettify code
7893 uses : creyD/prettier_action@8c18391fdc98ed0d884c6345f03975edac71b8f0 # v4.6
0 commit comments