Skip to content

Commit 5495c8d

Browse files
committed
gha: prepare commit and PR comment/body messages
1 parent 4779f80 commit 5495c8d

File tree

1 file changed

+42
-3
lines changed

1 file changed

+42
-3
lines changed

.github/workflows/lockfiles.yaml

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)