This is an automated email from the ASF dual-hosted git repository.
gallardot pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 46485a4ff8 fix release process (#17095)
46485a4ff8 is described below
commit 46485a4ff8014b643f3df782a1f5df57bebccfa0
Author: xiangzihao <[email protected]>
AuthorDate: Mon Mar 31 12:48:17 2025 +0800
fix release process (#17095)
---
.github/workflows/publish-nexus.yaml | 76 ----------------------
.../publish-nexus/release-asf-settings.xml | 34 ----------
.../publish-nexus/snapshot-asf-settings.xml | 29 ---------
docs/docs/en/contribute/release.md | 7 +-
docs/docs/zh/contribute/release.md | 14 ++--
pom.xml | 13 ----
6 files changed, 11 insertions(+), 162 deletions(-)
diff --git a/.github/workflows/publish-nexus.yaml
b/.github/workflows/publish-nexus.yaml
deleted file mode 100644
index 9519e707b8..0000000000
--- a/.github/workflows/publish-nexus.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-name: Publish Snapshot
-
-on:
- release:
- types:
- - released
-
-jobs:
- publish-snapshot:
- if: github.repository == 'apache/dolphinscheduler'
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- submodules: true
- - name: Maximize runner space
- uses: ./.github/actions/maximize-build-space
- with:
- root-reserve-mb: 30720
- temp-reserve-mb: 10240
- remove-dotnet: 'true'
- remove-android: 'true'
- remove-haskell: 'true'
- remove-codeql: 'true'
- remove-docker-images: 'true'
- - uses: actions/checkout@v4
- - name: Cache local Maven repository
- uses: actions/cache@v4
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-backend
- restore-keys: ${{ runner.os }}-maven-
- - name: Setup JDK 8
- uses: actions/setup-java@v4
- with:
- distribution: 'adopt'
- java-version: 8
- - name: Set environment variables
- run: |
- if [[ ${{ github.event_name }} == "schedule" ]]; then
- echo
"SETTINGS_PATH=./.github/workflows/publish-nexus/snapshot-asf-settings.xml" >>
$SETTINGS_PATH
- elif [[ ${{ github.event_name }} == "release" ]]; then
- echo
"SETTINGS_PATH=./.github/workflows/publish-nexus/release-asf-settings.xml" >>
$SETTINGS_PATH
- else
- echo "unknown event name: ${{ github.event_name }}"
- exit 2
- fi
- - name: Publish snapshot with dev branch
- env:
- ASF_USERNAME: ${{ secrets.NEXUS_USER }}
- ASF_PASSWORD: ${{ secrets.NEXUS_PW }}
- run: |
- ./mvnw clean deploy \
- -s ${{ env.SETTINGS_PATH }} \
- -Dmaven.test.skip=true \
- -Dspotless.skip=true \
- -Dmaven.deploy.skip=false \
- -Pstaging
diff --git a/.github/workflows/publish-nexus/release-asf-settings.xml
b/.github/workflows/publish-nexus/release-asf-settings.xml
deleted file mode 100644
index b6388f7e69..0000000000
--- a/.github/workflows/publish-nexus/release-asf-settings.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
- <servers>
- <server>
- <id>apache.snapshots.https</id>
- <username>${env.ASF_USERNAME}</username>
- <password>${env.ASF_PASSWORD}</password>
- </server>
- <server>
- <id>apache.releases.https</id>
- <username>${env.ASF_USERNAME}</username>
- <password>${env.ASF_PASSWORD}</password>
- </server>
- </servers>
-</settings>
diff --git a/.github/workflows/publish-nexus/snapshot-asf-settings.xml
b/.github/workflows/publish-nexus/snapshot-asf-settings.xml
deleted file mode 100644
index 6529e98f06..0000000000
--- a/.github/workflows/publish-nexus/snapshot-asf-settings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
- <servers>
- <server>
- <id>apache.snapshots.https</id>
- <username>${env.ASF_USERNAME}</username>
- <password>${env.ASF_PASSWORD}</password>
- </server>
- </servers>
-</settings>
diff --git a/docs/docs/en/contribute/release.md
b/docs/docs/en/contribute/release.md
index 541c1abcbc..bcac545072 100644
--- a/docs/docs/en/contribute/release.md
+++ b/docs/docs/en/contribute/release.md
@@ -219,13 +219,14 @@ Create release branch base on prepare branch.
cd "${SOURCE_CODE_DIR}"
git checkout -b "${VERSION}"-release "${VERSION}"-prepare
git push "${GH_REMOTE}" "${VERSION}"-release
+export GPG_TTY=$(tty)
```
> Note: If you release in remote host without source code, you should run `git
> clone -b "${VERSION}"-prepare https://github.com/apache/dolphinscheduler.git`
> first to clone the source code. And then make sure you set
> `GH_REMOTE="origin"` to make all command work fine.
```shell
-mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-DdryRun=true -Dusername="${GH_USERNAME}"
+mvn release:prepare -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true"
-DautoVersionSubmodules=true -DdryRun=true -Dusername="${GH_USERNAME}"
```
- `-Prelease`: choose release profile, which will pack all the source codes,
jar files and executable binary packages.
@@ -243,7 +244,7 @@ mvn release:clean
Then, prepare to execute the release.
```shell
-mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-DpushChanges=false -Dusername="${GH_USERNAME}"
+mvn release:prepare -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true"
-DautoVersionSubmodules=true -DpushChanges=false -Dusername="${GH_USERNAME}"
```
It is basically the same as the previous rehearsal command, but deleting
`-DdryRun=true` parameter.
@@ -275,7 +276,7 @@ git push "${GH_REMOTE}" --tags
#### Maven Release Deploy
```shell
-mvn release:perform -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-Dusername="${GH_USERNAME}"
+mvn release:perform -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true -Dmaven.deploy.skip=false"
-DautoVersionSubmodules=true -Dusername="${GH_USERNAME}"
```
After that command is executed, the version to be released will be uploaded to
Apache staging repository automatically.
diff --git a/docs/docs/zh/contribute/release.md
b/docs/docs/zh/contribute/release.md
index 26338f8703..cdd7aeb171 100644
--- a/docs/docs/zh/contribute/release.md
+++ b/docs/docs/zh/contribute/release.md
@@ -123,14 +123,13 @@ sub rsa4096 2023-07-01 [E]
命令如下:
```shell
-gpg --keyserver hkp://pool.sks-keyservers.net --send-key 85E11560
+gpg --keyserver hkp://keyserver.ubuntu.com --send-key 85E11560
```
-`pool.sks-keyservers.net`为随意挑选的[公钥服务器](https://sks-keyservers.net/status/),每个服务器之间是自动同步的,选任意一个即可。
+`keyserver.ubuntu.com`为随意挑选的[公钥服务器](https://keyserver.ubuntu.com),每个服务器之间是自动同步的,选任意一个即可。
注意:如果同步到公钥服务器,可以在服务器上查到新建的公钥
-http://keyserver.ubuntu.com:11371/pks/lookup?search=${用户名}&fingerprint=on&op=index
-备用公钥服务器 gpg --keyserver hkp://keyserver.ubuntu.com --send-key ${公钥 ID}
+http://keyserver.ubuntu.com/pks/lookup?search=${用户名}&fingerprint=on&op=index
### 配置 Apache Maven Central Repository
@@ -225,6 +224,7 @@ SVN_DIR=<PATH-TO-SVN-ROOT> # to keep binary package
checkout from SVN, the sub
cd "${SOURCE_CODE_DIR}"
git checkout -b "${VERSION}"-release "${VERSION}"-prepare
git push "${GH_REMOTE}" "${VERSION}"-release
+export GPG_TTY=$(tty)
```
> 注意:如果你在没有源代码的远程主机上发布,你应该先运行 `git clone -b "${VERSION}"-prepare
> https://github.com/apache/dolphinscheduler.git`
@@ -232,7 +232,7 @@ git push "${GH_REMOTE}" "${VERSION}"-release
```shell
# 运行发版校验
-mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-DdryRun=true -Dusername="${GH_USERNAME}"
+mvn release:prepare -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true"
-DautoVersionSubmodules=true -DdryRun=true -Dusername="${GH_USERNAME}"
```
- `-Prelease`: 选择 release 的 profile,这个 profile 会打包所有源码、jar 文件以及可执行二进制包。
@@ -250,7 +250,7 @@ mvn release:clean
然后准备执行发布。
```shell
-mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-DpushChanges=false -Dusername="${GH_USERNAME}"
+mvn release:prepare -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true"
-DautoVersionSubmodules=true -DpushChanges=false -Dusername="${GH_USERNAME}"
```
和上一步演练的命令基本相同,去掉了 `-DdryRun=true` 参数。
@@ -279,7 +279,7 @@ git push "${GH_REMOTE}" --tags
#### 部署发布
```shell
-mvn release:perform -Prelease -Darguments="-Dmaven.test.skip=true
-Dspotless.skip=true -Dspotless.check.skip=true" -DautoVersionSubmodules=true
-Dusername="${GH_USERNAME}"
+mvn release:perform -Papache-release,release
-Darguments="-Dmaven.test.skip=true -Dspotless.skip=true
-Dspotless.check.skip=true -Dmaven.javadoc.skip=true -Dmaven.deploy.skip=false"
-DautoVersionSubmodules=true -Dusername="${GH_USERNAME}"
```
执行完该命令后,待发布版本会自动上传到 Apache 的临时筹备仓库(staging repository)。你可以通过访问 [apache staging
repositories](https://repository.apache.org/#stagingRepositories)
diff --git a/pom.xml b/pom.xml
index fcbc20c820..fd95f41546 100755
--- a/pom.xml
+++ b/pom.xml
@@ -820,19 +820,6 @@
<tag>HEAD</tag>
</scm>
- <distributionManagement>
- <repository>
- <id>apache.releases.https</id>
- <name>Apache Release Distribution Repository</name>
-
<url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
- </repository>
- <snapshotRepository>
- <id>apache.snapshots.https</id>
- <name>Apache Development Snapshot Repository</name>
-
<url>https://repository.apache.org/content/repositories/snapshots</url>
- </snapshotRepository>
- </distributionManagement>
-
<profiles>
<profile>
<id>release</id>