Skip to content

Commit 5326fb4

Browse files
committed
CI build GH Actions
1 parent 77d05a2 commit 5326fb4

File tree

2 files changed

+175
-0
lines changed

2 files changed

+175
-0
lines changed

.github/workflows/maven-pr-3.0.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Build Test PR 3.0
2+
3+
on:
4+
pull_request:
5+
branches: [ "master" ]
6+
7+
jobs:
8+
build_pr_30:
9+
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
java: [ 8, 11, 17 ]
14+
15+
env:
16+
GENERATORS_VERSION_PROPERTY: ""
17+
steps:
18+
- uses: actions/checkout@v3
19+
name: git checkout 3.0.0
20+
with:
21+
ref: master
22+
- name: Set up Java
23+
uses: actions/setup-java@v3
24+
with:
25+
java-version: ${{ matrix.java }}
26+
distribution: temurin
27+
cache: maven
28+
- name: preliminary checks
29+
run: |
30+
docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
31+
set -e
32+
# fail if templates/generators contain carriage return '\r'
33+
/bin/bash ./bin/utils/detect_carriage_return.sh
34+
# fail if generators contain merge conflicts
35+
/bin/bash ./bin/utils/detect_merge_conflict.sh
36+
# fail if generators contain tab '\t'
37+
/bin/bash ./bin/utils/detect_tab_in_java_class.sh
38+
- uses: s4u/[email protected]
39+
name: setup maven settings.xml
40+
with:
41+
servers: |
42+
[{
43+
"id": "sonatype-nexus-staging",
44+
"username": "${{ secrets.OSSRH_USERNAME }}",
45+
"password": "${{ secrets.OSSRH_TOKEN }}"
46+
},
47+
{
48+
"id": "sonatype-nexus-snapshots",
49+
"username": "${{ secrets.OSSRH_USERNAME }}",
50+
"password": "${{ secrets.OSSRH_TOKEN }}"
51+
}]
52+
- name: Build with Maven
53+
run: |
54+
export MY_POM_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
55+
echo "POM VERSION" ${MY_POM_VERSION}
56+
export CODEGEN_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${swagger-codegen-version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
57+
echo "CODEGEN_VERSION" ${CODEGEN_VERSION}
58+
export CODEGEN_VERSION=""
59+
if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
60+
then
61+
if [[ ! $CODEGEN_VERSION =~ ^.*SNAPSHOT$ ]];
62+
then
63+
# check release version exists
64+
export CODEGEN_FOUND_JSON=`curl -s --max-time 60 --retry 15 --connect-timeout 20 https://search.maven.org/solrsearch/select?q=g:io.swagger.codegen.v3%20AND%20a:swagger-codegen%20AND%20v:${CODEGEN_VERSION}%20AND%20p:jar`
65+
export CODEGEN_FOUND=`echo ${CODEGEN_FOUND_JSON} | jq '.response.numFound'`
66+
echo "CODEGEN_FOUND" ${CODEGEN_FOUND}
67+
if [[ $CODEGEN_FOUND == '0' ]];
68+
then
69+
echo "codegen version not found"
70+
rm -f maven-metadata.json
71+
curl -o maven-metadata.json -s --max-time 60 --retry 15 --connect-timeout 30 -H "accept: application/json" https://oss.sonatype.org/service/local/repositories/snapshots/content/io/swagger/codegen/v3/swagger-codegen/
72+
LAST_SNAP=`jq '.data | sort_by(.lastModified) | reverse | .[0].text' maven-metadata.json`
73+
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
74+
echo "LAST_SNAP $LAST_SNAP"
75+
export CODEGEN_VERSION_PROPERTY=-Dswagger-codgen-version=$LAST_SNAP
76+
fi
77+
fi
78+
fi
79+
echo "CODEGEN_VERSION_PROPERTY ${CODEGEN_VERSION_PROPERTY}"
80+
echo "CODEGEN_VERSION_PROPERTY=${CODEGEN_VERSION_PROPERTY}" >> $GITHUB_ENV
81+
./mvnw clean verify -U ${CODEGEN_VERSION_PROPERTY}

.github/workflows/maven-push-3.0.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Build Test Push 3.0
2+
3+
on:
4+
push:
5+
branches: [ "3.0.0" ]
6+
7+
jobs:
8+
build_push_30:
9+
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
java: [ 8, 11, 17 ]
14+
15+
env:
16+
GENERATORS_VERSION_PROPERTY: ""
17+
18+
steps:
19+
- uses: actions/checkout@v3
20+
name: git checkout 3.0.0
21+
with:
22+
ref: 3.0.0
23+
- name: Set up Java
24+
uses: actions/setup-java@v3
25+
with:
26+
java-version: ${{ matrix.java }}
27+
distribution: temurin
28+
cache: maven
29+
- name: preliminary checks
30+
run: |
31+
docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
32+
set -e
33+
# fail if templates/generators contain carriage return '\r'
34+
/bin/bash ./bin/utils/detect_carriage_return.sh
35+
# fail if generators contain merge conflicts
36+
/bin/bash ./bin/utils/detect_merge_conflict.sh
37+
# fail if generators contain tab '\t'
38+
/bin/bash ./bin/utils/detect_tab_in_java_class.sh
39+
- uses: s4u/[email protected]
40+
name: setup maven settings.xml
41+
with:
42+
servers: |
43+
[{
44+
"id": "sonatype-nexus-staging",
45+
"username": "${{ secrets.OSSRH_USERNAME }}",
46+
"password": "${{ secrets.OSSRH_TOKEN }}"
47+
},
48+
{
49+
"id": "sonatype-nexus-snapshots",
50+
"username": "${{ secrets.OSSRH_USERNAME }}",
51+
"password": "${{ secrets.OSSRH_TOKEN }}"
52+
}]
53+
- name: Build with Maven
54+
run: |
55+
export MY_POM_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
56+
echo "POM VERSION" ${MY_POM_VERSION}
57+
export CODEGEN_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${swagger-codegen-version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
58+
echo "CODEGEN_VERSION" ${CODEGEN_VERSION}
59+
export CODEGEN_VERSION=""
60+
if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
61+
then
62+
if [[ ! $CODEGEN_VERSION =~ ^.*SNAPSHOT$ ]];
63+
then
64+
# check release version exists
65+
export CODEGEN_FOUND_JSON=`curl -s --max-time 60 --retry 15 --connect-timeout 20 https://search.maven.org/solrsearch/select?q=g:io.swagger.codegen.v3%20AND%20a:swagger-codegen%20AND%20v:${CODEGEN_VERSION}%20AND%20p:jar`
66+
export CODEGEN_FOUND=`echo ${CODEGEN_FOUND_JSON} | jq '.response.numFound'`
67+
echo "CODEGEN_FOUND" ${CODEGEN_FOUND}
68+
if [[ $CODEGEN_FOUND == '0' ]];
69+
then
70+
echo "codegen version not found"
71+
rm -f maven-metadata.json
72+
curl -o maven-metadata.json -s --max-time 60 --retry 15 --connect-timeout 30 -H "accept: application/json" https://oss.sonatype.org/service/local/repositories/snapshots/content/io/swagger/codegen/v3/swagger-codegen/
73+
LAST_SNAP=`jq '.data | sort_by(.lastModified) | reverse | .[0].text' maven-metadata.json`
74+
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
75+
echo "LAST_SNAP $LAST_SNAP"
76+
export CODEGEN_VERSION_PROPERTY=-Dswagger-codgen-version=$LAST_SNAP
77+
fi
78+
fi
79+
fi
80+
echo "CODEGEN_VERSION_PROPERTY ${CODEGEN_VERSION_PROPERTY}"
81+
echo "CODEGEN_VERSION_PROPERTY=${CODEGEN_VERSION_PROPERTY}" >> $GITHUB_ENV
82+
./mvnw clean verify -U ${CODEGEN_VERSION_PROPERTY}
83+
- name: Deploy Maven Snapshot
84+
if: ${{ matrix.java == 17 }}
85+
run: |
86+
export MY_POM_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
87+
echo "POM VERSION" ${MY_POM_VERSION}
88+
if [[ $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
89+
then
90+
./mvnw clean deploy -U --settings $HOME/.m2/settings.xml
91+
else
92+
echo "not deploying release: " ${MY_POM_VERSION}
93+
fi
94+

0 commit comments

Comments
 (0)