Skip to content

Commit 4ac6365

Browse files
committed
fix(workflow): incorrect args
1 parent be396b1 commit 4ac6365

File tree

2 files changed

+29
-34
lines changed

2 files changed

+29
-34
lines changed

.github/workflows/changelog-generator.yml

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ on:
1414
use_pull_requests:
1515
description: "Use pull requests to generate the changelog."
1616
required: false
17-
default: "true"
17+
type: boolean
18+
default: true
1819
use_commits:
1920
description: "Use commit messages to generate the changelog."
2021
required: false
21-
default: "true"
22+
type: boolean
23+
default: true
2224
insert_position:
2325
description: "The position to insert the changelog entry."
2426
required: false
@@ -29,22 +31,21 @@ on:
2931
- below_previous
3032
- top
3133
- bottom
32-
commit_message:
33-
description: "The commit message to use when updating the changelog."
34-
required: false
35-
default: "chore(changelog): update changelog and create release [skip ci]"
3634
release:
3735
description: "Generate a release changelog."
3836
required: false
39-
default: "false"
37+
type: boolean
38+
default: false
4039
draft:
4140
description: "Mark release as draft. Requires release to be true."
4241
required: false
43-
default: "false"
42+
type: boolean
43+
default: false
4444
prerelease:
4545
description: "Mark release as prerelease. Requires release to be true."
4646
required: false
47-
default: "false"
47+
type: boolean
48+
default: false
4849

4950
jobs:
5051
build:
@@ -64,12 +65,4 @@ jobs:
6465
- name: Run changelog generator
6566
env:
6667
GH_TOKEN: ${{ secrets.GH_TOKEN }}
67-
run: |
68-
args="--branch '${{ github.event.inputs.branch }}' --file-name '${{ github.event.inputs.file_name }}' --insert-position '${{ github.event.inputs.insert_position }}' --commit-message '${{ github.event.inputs.commit_message }}'"
69-
[ "${{ github.event.inputs.use_pull_requests }}" = "true" ] && args="$args --use-pull-requests"
70-
[ "${{ github.event.inputs.use_commits }}" = "true" ] && args="$args --use-commits"
71-
[ "${{ github.event.inputs.release }}" = "true" ] && args="$args --release"
72-
[ "${{ github.event.inputs.draft }}" = "true" ] && args="$args --draft"
73-
[ "${{ github.event.inputs.prerelease }}" = "true" ] && args="$args --prerelease"
74-
echo "Running: python src/main.py $args"
75-
python src/main.py $args
68+
run: python src/main.py --repo ${{ github.repository}} -b ${{ github.event.inputs.branch }} --file-name ${{ github.event.inputs.file_name }} -pr ${{ github.event.inputs.use_pull_requests }} -c ${{ github.event.inputs.use_commits }} --insert-position ${{ github.event.inputs.insert_position }} -r ${{ github.event.inputs.release }} --draft ${{ github.event.inputs.draft }} --prerelease ${{ github.event.inputs.prerelease }}

src/main.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77

88
# Load environment variables from a .env file
99
load_dotenv()
10-
# Access the GitHub token from the environment
11-
GH_TOKEN = os.getenv("GH_TOKEN")
1210

13-
def authenticate() -> tuple[Github, Repository.Repository]:
11+
def authenticate(repo: str) -> tuple[Github, Repository.Repository]:
1412
"""
1513
Authenticate with the GitHub API.
1614
@@ -21,7 +19,7 @@ def authenticate() -> tuple[Github, Repository.Repository]:
2119
global ghub, repository
2220
try:
2321
ghub = Github(os.getenv("GH_TOKEN"))
24-
repository = ghub.get_repo(os.getenv("REPO_NAME"))
22+
repository = ghub.get_repo(repo)
2523
return ghub, repository
2624
except:
2725
print("Authentication failed.")
@@ -32,35 +30,39 @@ def authenticate() -> tuple[Github, Repository.Repository]:
3230

3331
parser = argparse.ArgumentParser(description="Generate a changelog for a GitHub repository.")
3432

33+
parser.add_argument("--repo", type=str, help="The repository to generate the changelog for.", default="")
3534
parser.add_argument("-b", "--branch", type=str, help="The branch to generate the changelog from.", default="main")
3635
parser.add_argument('-f', "--file-name", type=str, help="The name of the changelog file.", default="CHANGELOG.md")
37-
parser.add_argument("-pr", "--use-pull-requests", action="store_true", help="Use pull requests to generate the changelog.", default=True)
38-
parser.add_argument("-c", "--use-commits", action="store_true", help="Use commit messages to generate the changelog.", default=True)
39-
parser.add_argument("-v", "--verbose", action="store_true", help="Enable verbose output.", default=False)
36+
parser.add_argument("-pr", "--use-pull-requests", type=str, help="Use pull requests to generate the changelog.", default="true")
37+
parser.add_argument("-c", "--use-commits", type=str, help="Use commit messages to generate the changelog.", default="true")
4038
parser.add_argument("--insert-position", type=str, help="The position to insert the changelog entry.", default="above_previous", choices=[position.value for position in ChangelogEntryPosition])
4139
parser.add_argument("--commit-message", type=str, help="The commit message to use when updating the changelog.", default=Changelogger.COMMIT_MESSAGE)
4240

43-
parser.add_argument("-r", "--release", action="store_true", help="Generate a release changelog.", default=False)
44-
parser.add_argument("--draft", action="store_true", help="Mark the release as a draft. Requires release is true", default=False)
45-
parser.add_argument("--prerelease", action="store_true", help="Mark the release as a prerelease. Requires release is true", default=False)
41+
parser.add_argument("-r", "--release", type=str, help="Generate a release changelog.", default="false")
42+
parser.add_argument("--draft", type=str, help="Mark the release as a draft. Requires release is true", default="false")
43+
parser.add_argument("--prerelease", type=str, help="Mark the release as a prerelease. Requires release is true", default="false")
4644

4745
parser.add_argument("--dry-run", action="store_true", help="Perform a dry run.", default=False)
4846

4947
args = parser.parse_args()
5048

51-
if not args.release and (args.draft or args.prerelease):
52-
parser.error("--draft and --prerelease require --release to be set.")
49+
arg_release = args.release.lower() == "true"
50+
arg_draft = args.draft.lower() == "true"
51+
arg_prerelease = args.prerelease.lower() == "true"
5352

54-
ghub, repo = authenticate()
53+
if not arg_release and (arg_draft or arg_prerelease):
54+
parser.error("--draft and --prerelease require --release to be set to 'true'.")
55+
56+
ghub, repo = authenticate(args.repo)
5557

5658
changelogger = Changelogger(repo,
5759
args.branch,
5860
args.file_name,
5961
args.use_pull_requests,
6062
args.use_commits,
61-
args.release,
62-
args.draft,
63-
args.prerelease,
63+
arg_release,
64+
arg_draft,
65+
arg_prerelease,
6466
ChangelogEntryPosition(args.insert_position),
6567
args.commit_message,
6668
dry_run=args.dry_run)

0 commit comments

Comments
 (0)