@@ -307,16 +307,55 @@ jobs:
307307
308308 commit :
309309 name : Commit regenerated ${{ matrix.resolve }} lockfile(s)
310- needs : [resolves, pr]
310+ needs : [resolves, pr, regenerate ]
311311 runs-on : ubuntu-22.04
312312 env :
313- COMMIT_MSG : ${{ env.OUTPUT_BASE_DIR }}/commit_msg
313+ COMMIT_MSG : ${{ env.OUTPUT_BASE_DIR }}/commit_msg.txt
314+ PR_COMMENT : ${{ env.OUTPUT_BASE_DIR }}/pr_comment.md
315+ # preserve the order of resolves from input (eg pants.toml has st2 first, before tools)
316+ RESOLVES : ${{ join(fromJSON(needs.resolves.ouptuts.JSON), ''' ''') }}
317+ RESOLVES_CSV : ${{ join(fromJSON(needs.resolves.ouptuts.JSON), ', ') }}
318+ LOCKFILES : ${{ needs.resolves.outputs.LOCKFILES }}
314319 steps :
315320 - name : Download lockfiles and lockfile diff files
316321 uses : actions/download-artifact@v5
317322 with :
318323 pattern : lockfile-* # lockfile-{resolve}
319324 path : ${{ env.OUTPUT_BASE_DIR }}
320- merge-multiple : true
325+ merge-multiple : true # unpack in {path}/{artifact_name}/
326+
327+ - name : Prepare commit
328+ run : |
329+ echo "pants generate-lockfiles: ${RESOLVES_CSV}" > ${COMMIT_MSG}
330+ echo >> ${COMMIT_MSG}
331+ for resolve in ${RESOLVES}; do
332+ LOCKFILE=$(jq '.["'"${resolve}"'"]' <<< "${LOCKFILES}")
333+ cp "${{ env.OUTPUT_BASE_DIR }}/lockfile-${resolve}/$(basename ${LOCKFILE})" "${LOCKFILE}"
334+ git add "${LOCKFILE}"
335+ STDERR_LOG="${{ env.OUTPUT_BASE_DIR }}/lockfile-${resolve}/stderr.log"
336+ if [ -e ${STDERR_LOG}.txt ]; then
337+ cat ${STDERR_LOG}.txt >> ${COMMIT_MSG}
338+ else
339+ echo "${STDERR_LOG}.txt is missing"
340+ echo "No changes to: ${LOCKFILE}" >> ${COMMIT_MSG}
341+ echo >> ${COMMIT_MSG}
342+ fi
343+ done
344+
345+ - name : Prepare PR comment
346+ run : |
347+ echo "# Lockfile Diffs" > ${PR_COMMENT}
348+ echo >> ${PR_COMMENT}
349+ for resolve in ${RESOLVES}; do
350+ LOCKFILE=$(jq '.["'"${resolve}"'"]' <<< "${LOCKFILES}")
351+ STDERR_LOG="${{ env.OUTPUT_BASE_DIR }}/lockfile-${resolve}/stderr.log"
352+ if [ -e ${STDERR_LOG}.md ]; then
353+ cat ${STDERR_LOG}.md >> ${PR_COMMENT}
354+ else
355+ echo "${STDERR_LOG}.md is missing"
356+ echo "No changes to: `${LOCKFILE}`" >> ${PR_COMMENT}
357+ echo >> ${PR_COMMENT}
358+ fi
359+ done
321360
322361 # TODO: create commit to combine all of the updates in one commit
0 commit comments