Skip to content

Update dependencies #40

Update dependencies

Update dependencies #40

Workflow file for this run

name: Update dependencies
on:
schedule:
- cron: "00 17 * * FRI" # Every Friday at 17:00 UTC
workflow_dispatch:
permissions:
contents: write
pull-requests: write
actions: write
defaults:
run:
shell: bash -euo pipefail {0}
jobs:
update-dependencies:
name: Update dependencies
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App Token
id: generate-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: ${{ github.event.repository.name }}
- name: Generate Auto-Merge GitHub App Token
id: generate-automerge-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with:
app-id: ${{ secrets.AUTOMERGE_APP_ID }}
private-key: ${{ secrets.AUTOMERGE_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: ${{ github.event.repository.name }}
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
token: ${{ steps.generate-token.outputs.token }}
- name: Run cargo update
id: update
run: |
cargo update 2> >(tee /dev/stderr) | ./scripts/cargo-update-filter.sh > /tmp/cargo-update.log
echo "log=$(jq -Rs . < /tmp/cargo-update.log)" >> ${GITHUB_OUTPUT}
echo "table=$(./scripts/cargo-update-to-table.sh < /tmp/cargo-update.log | jq -Rs .)" >> ${GITHUB_OUTPUT}
- name: Create pull request
id: create-pr
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: |
build(deps): update dependencies
${{ fromJSON(steps.update.outputs.log) }}
branch: update-${{ github.run_number }}-${{ github.run_id }}
title: "build(deps): update dependencies"
body: |
Updates dependencies to latest versions per Cargo.toml constraints.
${{ fromJSON(steps.update.outputs.table) }}
author: "missionis[bot] <234988995+missionis[bot]@users.noreply.github.com>"
committer: "missionis[bot] <234988995+missionis[bot]@users.noreply.github.com>"
labels: |
dependencies
rust
delete-branch: true
- name: Enable auto-merge
id: enable-auto-merge
if: steps.create-pr.outputs.pull-request-number
run: |
gh pr merge --auto -ds ${{ steps.create-pr.outputs.pull-request-number }}
env:
GH_TOKEN: ${{ steps.generate-automerge-token.outputs.token }}