chore(deps): lock file maintenance #55
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Plz | |
permissions: | |
pull-requests: write | |
contents: write | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
release-plz: | |
name: Release-plz | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Use rust cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run release-plz | |
id: release-plz | |
uses: MarcoIeni/release-plz-action@v0.5 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
- name: Tag released PRs | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RELEASES: ${{ steps.release-plz.outputs.releases }} | |
run: | | |
set -e | |
# Iterate over released packages and add a label to the PRs | |
# shipped with the release. | |
for release in $(echo "$RELEASES" | jq -r -c '.[]'); do | |
package_name=$(echo "$release" | jq -r '.package_name') | |
version=$(echo "$release" | jq -r '.version') | |
prs_length=$(echo "$release" | jq '.prs | length') | |
if [ "$prs_length" -gt 0 ]; then | |
# Create label. | |
# Use `--force` to overwrite the label, | |
# so that the command does not fail if the label already exists. | |
label="released:$package_name-$version" | |
echo "Creating label $label" | |
gh label create $label --color BFD4F2 --force | |
for pr in $(echo "$release" | jq -r -c '.prs[]'); do | |
pr_number=$(echo "$pr" | jq -r '.number') | |
echo "Adding label $label to PR #$pr_number" | |
gh pr edit $pr_number --add-label $label | |
done | |
else | |
echo "No PRs found for package $package_name" | |
fi | |
done |