/
action.yml
83 lines (83 loc) · 2.48 KB
/
action.yml
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
---
name: create-release
description: GitHub action for publishing release on both PyPI and GitHub
inputs:
changes_file:
description: Path to CHANGES file generated by towncrier
required: true
name:
description: The project name, empty to autodetect from dists
required: false
github_token:
description: GitHub token, e.g. secrets.GITHUB_TOKEN
required: true
pypi_token:
description: PyPI token used to upload packages
required: true
dist_dir:
description: Directory name for dists
required: false
default: dist
version:
description: Release version to extract
required: false
default: ''
version_file:
description: Path to file containing __version__ string
required: false
default: ''
start_line:
description: The marker for towncrier start point
required: false
default: '.. towncrier release notes start'
head_line:
description: Regular expression for head line
required: false
default: "{version}\\s+\\({date}\\)\n====+\n?"
fix_issue_regex:
description: Regexp for issue record replacement
required: false
default: ''
fix_issue_repl:
description: Replacement rule for regexps found by fix_issue_regex
required: false
default: ''
check_ref:
description: Perform git tag check to match provided version
required: false
default: ''
branding:
color: yellow
icon: package
runs:
using: composite
steps:
- name: Prepare Release Note
id: note
uses: aio-libs/get-releasenote@v1.4.5
with:
changes_file: ${{ inputs.changes_file }}
output_file: release_note.md
version: ${{ inputs.version }}
version_file: ${{ inputs.version_file }}
start_line: ${{ inputs.start_line }}
head_line: ${{ inputs.head_line }}
fix_issue_regex: ${{ inputs.fix_issue_regex }}
fix_issue_repl: ${{ inputs.fix_issue_repl }}
name: ${{ inputs.name }}
disr_dir: ${{ inputs.dist_dir }}
check_ref: ${{ inputs.check_ref }}
- name: PyPI upload
if: ${{ inputs.pypi_token }}
uses: pypa/gh-action-pypi-publish@v1.5.0
with:
packages_dir: ${{ inputs.dist_dir }}
password: ${{ inputs.pypi_token }}
- name: GitHub Release
uses: ncipollo/release-action@v1
with:
name: ${{ steps.note.outputs.name }} ${{ steps.note.outputs.version }}
artifacts: ${{ inputs.dist_dir }}/*
bodyFile: release_note.md
prerelease: ${{ steps.note.outputs.prerelease }}
token: ${{ inputs.github_token }}