Skip to content

Update Inventory

Update Inventory #403

Workflow file for this run

name: Update Inventory
on:
workflow_dispatch:
schedule:
- cron: '00 4 * * 1-5'
permissions:
actions: write
contents: write
pull-requests: write
jobs:
update-go-inventory:
name: Update Go Inventory
runs-on: pub-hk-ubuntu-24.04-ip
steps:
- uses: actions/create-github-app-token@v1
id: generate-token
with:
app-id: ${{ vars.LINGUIST_GH_APP_ID }}
private-key: ${{ secrets.LINGUIST_GH_PRIVATE_KEY }}
- name: Checkout Repo
uses: actions/checkout@v4
- id: install-rust-toolchain
name: Install Rust Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Rebuild Inventory
id: rebuild-inventory
run: |
delimiter="$(openssl rand -hex 8)"
{
echo "msg<<${delimiter}"
cargo run --bin update_inventory buildpacks/go/inventory.toml
echo "${delimiter}"
} >> $GITHUB_OUTPUT
- name: Update Changelog
run: echo "${{ steps.rebuild-inventory.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/\[Unreleased\]\s+/[Unreleased]\n\n- {}/' buildpacks/go/CHANGELOG.md
- name: Create Pull Request
id: pr
uses: peter-evans/create-pull-request@v6
with:
token: ${{ steps.generate-token.outputs.token }}
title: "Update Go Inventory"
commit-message: "Update Inventory for heroku/go\n\n${{ steps.rebuild-inventory.outputs.msg }}"
committer: ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
author: ${{ vars.LINGUIST_GH_APP_USERNAME }} <${{ vars.LINGUIST_GH_APP_EMAIL }}>
branch: update-go-inventory
body: "Automated pull-request to update heroku/go inventory:\n\n${{ steps.rebuild-inventory.outputs.msg }}"
- name: Configure PR
if: steps.pr.outputs.pull-request-operation == 'created'
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
run: gh pr merge --squash --auto "${{ steps.pr.outputs.pull-request-number }}"