-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
78 lines (78 loc) · 2.53 KB
/
action.yml
File metadata and controls
78 lines (78 loc) · 2.53 KB
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
name: Create GitHub release
description: >
Create GitHub release with release notes from merged PRs and
automatic semantic versioning.
inputs:
token:
description: 'A Github PAT'
required: true
tag-name:
description: 'Name of the tag being released'
required: false
default: ${{ github.ref }}
release-name:
description: 'Name of the release being created'
required: false
default: ${{ github.ref }}
tag-search-prefix:
description: "Prefix for tags to search in git repository to find previous release"
required: false
default: "v"
tag-search-regex:
description: "grep -P regexp to further filter searched tags (e.g. exclude alphas)"
required: false
default: "v\\d+\\.\\d+\\.\\d+"
runs:
using: "composite"
steps:
- name: Get base branch
id: get_base_branch
uses: "smartlyio/github-actions@get-base-branch-v1"
with:
token: "${{ inputs.token }}"
- name: Get merge window
id: merge-window
env:
TAG_SEARCH_PREFIX: ${{ inputs.tag-search-prefix }}
TAG_SEARCH_REGEX: ${{ inputs.tag-search-regex }}
TAG_NAME: ${{ inputs.tag-name }}
run: ${{ github.action_path }}/get-merge-window.sh
shell: bash
- name: Get merged PRs
uses: octokit/graphql-action@v3.x
id: get-release-prs
with:
token: ${{ inputs.token }}
query: |
query($filter: String!) {
search(query:$filter, type: ISSUE, last: 100) {
edges {
node {
... on PullRequest {
number
mergedAt
title
mergeCommit {
author {
name
}
}
}
}
}
}
}
filter: repo:${{ github.repository }} is:pr base:${{ steps.get_base_branch.outputs.git_base_branch }} merged:${{ steps.merge-window.outputs.start_date }}..${{ steps.merge-window.outputs.end_date }}
- name: Get release message
id: release-message
env:
PR_DATA: ${{ steps.get-release-prs.outputs.data }}
run: ${{ github.action_path }}/get-release-changes.sh
shell: bash
- name: Create release
uses: smartlyio/github-actions@create-simple-github-release-v1
with:
token: ${{ inputs.token }}
tag-name: ${{ inputs.tag-name }}
release-name: ${{ inputs.release-name }}
release-body: ${{ steps.release-message.outputs.changes }}