Argument d'entrée pour filtrer sur 15-NexSIS #58
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: generate-model | |
on: | |
pull_request: | |
branches: | |
- '**' | |
env: | |
SCHEMAS: "RC-EDA EMSI" | |
jobs: | |
generate: | |
runs-on: ubuntu-latest | |
env: | |
JAVA_POST_PROCESS_FILE: "/usr/bin/clang-format -i" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Graphviz | |
uses: ts-graphviz/setup-graphviz@v1 | |
- name: Install python requirements, run csv_parser and collect OpenAPI specs | |
working-directory: ./csv_parser | |
run: | | |
pip install -r ./requirements.txt | |
IFS=' ' read -ra SCHEMAS_ARRAY <<< "$SCHEMAS" | |
for SCHEMA in "${SCHEMAS_ARRAY[@]}"; do | |
python3 ./csv_parser.py -s $SCHEMA | |
mv ./out/$SCHEMA/$SCHEMA.openapi.yaml ../generator/input/$SCHEMA.openapi.yaml | |
done | |
- name: Install JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Install node env 🏗 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Install openapi-generator-cli | |
run: npm install -g @openapitools/openapi-generator-cli | |
- name: Install linter | |
run: sudo apt install -y clang-format | |
- name: Generate Java classes | |
working-directory: ./generator | |
run: | | |
npx @openapitools/openapi-generator-cli generate -c ./config/common/common.generator-config.json --skip-validate-spec | |
npx @openapitools/openapi-generator-cli generate -c ./config/common/common.wrapper.generator-config.json --skip-validate-spec | |
npx @openapitools/openapi-generator-cli generate -c ./config/common/common.distributionElement.generator-config.json --skip-validate-spec | |
IFS=' ' read -ra SCHEMAS_ARRAY <<< "$SCHEMAS" | |
for SCHEMA in "${SCHEMAS_ARRAY[@]}"; do | |
npx @openapitools/openapi-generator-cli generate -c ./config/$SCHEMA/$SCHEMA.generator-config.json --skip-validate-spec | |
npx @openapitools/openapi-generator-cli generate -c ./config/$SCHEMA/$SCHEMA.wrapper.generator-config.json --skip-validate-spec | |
done | |
- name: Copy generated classes to src/ | |
run: | | |
cp -r ./generator/classes/src/main/java/com/hubsante/model/* ./src/main/java/com/hubsante/model/ | |
- name: Grant execute permission for Gradlew | |
run: chmod +x ./gradlew | |
- name: Apply license | |
run: ./gradlew licenseFormat | |
- name: Commit and push changes | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: ⚙️ Auto-génération des classes et des specs | |
- name: Build and run tests | |
run: ./gradlew test | |
- name: Add coverage to PR | |
id: jacoco | |
uses: madrapps/jacoco-report@v1.3 | |
with: | |
paths: ${{ github.workspace }}/build/reports/jacoco/test/jacocoTestReport.xml | |
token: ${{ secrets.GITHUB_TOKEN }} | |
min-coverage-overall: 40 | |
min-coverage-changed-files: 60 | |
- name: Setup .NET Core # Required to execute ReportGenerator | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 6.x | |
dotnet-quality: 'ga' | |
- name: Run ReportGenerator for test coverage | |
uses: danielpalme/ReportGenerator-GitHub-Action@5.1.23 | |
with: | |
reports: ${{ github.workspace }}/build/reports/jacoco/test/jacocoTestReport.xml | |
targetdir: coveragereport |