Skip to content

vc-command

vc-command #462

Workflow file for this run

---
name: Changelog Command
on:
repository_dispatch:
types: [vc-command]
jobs:
append-changelog:
runs-on: ubuntu-22.04
container: ghcr.io/dcermak/bci-ci:latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# ensure that we have write permissions for pushes
token: ${{ secrets.CHECKOUT_TOKEN }}
- uses: actions/cache@v4
with:
path: ~/.cache/pypoetry/virtualenvs
key: poetry-${{ hashFiles('poetry.lock') }}
- name: fix the file permissions of the repository
run: chown -R $(id -un):$(id -gn) .
- name: install python dependencies
run: poetry install
- name: Add the changelog entries
id: vars
run: |
# this returns SUSE:$branch_name
branch="${{ github.event.client_payload.pull_request.head.label }}"
if [[ -z "$branch" ]]; then echo "No branch set!"; exit 1; fi
# fail if the origin branch is wrong
[[ "$branch" =~ ^SUSE:for-deploy- ]]
export OS_VERSION="${branch/SUSE:for-deploy-/}"
user="${{ github.event.client_payload.slash_command.args.named.user }}"
if [[ -z "$user" ]]; then echo "Missing user parameter!"; exit 1; fi
export user
entry="${{ github.event.client_payload.slash_command.args.unnamed.all }}"
if [[ -z "$entry" ]]; then echo "No changelog entry provided!"; exit 1; fi
export entry
PACKAGES="${{ github.event.client_payload.slash_command.args.named.packages }}"
if [[ -z "$PACKAGES" ]]; then
unset PACKAGES
else
export PACKAGES
fi
poetry run scratch-build-bot \
-vvvv --os-version $OS_VERSION \
add_changelog_entry \
--user $user \
"$entry"
env:
OSC_PASSWORD: ${{ secrets.OSC_PASSWORD }}
OSC_USER: "defolos"
- name: Add reaction to the original comment on success
if: ${{ success() }}
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.PAT }}
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
reactions: "+1"
- name: generate the url to this workflow run
if: ${{ failure() || cancelled() }}
run: echo "run_url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_ENV
- name: Add reaction and a link to the error to the original comment on failure
if: ${{ failure() || cancelled() }}
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.PAT }}
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
reactions: "-1"
body: Failed to update the changelog, see the [workflow run](${{ env.run_url }}) for further details.