mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
I got so many warnings about [Node 20 EOL](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/) in the [try](https://github.com/servo/servo/actions/runs/22945103342): > The following actions are running on Node.js 20 and may not work as expected... We avoid touching those actions forked from web-platform-tests. Testing: If this can merge, it is successful. --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
70 lines
2.5 KiB
YAML
70 lines
2.5 KiB
YAML
name: Upload and Attest Release Assets
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
artifact_platform:
|
|
type: string
|
|
required: true
|
|
description: "The platform of the release artifacts to upload."
|
|
target_repo:
|
|
type: string
|
|
required: true
|
|
description: "The target repository owner and name (e.g. `servo/servo`) where the release will be created."
|
|
github_release_id:
|
|
type: string
|
|
required: true
|
|
description: "The ID of the GitHub release to which assets will be added."
|
|
artifact_ids:
|
|
required: true
|
|
type: string
|
|
description: "A comma-separated list of artifact IDs to upload."
|
|
secrets:
|
|
github_upload_token:
|
|
required: false
|
|
description: "A GitHub token with permission to upload release assets. If omitted github.token will be used instead."
|
|
s3_upload_token:
|
|
required: true
|
|
description: "A token with permission to upload release artifacts to our S3 bucket."
|
|
|
|
|
|
jobs:
|
|
upload-artifact:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
sparse-checkout: |
|
|
.github
|
|
etc/ci
|
|
fetch-depth: '1'
|
|
- name: Setup Python
|
|
uses: ./.github/actions/setup-python
|
|
- name: Validate artifact IDs
|
|
run: |
|
|
if [[ -z "${{ inputs.artifact_ids }}" ]]; then
|
|
echo "Error: No artifact IDs provided."
|
|
echo "Help: Check the calling workflow's output.artifact_ids parameter, usually created by a build workflow."
|
|
echo "If you recently renamed the build job for the artifacts, without updating the `outputs.artifact_ids` "
|
|
echo "parameter then this might be the cause of the error."
|
|
exit 1
|
|
fi
|
|
- uses: actions/download-artifact@v8
|
|
with:
|
|
artifact-ids: ${{ inputs.artifact_ids }}
|
|
merge-multiple: true
|
|
path: release-artifacts
|
|
- name: Generate artifact attestation
|
|
uses: actions/attest-build-provenance@v3
|
|
with:
|
|
subject-path: 'release-artifacts/*'
|
|
- name: Upload release artifacts
|
|
run: |
|
|
./etc/ci/upload_nightly.py ${{ inputs.artifact_platform}} \
|
|
--secret-from-environment \
|
|
--github-release-id ${{ inputs.github_release_id }} \
|
|
release-artifacts/*
|
|
env:
|
|
S3_UPLOAD_CREDENTIALS: ${{ secrets.s3_upload_token }}
|
|
RELEASE_REPO_TOKEN: ${{ secrets.github_upload_token || github.token }}
|
|
RELEASE_REPO: ${{ inputs.target_repo }}
|