diff --git a/.github/workflows/release-weekly.yml b/.github/workflows/release-weekly.yml index 3b1b143987d..6785df736d8 100644 --- a/.github/workflows/release-weekly.yml +++ b/.github/workflows/release-weekly.yml @@ -1,6 +1,8 @@ name: Release Weekly on: + repository_dispatch: + types: 'release-weekly' workflow_dispatch: jobs: @@ -29,6 +31,7 @@ jobs: ZAP_RELEASE: 1 ZAP_JAVA_VERSION: 17 ZAP_WEEKLY_ADDONS_NO_TEST: ${{ vars.ZAP_WEEKLY_ADDONS_NO_TEST }} + ZAP_WEEKLY_PUBLISH: ${{ github.event.client_payload.publish }} ZAP_WEEKLY_QUIET: ${{ vars.ZAP_WEEKLY_QUIET }} ZAP_CHALK: 1 run: ./gradlew "-Dorg.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m" :zap:createWeeklyRelease diff --git a/RELEASING.md b/RELEASING.md index e09357d9c67..fa34a79bb82 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -23,9 +23,9 @@ These tasks use checkboxes so that they can be copied into an issue. ### Release Process - [ ] Run the workflow [Prepare Release Main Version](https://github.com/zaproxy/zaproxy/actions/workflows/prepare-release-main-version.yml), to prepare the release. It creates a pull request updating the version; +- [ ] Update latest ZapVersions file in [build.gradle.kts](https://github.com/zaproxy/zap-admin/blob/master/build.gradle.kts) +- [ ] Release add-ons. - [ ] Finish the following tasks in the pull request: - - [ ] Update latest ZapVersions file in [build.gradle.kts](https://github.com/zaproxy/zap-admin/blob/master/build.gradle.kts) - - [ ] Release add-ons. - [ ] Update main add-ons declared in [main-add-ons.yml](https://github.com/zaproxy/zaproxy/blob/main/zap/src/main/main-add-ons.yml): - [ ] Add new add-ons. - [ ] Remove add-ons no longer needed. @@ -33,9 +33,7 @@ These tasks use checkboxes so that they can be copied into an issue. - [ ] Merge the pull request, to create the tag and the draft release (done by [Release Main Version](https://github.com/zaproxy/zaproxy/actions/workflows/release-main-version.yml)); - [ ] Verify the draft release. - [ ] Publish the release. -- [ ] Regenerate and publish the Weekly and Live releases. - [ ] Update the [Linux Repos](https://software.opensuse.org/download.html?project=home%3Acabelo&package=owasp-zap) -- [ ] Update the stats scripts [github.py](https://github.com/zapbot/zap-mgmt-scripts/blob/master/stats/github.py) and [zap_services.py](https://github.com/zapbot/zap-mgmt-scripts/blob/master/stats/zap_services.py) Once published the [Handle Release](https://github.com/zaproxy/zaproxy/actions/workflows/handle-release.yml) workflow will trigger the update of the marketplace with the new release, it will also create a pull request preparing the next @@ -53,7 +51,6 @@ The resulting localized resources are added/updated in the repository periodical ### Post Release - [ ] Publish blog post -- [ ] Update latest News file to point to blog / release notes? - [ ] Announce on - [ ] ZAP User and Dev groups - [ ] @zaproxy twitter account @@ -62,6 +59,8 @@ The resulting localized resources are added/updated in the repository periodical - [ ] [Java](https://github.com/zaproxy/zap-api-java/blob/main/RELEASING.md) - [ ] [Python](https://github.com/zaproxy/zap-api-python/blob/master/RELEASING.md) - [ ] Review automated updates: + - [ ] [zap-mgmt-scripts](https://github.com/zapbot/zap-mgmt-scripts/pulls) + - [ ] [weekly release](https://github.com/zaproxy/zap-admin/pulls) - [ ] [Flathub](https://github.com/flathub/org.zaproxy.ZAP/pulls) - [ ] [Snap](https://github.com/zaproxy/zaproxy/actions/workflows/release-snap.yml) - [ ] Update major projects using ZAP diff --git a/buildSrc/src/main/kotlin/org/zaproxy/zap/github-releases.gradle.kts b/buildSrc/src/main/kotlin/org/zaproxy/zap/github-releases.gradle.kts index c5ac5727ddb..16fdcd350ec 100644 --- a/buildSrc/src/main/kotlin/org/zaproxy/zap/github-releases.gradle.kts +++ b/buildSrc/src/main/kotlin/org/zaproxy/zap/github-releases.gradle.kts @@ -19,6 +19,8 @@ import org.zaproxy.zap.tasks.UploadAssetsGitHubRelease val ghUser = GitHubUser("zapbot", "12745184+zapbot@users.noreply.github.com", System.getenv("ZAPBOT_TOKEN")) val zaproxyRepo = GitHubRepo("zaproxy", "zaproxy", rootDir) +fun isEnvVarTrue(envvar: String) = System.getenv(envvar) == "true" + tasks.register("createWeeklyRelease") { val dateProvider = provider { project.extra["creationDate"] } val tagName = dateProvider.map { "w$it" } @@ -31,7 +33,7 @@ tasks.register("createWeeklyRelease") { title.set(tagName) body.set("") checksumAlgorithm.set("SHA-256") - draft.set(true) + draft.set(if (isEnvVarTrue("ZAP_WEEKLY_PUBLISH")) false else true) prerelease.set(true) assets { diff --git a/zap/src/main/resources/org/zaproxy/zap/resources/Messages.properties b/zap/src/main/resources/org/zaproxy/zap/resources/Messages.properties index 31765b4e97b..d753a7e2adf 100644 --- a/zap/src/main/resources/org/zaproxy/zap/resources/Messages.properties +++ b/zap/src/main/resources/org/zaproxy/zap/resources/Messages.properties @@ -2528,7 +2528,7 @@ script.api.view.scriptVar.param.scriptName = script.api.view.scriptVar.param.varKey = script.api.view.scriptVars = Gets all the variables (key/value pairs) of the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists. script.api.view.scriptVars.param.scriptName = -script.cmdline.help = Run the specified script from commandline or load in GUI +script.cmdline.help = Run the specified script from the command line or load in the GUI script.cmdline.noengine = Script Engine not found for extension: {0} script.cmdline.noext = Script does not have an extension: {0} script.cmdline.nofile = Script not found: {0}