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: GIT_COMMITTER_NAME: github-actions[bot] GIT_COMMITTER_EMAIL: - 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 ```