Skip to content

Commit

Permalink
Separate openapi check workflow from build one (#423)
Browse files Browse the repository at this point in the history
* Separate openapi check workflow from build one

* Apply suggestions

* Align with Java17
  • Loading branch information
mwithi authored Mar 27, 2024
1 parent 7c1f3e6 commit 7859097
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 48 deletions.
55 changes: 7 additions & 48 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,69 +5,28 @@ name: Java CI with Maven

on: [push, pull_request]

env:
MAVEN_ARGS: '-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Checkout core
run: git clone --depth=50 --branch=develop https://github.com/informatici/openhospital-core.git openhospital-core

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
java-package: jdk

- name: Checkout core
run: git clone --depth=50 --branch=develop https://github.com/informatici/openhospital-core.git openhospital-core

- name: Install core
run: cd openhospital-core && mvn install -DskipTests=true && cd ..

- name: Generate JWT Token
id: jwt
run: echo "token=7DlyD1SHR5pCa4HGgTLWSYm8YQ7oRL1wpPbxyjWyHU44vUrqrooRu3lHVFSXWChesc" >> $GITHUB_OUTPUT

- name: Store branch name
id: extract_branch
run: |
if [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
echo "branch=$(echo ${GITHUB_REF##*/})" >> $GITHUB_OUTPUT
elif [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
echo "branch=$(echo ${GITHUB_HEAD_REF})" >> $GITHUB_OUTPUT
else
echo "branch=INVALID_EVENT_BRANCH_UNKNOWN" >> $GITHUB_OUTPUT
fi

- name: Build with Maven
run: |
cp rsc/application.properties.dist rsc/application.properties
cp rsc/database.properties.dist rsc/database.properties
cp rsc/log4j.properties.dist rsc/log4j.properties
cp rsc/settings.properties.dist rsc/settings.properties
sed -e "s/JWT_TOKEN_SECRET/${{ steps.jwt.outputs.token }}/g" rsc/application.properties.dist > rsc/application.properties
mvn install -DskipTests=true
echo ${{ steps.extract_branch.outputs.branch }}
- name: Run API
run: |
cd target
java -cp "openhospital-api-0.1.0.jar:rsc/:static/" org.springframework.boot.loader.JarLauncher &
sleep 60
- name: Generate OpenAPI yaml
run: mvn springdoc-openapi:generate -Dspringdoc.outputFileName=oh_rev.yaml

- name: Running OpenAPI Spec breaking action
# run: |
# tenant_id=`curl -d '{"tenant": "oh", "email": "[email protected]"}' https://register.oasdiff.com/tenants | jq -r .id`
# curl -o output -X POST -F base=@openapi/oh.yaml -F revision=@openapi/oh_rev.yaml https://api.oasdiff.com/tenants/${tenant_id}/breaking-changes
# cat output
uses: oasdiff/oasdiff-action/breaking@main
with:
base: openapi/oh.yaml
revision: openapi/oh_rev.yaml
fail-on-diff: true
run: mvn install -DskipTests=true
76 changes: 76 additions & 0 deletions .github/workflows/openapi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This workflow will build and run the application for oasdiff/oasdiff-action/breaking@main
# For more information see: https://github.com/oasdiff/oasdiff-action

name: OpenAPI breaking changes check

on: [push, pull_request]

env:
MAVEN_ARGS: '-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'

jobs:
opeanpi:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Checkout core
run: git clone --depth=50 --branch=develop https://github.com/informatici/openhospital-core.git openhospital-core

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
java-package: jdk

- name: Install core
run: cd openhospital-core && mvn install -DskipTests=true && cd ..

- name: Generate JWT Token
id: jwt
run: echo "token=7DlyD1SHR5pCa4HGgTLWSYm8YQ7oRL1wpPbxyjWyHU44vUrqrooRu3lHVFSXWChesc" >> $GITHUB_OUTPUT

- name: Store branch name
id: extract_branch
run: |
if [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
echo "branch=$(echo ${GITHUB_REF##*/})" >> $GITHUB_OUTPUT
elif [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
echo "branch=$(echo ${GITHUB_HEAD_REF})" >> $GITHUB_OUTPUT
else
echo "branch=INVALID_EVENT_BRANCH_UNKNOWN" >> $GITHUB_OUTPUT
fi
- name: Build with Maven
run: |
cp rsc/application.properties.dist rsc/application.properties
cp rsc/database.properties.dist rsc/database.properties
cp rsc/log4j.properties.dist rsc/log4j.properties
cp rsc/settings.properties.dist rsc/settings.properties
sed -e "s/JWT_TOKEN_SECRET/${{ steps.jwt.outputs.token }}/g" rsc/application.properties.dist > rsc/application.properties
mvn install -DskipTests=true
echo ${{ steps.extract_branch.outputs.branch }}
- name: Run API
run: |
cd target
java -cp "openhospital-api-0.1.0.jar:rsc/:static/" org.springframework.boot.loader.JarLauncher &
sleep 60
- name: Generate OpenAPI yaml
run: mvn springdoc-openapi:generate -Dspringdoc.outputFileName=oh_rev.yaml

- name: Running OpenAPI Spec breaking action
# run: |
# tenant_id=`curl -d '{"tenant": "oh", "email": "[email protected]"}' https://register.oasdiff.com/tenants | jq -r .id`
# curl -o output -X POST -F base=@openapi/oh.yaml -F revision=@openapi/oh_rev.yaml https://api.oasdiff.com/tenants/${tenant_id}/breaking-changes
# cat output
uses: oasdiff/oasdiff-action/breaking@main
with:
base: openapi/oh.yaml
revision: openapi/oh_rev.yaml
fail-on-diff: true

0 comments on commit 7859097

Please sign in to comment.