summaryrefslogtreecommitdiff
path: root/action.yaml
blob: 1aead0c63e12e4d1d1deb37449bbdf93c7bca33e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: "Update npins"
description: "Update your npins sources and create a PR"

inputs:
  sources:
    description: "A space separated list of sources to update"
    required: false
    default: ""
  npins-directory:
    description: "A directory where npins' sources.json and default.nix are located"
    required: false
    default: ""
  commit-message:
    description: "A message to use when committing changes"
    required: true 
    default: "npins: update sources"
  author:
    description: "The author to use when committing changes"
    required:  false
    default: "github-actions[bot] <github-actions[bot]@users.noreply.github.com>"
  signoff:
    description: "Whether to signoff commits"
    required: false
    default: true
  token:
    description: "Token for creating PR"
    required: true
    default: ${{ github.token }}
  pr-branch:
    description: "The name of the PR branch created"
    required: false
    default: "npins-update"
  pr-target:
    description: "The target branch of the created PR"
    required: false
  pr-title:
    description: "The title of the created PR"
    required: false
    default: "npins: update sources"
  pr-body:
    description: "The body of the created PR"
    required: false
    default:
      Automated pull request created by [update-npins](https://github.com/getchoo/update-npins)
  pr-labels:
    description: "A comma or newline-separated list of labels to add to the created PR"
    required: false

outputs:
  pr-number:
    description: "The number of the created PR"
    value: ${{ steps.pr.outputs.pull-request-number }}
  pr-url:
    description: "The URL of the created PR"
    value: ${{ steps.pr.outputs.pull-request-url }}
  pr-operation:
    description: "The operation performed on the created PR"
    value: ${{ steps.pr.outputs.pull-request-operation }}
  pr-head-sha:
    description: "The HEAD commit SHA of the created PR"
    value: ${{ steps.pr.outputs.pull-request-head-sha }}

runs:
  using: composite

  steps:
    - name: Run `npins update`
      env:
        SOURCES: ${{ inputs.sources }}
        NPINS_DIRECTORY: ${{ inputs.npins-directory }}
      shell: bash
      run: |
        if [ "$SOURCES" = "" ]; then
          npins update
        else
          npins update $SOURCES
        fi

    - name: Create PR
      id: pr
      uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
      with:
        token: ${{ inputs.token }}
        commit-message: ${{ inputs.commit-message }}
        committer: ${{ inputs.author }}
        signoff: ${{ inputs.signoff }}
        branch: ${{ inputs.pr-branch }}
        base: ${{ inputs.pr-target }}
        title: ${{ inputs.pr-title }}
        body: ${{ inputs.pr-body }}
        labels: ${{ inputs.pr-labels }}