diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d8094654..ceb16061 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -134,14 +134,25 @@ tasks.preBuild.dependsOn(tasks.named("installLocalGitHooks"), tasks.exportTransl tasks.register("generateChangelogs") { doLast { + val githubToken = providers.gradleProperty("CHANGELOG_GITHUB_TOKEN").orNull + + val command = mutableListOf( + "bash", + rootProject.file("generate-changelogs.sh").absolutePath, + "v${project.findProperty("app.lastVersionName").toString()}", + rootProject.file("CHANGELOG.md").absolutePath + ) + if (!githubToken.isNullOrEmpty()) { + command.add(githubToken) + } else { + println("CHANGELOG_GITHUB_TOKEN not found, which limits the allowed amount of Github API calls") + } exec { - commandLine("bash", rootProject.file("generate-changelogs.sh").absolutePath, - "v${project.findProperty("app.lastVersionName").toString()}", - rootProject.file("CHANGELOG.md").absolutePath) + commandLine(command) standardOutput = System.out errorOutput = System.err - isIgnoreExitValue = true } + val config = PropertiesConfiguration() val fileHandler = FileHandler(config).apply { file = rootProject.file("gradle.properties") diff --git a/generate-changelogs.sh b/generate-changelogs.sh index c648fbd5..e1d7464b 100755 --- a/generate-changelogs.sh +++ b/generate-changelogs.sh @@ -2,5 +2,16 @@ VERSION_NAME=$1 OUTPUT_FILE=$2 +GITHUB_TOKEN=${3:-$CHANGELOG_GITHUB_TOKEN} echo "Generating CHANGELOG.md entry since $VERSION_NAME to $OUTPUT_FILE" -github_changelog_generator -u PhilKes -p NotallyX --since-tag $VERSION_NAME --no-pull-requests --include-tags-regex '^v\d+(\.\d+)*$' --include-labels enhancement,bug --exclude-labels duplicate,question,invalid,wontfix,'already done' --enhancement-label "### Added Features" --bugs-label "### Fixed Bugs" --base $OUTPUT_FILE --output $OUTPUT_FILE +timeout 90s github_changelog_generator -u PhilKes -p NotallyX --since-tag "$VERSION_NAME" \ + --no-pull-requests --include-tags-regex '^v\d+(\.\d+)*$' \ + --include-labels enhancement,bug --exclude-labels duplicate,question,invalid,wontfix,'already done' \ + --enhancement-label "### Added Features" --bugs-label "### Fixed Bugs" \ + --base "$OUTPUT_FILE" --output "$OUTPUT_FILE" --token "$GITHUB_TOKEN" + +# Check if timeout caused failure +if [[ $? -eq 124 ]]; then + echo "Error: github_changelog_generator timed out" >&2 + exit 1 +fi \ No newline at end of file