Skip to content

Commit

Permalink
chore: add apache-release.sh & prepare release (#218)
Browse files Browse the repository at this point in the history
  • Loading branch information
imbajin authored Dec 15, 2022
1 parent 593a561 commit dd1f82e
Show file tree
Hide file tree
Showing 6 changed files with 167 additions and 29 deletions.
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# ignored file when package to source.tgz
.gitattributes export-ignore
.gitignore export-ignore
.asf.yaml export-ignore
checkstyle.xml export-ignore
apache-release.sh export-ignore
.licenserc.yaml export-ignore

# ignored directory
.github/ export-ignore
computer-dist/src/assembly/ export-ignore
computer-k8s-operator/crd-generate/bin/ export-ignore
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ node_modules
upload-files/
demo*
gen-java
build
*.class
**/dependency-reduced-pom.xml
dist.sh
*.flattened-pom.xml

### STS ###
.apt_generated
Expand All @@ -32,9 +30,9 @@ dist.sh
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
dist/
build/

### VS Code ###
Expand All @@ -61,12 +59,14 @@ build/

# maven ignore
output/
apache-hugegraph-*-incubating-*/
*.war
*.zip
*.tar
*.tar.gz
*.tar.gz*
tree.txt
*.versionsBackup
*.flattened-pom.xml

# eclipse ignore
.settings/
Expand Down
10 changes: 6 additions & 4 deletions computer-dist/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,12 @@
<copy file="${top.level.dir}/computer-k8s-operator/target/hugegraph-computer-operator-${revision}.jar"
tofile="${top.level.dir}/${final.name}/k8s-operator/hugegraph-computer-operator.jar"
overwrite="true"/>
<tar destfile="${top.level.dir}/${final.name}.tar.gz"
basedir="${top.level.dir}"
includes="${final.name}/**"
compression="gzip"/>
<tar destfile="${top.level.dir}/target/${final.name}.tar.gz"
compression="gzip">
<tarfileset dir="${top.level.dir}" filemode="755">
<include name="${final.name}/**"/>
</tarfileset>
</tar>
</target>
</configuration>
</execution>
Expand Down
99 changes: 99 additions & 0 deletions computer-dist/scripts/apache-release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env bash
#
# 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.
#

GROUP="hugegraph"
# current repository name
REPO="${GROUP}-computer"
# release version (input by committer)
RELEASE_VERSION=$1
USERNAME=$2
PASSWORD=$3
# git release branch (check it carefully)
GIT_BRANCH="release-${RELEASE_VERSION}"

RELEASE_VERSION=${RELEASE_VERSION:?"Please input the release version behind script"}

WORK_DIR=$(cd "$(dirname "$0")" || exit; pwd)
cd "${WORK_DIR}" || exit
echo "In the work dir: $(pwd)"

# clean old dir then build a new one
rm -rfv dist && mkdir -p dist/apache-${REPO}

# step1: package the source code
cd ../.../ || exit
git archive --format=tar.gz \
--output="computer-dist/scripts/dist/apache-${REPO}/apache-${REPO}-incubating-${RELEASE_VERSION}-src.tar.gz" \
--prefix="apache-${REPO}-incubating-${RELEASE_VERSION}-src/" "${GIT_BRANCH}" || exit

cd - || exit
# step2: copy the binary file (Optional)
# Note: it's optional for project to generate binary package (skip this step if not need)
cp -v ../../target/apache-${REPO}-incubating-"${RELEASE_VERSION}".tar.gz \
dist/apache-${REPO} || exit

# step3: sign + hash
##### 3.1 sign in source & binary package
gpg --version 1>/dev/null || exit
cd ./dist/apache-${REPO} || exit
for i in *.tar.gz; do
echo "$i" && gpg --armor --output "$i".asc --detach-sig "$i"
done

##### 3.2 Generate SHA512 file
shasum --version 1>/dev/null || exit
for i in *.tar.gz; do
echo "$i" && shasum -a 512 "$i" >"$i".sha512
done

#### 3.3 check signature & sha512
for i in *.tar.gz; do
echo "$i"
gpg --verify "$i".asc "$i" || exit
done

for i in *.tar.gz; do
echo "$i"
shasum -a 512 --check "$i".sha512 || exit
done

# step4: upload to Apache-SVN
SVN_DIR="${GROUP}-svn-dev"
cd ../
rm -rfv ${SVN_DIR}

##### 4.1 pull from remote & copy files
svn co "https://dist.apache.org/repos/dist/dev/incubator/${GROUP}" ${SVN_DIR}
mkdir -p ${SVN_DIR}/"${RELEASE_VERSION}"
cp -v apache-${REPO}/*tar.gz* "${SVN_DIR}/${RELEASE_VERSION}"
cd ${SVN_DIR} || exit

##### 4.2 check status first
svn status
svn add --parents "${RELEASE_VERSION}"/apache-${REPO}-*
# check status again
svn status

##### 4.3 commit & push files
if [ "$USERNAME" = "" ]; then
svn commit -m "submit files for ${REPO} ${RELEASE_VERSION}"
else
svn commit -m "submit files for ${REPO} ${RELEASE_VERSION}" --username "${USERNAME}" --password "${PASSWORD}"
fi

echo "Finished all, please check all steps in script manually again!"
2 changes: 1 addition & 1 deletion computer-k8s/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
<target>
<!-- removing the generated Schema class -->
<delete
file="${project.build.directory}/generated-sources/src/gen/java/org/apache/hugegraph/computer/k8s/crd/model/crdSchema.java"
file="${project.build.directory}/generated-sources/src/gen/java/org/apache/hugegraph/computer/k8s/crd/model/CrdSchema.java"
verbose="true" />
<delete
file="${project.build.directory}/generated-sources/src/gen/java/org/apache/hugegraph/computer/k8s/crd/model/EnumSchema.java"
Expand Down
65 changes: 45 additions & 20 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@
<artifactId>hugegraph-computer</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<prerequisites>
<maven>3.3.9</maven>
</prerequisites>
<name>hugegraph-computer</name>
<url>https://github.com/apache/hugegraph-computer</url>
<description>
Expand All @@ -46,12 +43,50 @@
</license>
</licenses>

<developers>
<developer>
<id>Apache Hugegraph(incubating)</id>
<email>[email protected]</email>
<url>https://hugegraph.apache.org/</url>
</developer>
</developers>

<mailingLists>
<mailingList>
<name>Development List</name>
<subscribe>[email protected]</subscribe>
<unsubscribe>[email protected]</unsubscribe>
<post>[email protected]</post>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>[email protected]</subscribe>
<unsubscribe>[email protected]</unsubscribe>
<post>[email protected]</post>
</mailingList>
<mailingList>
<name>Issues List</name>
<subscribe>[email protected]</subscribe>
<unsubscribe>[email protected]</unsubscribe>
<post>[email protected]</post>
</mailingList>
</mailingLists>

<issueManagement>
<system>Github Issues</system>
<url>https://github.com/apache/hugegraph-computer/issues</url>
</issueManagement>

<scm>
<url>https://github.com/apache/hugegraph-computer</url>
<connection>https://github.com/apache/hugegraph-computer</connection>
<developerConnection>https://github.com/apache/hugegraph-computer</developerConnection>
<connection>scm:git:https://github.com/apache/hugegraph-computer.git</connection>
<developerConnection>scm:git:https://github.com/apache/hugegraph-computer.git</developerConnection>
</scm>

<prerequisites>
<maven>3.5</maven>
</prerequisites>

<properties>
<revision>1.0.0</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down Expand Up @@ -106,30 +141,27 @@
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-client</artifactId>
<version>${hugegraph-client-version}</version>
</dependency>

<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>computer-algorithm</artifactId>
<version>${revision}</version>
</dependency>

<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>computer-core</artifactId>
<version>${revision}</version>
</dependency>

<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>computer-k8s-operator</artifactId>
<version>${revision}</version>
</dependency>

<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>computer-yarn</artifactId>
Expand Down Expand Up @@ -315,6 +347,7 @@
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- Keep fix version to avoid computer-k8s-operator build error -->
<version>3.1</version>
<configuration>
<source>${compiler.source}</source>
Expand Down Expand Up @@ -352,11 +385,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<filesets>
<fileset>
Expand Down Expand Up @@ -404,7 +435,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<executions>
<execution>
<id>unit-test</id>
Expand All @@ -428,7 +458,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<executions>
<execution>
<id>integrate-test</id>
Expand All @@ -443,13 +472,12 @@
</build>
</profile>
<profile>
<id>release</id>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
Expand All @@ -462,7 +490,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand All @@ -472,15 +499,13 @@
</execution>
</executions>
<configuration>
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
</additionalJOptions>
<doclint>none</doclint>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
Expand Down

0 comments on commit dd1f82e

Please sign in to comment.