-
Notifications
You must be signed in to change notification settings - Fork 15.4k
workflows/release-binaries: Use upload-release-artifact action for uploading #170528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The test failure is unrelated to this patch. |
|
@llvm/pr-subscribers-github-workflow Author: Tom Stellard (tstellar) ChangesFull diff: https://github.com/llvm/llvm-project/pull/170528.diff 1 Files Affected:
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index a8bae830fc609..0aaf9f663c908 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -181,6 +181,9 @@ jobs:
needs: prepare
if: github.repository_owner == 'llvm'
runs-on: ${{ needs.prepare.outputs.build-runs-on }}
+ outputs:
+ digest: ${{ steps.digest.outputs.digest }}
+ artifact-id: ${{ steps.artifact-upload.outputs.artifact-id }}
steps:
- name: Checkout LLVM
@@ -215,8 +218,17 @@ jobs:
ninja -v -C ${{ steps.setup-stage.outputs.build-prefix }}/build stage2-package
release_dir=`find ${{ steps.setup-stage.outputs.build-prefix }}/build -iname 'stage2-bins'`
mv $release_dir/${{ needs.prepare.outputs.release-binary-filename }} .
-
+
+ - name: Generate sha256 digest for binaries
+ id: digest
+ shell: bash
+ env:
+ RELEASE_BINARY_FILENAME: ${{ needs.prepare.outputs.release-binary-filename }}
+ run: |
+ echo "digest=$(cat $RELEASE_BINARY_FILENAME | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
+
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
+ id: artifact-upload
with:
name: ${{ runner.os }}-${{ runner.arch }}-release-binary
# Due to path differences on Windows when running in bash vs running on node,
@@ -245,45 +257,19 @@ jobs:
attestations: write # For artifact attestations
steps:
- - name: Checkout Release Scripts
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- with:
- sparse-checkout: |
- llvm/utils/release/github-upload-release.py
- llvm/utils/git/requirements.txt
- sparse-checkout-cone-mode: false
-
- - name: 'Download artifact'
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
- with:
- pattern: '*-release-binary'
- merge-multiple: true
-
- - name: Attest Build Provenance
- id: provenance
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
- with:
- subject-path: ${{ needs.prepare.outputs.release-binary-filename }}
-
- - name: Rename attestation file
- run:
- mv ${{ steps.provenance.outputs.bundle-path }} ${{ needs.prepare.outputs.release-binary-filename }}.jsonl
-
- - name: Upload Build Provenance
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
- with:
- name: ${{ needs.prepare.outputs.release-binary-filename }}-attestation
- path: ${{ needs.prepare.outputs.release-binary-filename }}.jsonl
-
- - name: Install Python Requirements
- run: |
- pip install --require-hashes -r ./llvm/utils/git/requirements.txt
-
- - name: Upload Release
- shell: bash
- run: |
- ./llvm/utils/release/github-upload-release.py \
- --token ${{ github.token }} \
- --release ${{ needs.prepare.outputs.release-version }} \
- upload \
- --files ${{ needs.prepare.outputs.release-binary-filename }}*
+ - name: Checkout Release Scripts
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
+ with:
+ sparse-checkout: |
+ .github/workflows/upload-release-artifact
+ llvm/utils/release/github-upload-release.py
+ llvm/utils/git/requirements.txt
+ sparse-checkout-cone-mode: false
+
+ - name: Upload Artifacts
+ uses: ./.github/workflows/upload-release-artifact
+ with:
+ artifact-id: ${{ needs.build-release-package.outputs.artifact-id }}
+ attestation-name: ${{ needs.prepare.outputs.release-binary-filename }}
+ digest: ${{ needs.build-release-package.outputs.digest }}
+ upload: true
|
boomanaiden154
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I'm assuming this has been tested somewhere?
|
@boomanaiden154 It's mostly tested here: https://github.com/llvm/llvm-project/actions/runs/19989197850 it generates the attestation, uploads the artifacts to the workflow summary, but it doesn't do the last step of uploading to the release page. I don't think there is any way to test this part. |
Ack. Seems reasonable enough to me to land in this state then. |
No description provided.