mirror of
https://github.com/DeterminateSystems/update-flake-lock.git
synced 2024-12-23 05:22:23 +01:00
e00d99112b
This is to allow users to override the PR title since the commit message as well as title are processed differently which may lead to errors in how they are displayed. For example, the commit message needs quotations to be escaped
78 lines
2.7 KiB
YAML
78 lines
2.7 KiB
YAML
name: 'Update flake.lock'
|
|
description: 'Update your flake.lock and send a PR'
|
|
inputs:
|
|
inputs:
|
|
description: 'A space-separated list of inputs to update. Leave empty to update all inputs.'
|
|
required: false
|
|
default: ''
|
|
token:
|
|
description: 'GITHUB_TOKEN or a `repo` scoped Personal Access Token (PAT)'
|
|
required: false
|
|
default: ${{ github.token }}
|
|
commit-msg:
|
|
description: 'The message provided with the commit'
|
|
required: false
|
|
default: "flake.lock: Update"
|
|
pr-title:
|
|
description: 'The title of the PR to be created'
|
|
required: false
|
|
default: "flake.lock: Update"
|
|
pr-labels:
|
|
description: 'A comma or newline separated list of labels to set on the Pull Request to be created'
|
|
required: false
|
|
default: ''
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- run: |
|
|
if [[ -n '${{ inputs.inputs }}' ]]; then
|
|
inputs=()
|
|
for input in ${{ inputs.inputs }}; do
|
|
inputs+=("--update-input" "$input")
|
|
done
|
|
nix flake lock "${inputs[@]}" --commit-lock-file --commit-lockfile-summary "${{ inputs.commit-msg }}"
|
|
else
|
|
nix flake update --commit-lock-file --commit-lockfile-summary "${{ inputs.commit-msg }}"
|
|
fi
|
|
shell: bash
|
|
env:
|
|
GIT_AUTHOR_NAME: github-actions[bot]
|
|
GIT_AUTHOR_EMAIL: <github-actions[bot]@users.noreply.github.com>
|
|
GIT_COMMITTER_NAME: github-actions[bot]
|
|
GIT_COMMITTER_EMAIL: <github-actions[bot]@users.noreply.github.com>
|
|
- run: |
|
|
content="$(git log --format=%b -n 1)"
|
|
content="${content//'%'/'%25'}"
|
|
content="${content//$'\n'/'%0A'}"
|
|
content="${content//$'\r'/'%0D'}"
|
|
echo "::set-output name=msg::$content"
|
|
shell: bash
|
|
id: commit_message
|
|
- name: Create PR
|
|
uses: peter-evans/create-pull-request@v3
|
|
with:
|
|
branch: update_flake_lock_action
|
|
delete-branch: true
|
|
title: ${{ inputs.pr-title }}
|
|
token: ${{ inputs.token }}
|
|
labels: ${{ inputs.pr-labels }}
|
|
body: |
|
|
Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action.
|
|
|
|
```
|
|
${{ steps.commit_message.outputs.msg }}
|
|
```
|
|
|
|
### Running GitHub Actions on this PR
|
|
|
|
GitHub Actions will not run workflows on pull requests which are opened by a GitHub Action.
|
|
|
|
To run GitHub Actions workflows on this PR, run:
|
|
|
|
```sh
|
|
git branch -D update_flake_lock_action
|
|
git fetch origin
|
|
git checkout update_flake_lock_action
|
|
git commit --amend --no-edit
|
|
git push origin update_flake_lock_action --force
|
|
```
|