FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
WxJava/.github/workflows/maven-publish.yml at develop · binarywang/WxJava · GitHub
binarywang
WxJava
Repository navigation
Code
Issues
5
(5)
Pull requests
6
(6)
Discussions
Actions
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
WxJava
/
.github
/
workflows
/
maven-publish.yml
Copy path
View runs
More file actions
More file actions
Latest commit
History
History
History
109 lines (100 loc) · 3.67 KB
Breadcrumbs
WxJava
/
.github
/
workflows
/
maven-publish.yml
Copy path
File metadata and controls
109 lines (100 loc) · 3.67 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
name
:
Publish to Maven Central
on
:
push
:
branches
:
-
develop
permissions
:
contents
:
write
concurrency
:
group
:
maven-publish-${{ github.ref }}
cancel-in-progress
:
true
jobs
:
build-and-publish
:
runs-on
:
ubuntu-latest
steps
:
-
name
:
Checkout Code
uses
:
actions/checkout@v5
with
:
fetch-depth
:
0
-
name
:
Detect and tag release version from commit message
id
:
version_detect
run
:
|
COMMIT_MSG=$(git log -1 --pretty=%B)
VERSION=""
TAG=""
IS_RELEASE="false"
if [[ "$COMMIT_MSG" =~ ^:bookmark:\ 发布\ ([0-9]+\.[0-9]+\.[0-9]+)\.B\ 测试版本 ]]; then
BASE_VER="${BASH_REMATCH[1]}"
VERSION="${BASE_VER}.B"
TAG="v${BASE_VER}"
IS_RELEASE="true"
echo "Matched test release commit: VERSION=$VERSION, TAG=$TAG"
# 检查并打tag
if git tag | grep -q "^$TAG$"; then
echo "Tag $TAG already exists."
else
git config user.name "Binary Wang"
git config user.email "a@binarywang.com"
git tag -a "$TAG" -m "Release $TAG"
git push origin "$TAG"
echo "Tag $TAG created and pushed."
fi
elif [[ "$COMMIT_MSG" =~ ^:bookmark:\ 发布\ ([0-9]+\.[0-9]+\.[0-9]+)\ 正式版本 ]]; then
VERSION="${BASH_REMATCH[1]}"
TAG="v${VERSION}"
IS_RELEASE="true"
echo "Matched formal release commit: VERSION=$VERSION, TAG=$TAG"
# 检查并打tag
if git tag | grep -q "^$TAG$"; then
echo "Tag $TAG already exists."
else
git config user.name "Binary Wang"
git config user.email "a@binarywang.com"
git tag -a "$TAG" -m "Release $TAG"
git push origin "$TAG"
echo "Tag $TAG created and pushed."
fi
fi
echo "is_release=$IS_RELEASE" >> $GITHUB_OUTPUT
echo "version=$VERSION" >> $GITHUB_OUTPUT
-
name
:
Set up Java
uses
:
actions/setup-java@v5
with
:
java-version
:
'
8
'
distribution
:
'
temurin
'
server-id
:
central
server-username
:
MAVEN_USERNAME
server-password
:
MAVEN_PASSWORD
gpg-private-key
:
${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase
:
MAVEN_GPG_PASSPHRASE
cache
:
maven
-
name
:
Verify GPG keys
run
:
|
echo "Available GPG Keys:"
gpg --list-secret-keys --keyid-format LONG
-
name
:
Generate and set version
id
:
set_version
run
:
|
if [[ "${{ steps.version_detect.outputs.is_release }}" == "true" ]]; then
VERSION="${{ steps.version_detect.outputs.version }}"
else
git describe --tags 2>/dev/null || echo "no tag"
TIMESTAMP=$(date +'%Y%m%d.%H%M%S')
GIT_DESCRIBE=$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "0.0.1")
VERSION="${GIT_DESCRIBE}-${TIMESTAMP}"
fi
echo "Final version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_ENV
./mvnw versions:set -DnewVersion=$VERSION --no-transfer-progress
env
:
TZ
:
Asia/Shanghai
-
name
:
Publish to Maven Central
run
:
|
./mvnw clean deploy -P release \
-Dmaven.test.skip=true \
-Dgpg.args="--batch --yes --pinentry-mode loopback" \
--no-transfer-progress
env
:
MAVEN_USERNAME
:
${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD
:
${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE
:
${{ secrets.GPG_PASSPHRASE }}
Back
|
FazBrowse Home
|
New Git URL