Skip to content

update dependencies #85

update dependencies

update dependencies #85

name: Build Test Push 3.0
on:
push:
branches: [ "3.0.0" ]
jobs:
build_push_30:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 8, 11, 17 ]
env:
GENERATORS_VERSION_PROPERTY: ""
steps:
- uses: actions/checkout@v3
name: git checkout 3.0.0
with:
ref: 3.0.0
- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: temurin
cache: maven
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: preliminary checks
run: |
docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
set -e
# fail if templates/generators contain carriage return '\r'
/bin/bash ./bin/utils/detect_carriage_return.sh
# fail if generators contain merge conflicts
/bin/bash ./bin/utils/detect_merge_conflict.sh
# fail if generators contain tab '\t'
/bin/bash ./bin/utils/detect_tab_in_java_class.sh
- uses: s4u/[email protected]
name: setup maven settings.xml
with:
servers: |
[{
"id": "sonatype-nexus-staging",
"username": "${{ secrets.OSSRH_USERNAME }}",
"password": "${{ secrets.OSSRH_TOKEN }}"
},
{
"id": "sonatype-nexus-snapshots",
"username": "${{ secrets.OSSRH_USERNAME }}",
"password": "${{ secrets.OSSRH_TOKEN }}"
}]
- name: Build with Maven
if: ${{ matrix.java != 8 }}
run: |
export MY_POM_VERSION=`mvn -Dswagger-codegen-generators-version=1.0.37 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
echo "POM VERSION" ${MY_POM_VERSION}
export GENERATORS_VERSION=`sed -n 's/<swagger\-codegen\-generators\-version>\([^\s]*\)<\/swagger\-codegen\-generators\-version>/\1/p' pom.xml`
export GENERATORS_VERSION=`echo ${GENERATORS_VERSION} | tr -d '[:space:]'`
echo "GENERATORS_VERSION" ${GENERATORS_VERSION}
export GENERATORS_VERSION_PROPERTY=""
if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
then
if [[ ! $GENERATORS_VERSION =~ ^.*SNAPSHOT$ ]];
then
# check release version exists
export GENERATORS_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-generators%20AND%20v:${GENERATORS_VERSION}%20AND%20p:jar`
export GENERATORS_FOUND=`echo ${GENERATORS_FOUND_JSON} | jq '.response.numFound'`
echo "GENERATORS_FOUND" ${GENERATORS_FOUND}
if [[ $GENERATORS_FOUND == '0' ]];
then
echo "generators version not found"
rm -f maven-metadata.json
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-generators/
LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json`
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
echo "LAST_SNAP $LAST_SNAP"
export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
fi
fi
else
echo "SNAP=true" >> "$GITHUB_ENV"
fi
echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
mvn clean verify -U -DJETTY_TEST_HTTP_PORT=8070 -DJETTY_TEST_STOP_PORT=8069 ${GENERATORS_VERSION_PROPERTY}
mvn clean install -U -Pdocker -DJETTY_TEST_HTTP_PORT=8090 -DJETTY_TEST_STOP_PORT=8089 ${GENERATORS_VERSION_PROPERTY}
- name: Build and test samples Java 8
if: ${{ matrix.java == 8 }}
run: |
export MY_POM_VERSION=`mvn -Dswagger-codegen-generators-version=1.0.37 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
echo "POM VERSION" ${MY_POM_VERSION}
export GENERATORS_VERSION=`sed -n 's/<swagger\-codegen\-generators\-version>\([^\s]*\)<\/swagger\-codegen\-generators\-version>/\1/p' pom.xml`
export GENERATORS_VERSION=`echo ${GENERATORS_VERSION} | tr -d '[:space:]'`
echo "GENERATORS_VERSION" ${GENERATORS_VERSION}
export GENERATORS_VERSION_PROPERTY=""
if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
then
if [[ ! $GENERATORS_VERSION =~ ^.*SNAPSHOT$ ]];
then
# check release version exists
export GENERATORS_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-generators%20AND%20v:${GENERATORS_VERSION}%20AND%20p:jar`
export GENERATORS_FOUND=`echo ${GENERATORS_FOUND_JSON} | jq '.response.numFound'`
echo "GENERATORS_FOUND" ${GENERATORS_FOUND}
if [[ $GENERATORS_FOUND == '0' ]];
then
echo "generators version not found"
rm -f maven-metadata.json
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-generators/
LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json`
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
echo "LAST_SNAP $LAST_SNAP"
export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
fi
fi
fi
echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
cp -a pom.java8.xml pom.xml
echo "Test samples - GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
mvn -q verify -U -Psamples -DskipTests -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true -Dproject.build.sourceEncoding=UTF8 -Dfile.encoding=UTF8 ${GENERATORS_VERSION_PROPERTY}
cp -a pom.java11.xml pom.xml
- name: deploy maven
if: ${{ matrix.java == 17 && env.SNAP == 'true'}}
run: |
mvn -DJETTY_TEST_HTTP_PORT=8090 -DJETTY_TEST_STOP_PORT=8089 clean deploy -Pdocker --settings $HOME/.m2/settings.xml
- name: docker generator build and push
uses: docker/build-push-action@v5
if: ${{ matrix.java == 17 && env.SNAP == 'true'}}
with:
context: ./modules/swagger-generator
file: ./modules/swagger-generator/Dockerfile
push: true
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
provenance: false
build-args: |
HIDDEN_OPTIONS_DEFAULT_PATH=hiddenOptions.yaml
JAVA_MEM=1024m
HTTP_PORT=8080
tags: swaggerapi/swagger-generator-v3:unstable
- name: docker generator root build and push
uses: docker/build-push-action@v5
if: ${{ matrix.java == 17 && env.SNAP == 'true'}}
with:
context: ./modules/swagger-generator
file: ./modules/swagger-generator/Dockerfile_root
push: true
platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
provenance: false
build-args: |
HIDDEN_OPTIONS_DEFAULT_PATH=hiddenOptions.yaml
JAVA_MEM=1024m
HTTP_PORT=8080
tags: swaggerapi/swagger-generator-v3-root:unstable
- name: docker cli build and push
uses: docker/build-push-action@v5
if: ${{ matrix.java == 17 && env.SNAP == 'true'}}
with:
context: ./modules/swagger-generator
file: ./modules/swagger-generator/Dockerfile_minimal
push: true
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
provenance: false
tags: swaggerapi/swagger-codegen-cli-v3:unstable
- name: docker minimal build and push
uses: docker/build-push-action@v5
if: ${{ matrix.java == 17 && env.SNAP == 'true'}}
with:
context: ./modules/swagger-generator
file: ./modules/swagger-generator/Dockerfile_minimal
push: true
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
provenance: false
tags: swaggerapi/swagger-generator-v3-minimal:unstable