7272 run : |
7373 echo "SCANPIPE_CMD=docker run --rm -v \"${{ github.workspace }}/scancode-inputs\":/scancode/input:ro -v \"${{ github.workspace }}/scancode-outputs\":/scancode/output -w /scancode ghcr.io/aboutcode-org/scancode.io:latest scanpipe" >> $GITHUB_ENV
7474
75- - name : Define `scanpipe` Docker command
76- shell : bash
77- run : |
78- ${{ env.SCANPIPE_CMD }} --help
79-
8075# - name: Install ScanCode.io
8176# shell: bash
8277# run: |
@@ -92,76 +87,76 @@ runs:
9287# shell: bash
9388# run: scanpipe migrate --verbosity 0
9489#
95- # - name: Generate `--pipeline` CLI arguments
96- # shell: bash
97- # run: |
98- # IFS=',' read -ra PIPELINES <<< "${{ inputs.pipelines }}"
99- # PIPELINE_CLI_ARGS=""
100- # for pipeline in "${PIPELINES[@]}"; do
101- # PIPELINE_CLI_ARGS+=" --pipeline $pipeline"
102- # done
103- # echo "PIPELINE_CLI_ARGS=${PIPELINE_CLI_ARGS}" >> $GITHUB_ENV
104- #
105- # - name: Generate `--input-url` CLI arguments
106- # shell: bash
107- # run: |
108- # INPUT_URL_CLI_ARGS=""
109- # for url in ${{ inputs.input-urls }}; do
110- # INPUT_URL_CLI_ARGS+=" --input-url $url"
111- # done
112- # echo "INPUT_URL_CLI_ARGS=${INPUT_URL_CLI_ARGS}" >> $GITHUB_ENV
113- #
114- # - name: Create project
115- # shell: bash
116- # run: |
117- # scanpipe create-project ${{ inputs.project-name }} \
118- # ${{ env.PIPELINE_CLI_ARGS }} \
119- # ${{ env.INPUT_URL_CLI_ARGS }}
120- #
121- # - name: Set project work directory in the environment
122- # shell: bash
123- # run: |
124- # project_status=$(scanpipe status --project ${{ inputs.project-name }})
125- # work_directory=$(echo "$project_status" | grep -oP 'Work directory:\s*\K[^\n]+')
126- # echo "PROJECT_WORK_DIRECTORY=$work_directory" >> $GITHUB_ENV
127- #
128- # - name: Copy input files to project work directory
129- # shell: bash
130- # run: |
131- # SOURCE_PATH="${{ inputs.inputs-path }}"
132- # DESTINATION_PATH="${{ env.PROJECT_WORK_DIRECTORY }}/input/"
133- # if [ -d "$SOURCE_PATH" ]; then
134- # cp -r "$SOURCE_PATH"/* "$DESTINATION_PATH"
135- # fi
136- #
137- # - name: Run the pipelines
138- # shell: bash
139- # run: scanpipe execute --project ${{ inputs.project-name }} --no-color
140- #
141- # - name: Generate outputs
142- # id: scanpipe
143- # shell: bash
144- # run: scanpipe output
145- # --project ${{ inputs.project-name }}
146- # --format ${{ inputs.output-formats }}
147- #
148- # - name: Upload outputs
149- # uses: actions/upload-artifact@v4
150- # id: artifact-upload-step
151- # with:
152- # name: ${{ inputs.outputs-archive-name }}
153- # path: ${{ env.PROJECT_WORK_DIRECTORY }}/output/*
154- #
155- # - name: Check compliance
156- # if: inputs.check-compliance == 'true'
157- # shell: bash
158- # run: |
159- # cmd="scanpipe check-compliance \
160- # --project ${{ inputs.project-name }} \
161- # --fail-level ${{ inputs.compliance-fail-level }}"
162- #
163- # if [[ "${{ inputs.compliance-fail-on-vulnerabilities }}" == "true" ]]; then
164- # cmd="$cmd --fail-on-vulnerabilities"
165- # fi
166- #
167- # eval "$cmd"
90+ - name : Generate `--pipeline` CLI arguments
91+ shell : bash
92+ run : |
93+ IFS=',' read -ra PIPELINES <<< "${{ inputs.pipelines }}"
94+ PIPELINE_CLI_ARGS=""
95+ for pipeline in "${PIPELINES[@]}"; do
96+ PIPELINE_CLI_ARGS+=" --pipeline $pipeline"
97+ done
98+ echo "PIPELINE_CLI_ARGS=${PIPELINE_CLI_ARGS}" >> $GITHUB_ENV
99+
100+ - name : Generate `--input-url` CLI arguments
101+ shell : bash
102+ run : |
103+ INPUT_URL_CLI_ARGS=""
104+ for url in ${{ inputs.input-urls }}; do
105+ INPUT_URL_CLI_ARGS+=" --input-url $url"
106+ done
107+ echo "INPUT_URL_CLI_ARGS=${INPUT_URL_CLI_ARGS}" >> $GITHUB_ENV
108+
109+ - name : Create project
110+ shell : bash
111+ run : |
112+ ${{ env.SCANPIPE_CMD }} create-project ${{ inputs.project-name }} \
113+ ${{ env.PIPELINE_CLI_ARGS }} \
114+ ${{ env.INPUT_URL_CLI_ARGS }}
115+
116+ - name : Set project work directory in the environment
117+ shell : bash
118+ run : |
119+ project_status=$(${{ env.SCANPIPE_CMD }} status --project ${{ inputs.project-name }})
120+ work_directory=$(echo "$project_status" | grep -oP 'Work directory:\s*\K[^\n]+')
121+ echo "PROJECT_WORK_DIRECTORY=$work_directory" >> $GITHUB_ENV
122+
123+ - name : Copy input files to project work directory
124+ shell : bash
125+ run : |
126+ SOURCE_PATH="${{ inputs.inputs-path }}"
127+ DESTINATION_PATH="${{ env.PROJECT_WORK_DIRECTORY }}/input/"
128+ if [ -d "$SOURCE_PATH" ]; then
129+ cp -r "$SOURCE_PATH"/* "$DESTINATION_PATH"
130+ fi
131+
132+ - name : Run the pipelines
133+ shell : bash
134+ run : ${{ env.SCANPIPE_CMD }} execute --project ${{ inputs.project-name }} --no-color
135+
136+ - name : Generate outputs
137+ id : scanpipe
138+ shell : bash
139+ run : ${{ env.SCANPIPE_CMD }} output
140+ --project ${{ inputs.project-name }}
141+ --format ${{ inputs.output-formats }}
142+
143+ - name : Upload outputs
144+ uses : actions/upload-artifact@v4
145+ id : artifact-upload-step
146+ with :
147+ name : ${{ inputs.outputs-archive-name }}
148+ path : ${{ env.PROJECT_WORK_DIRECTORY }}/output/*
149+
150+ - name : Check compliance
151+ if : inputs.check-compliance == 'true'
152+ shell : bash
153+ run : |
154+ cmd="${{ env.SCANPIPE_CMD }} check-compliance \
155+ --project ${{ inputs.project-name }} \
156+ --fail-level ${{ inputs.compliance-fail-level }}"
157+
158+ if [[ "${{ inputs.compliance-fail-on-vulnerabilities }}" == "true" ]]; then
159+ cmd="$cmd --fail-on-vulnerabilities"
160+ fi
161+
162+ eval "$cmd"
0 commit comments