Bump actions/checkout from 3 to 4 #5
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: OpenAPI Generator | |
on: | |
push: | |
branches: | |
- master | |
- '[5-9]+.[0-9]+.x' | |
pull_request: | |
branches: | |
- master | |
- '[5-9]+.[0-9]+.x' | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: 'temurin' | |
- name: Cache maven dependencies | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-maven-repository | |
with: | |
path: | | |
~/.m2/repository | |
~/.gradle | |
!~/.gradle/caches/*/plugin-resolution/ | |
!~/.m2/repository/org/openapitools/ | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
- name: Run maven | |
run: mvn --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
- run: ls -la modules/openapi-generator-cli/target | |
- name: Upload openapi-generator-cli.jar artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openapi-generator-cli.jar | |
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar | |
retention-days: 1 | |
test: | |
name: Unit tests | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: 'temurin' | |
- name: Cache maven dependencies | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-maven-repository | |
with: | |
path: | | |
~/.m2/repository | |
~/.gradle | |
!~/.gradle/caches/*/plugin-resolution/ | |
!~/.m2/repository/org/openapitools/ | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
- name: Run unit tests | |
run: mvn --no-snapshot-updates --batch-mode --quiet --fail-at-end test -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
- name: Publish unit test reports | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: surefire-test-results | |
path: '**/surefire-reports/TEST-*.xml' | |
documentation: | |
name: Docs up-to-date | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: 'temurin' | |
- name: Download openapi-generator-cli.jar artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: openapi-generator-cli.jar | |
path: modules/openapi-generator-cli/target | |
- name: Generate docs | |
run: | | |
bash bin/meta-codegen.sh | |
bash bin/utils/export_docs_generators.sh | |
bash bin/utils/copy-to-website.sh | |
bash bin/utils/export_generators_readme.sh | |
- name: Verify git status | |
run: | | |
if [[ "$(git status --porcelain)" != "" ]]; then | |
echo "UNCOMMITTED CHANGES ERROR" | |
echo "There are uncommitted changes in working tree after execution of 'bin/ensure-up-to-date'" | |
echo "Perform git diff" | |
git --no-pager diff | |
echo "Perform git status" | |
git status | |
echo -e "\nThis script runs in pull requests against the anticipated merge commit (as if the PR was merged now)." | |
echo "When you see unexpected files here, it likely means that there are newer commits in master that you need to " | |
echo -e "rebase or merge into your branch.\n" | |
echo "Please run 'bin/utils/ensure-up-to-date' locally and commit changes (UNCOMMITTED CHANGES ERROR)" | |
exit 1 | |
fi | |
samples: | |
name: Samples up-to-date | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 8 | |
distribution: 'temurin' | |
- name: Download openapi-generator-cli.jar artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: openapi-generator-cli.jar | |
path: modules/openapi-generator-cli/target | |
- name: Generate samples | |
run: bash bin/generate-samples.sh | |
- name: Verify git status | |
run: | | |
if [[ "$(git status --porcelain)" != "" ]]; then | |
echo "UNCOMMITTED CHANGES ERROR" | |
echo "There are uncommitted changes in working tree after execution of 'bin/generate-samples.sh'" | |
echo "Perform git diff" | |
git --no-pager diff | |
echo "Perform git status" | |
git status | |
echo -e "\nThis script runs in pull requests against the anticipated merge commit (as if the PR was merged now)." | |
echo "When you see unexpected files here, it likely means that there are newer commits in master that you need to " | |
echo -e "rebase or merge into your branch.\n" | |
echo "Please run 'bin/generate-samples.sh' locally and commit changes (UNCOMMITTED CHANGES ERROR)" | |
exit 1 | |
fi | |
test-maven-plugin: | |
name: Maven plugin tests | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Cache maven dependencies | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-maven-repository | |
with: | |
path: | | |
~/.m2/repository | |
~/.gradle | |
!~/.gradle/caches/*/plugin-resolution/ | |
!~/.m2/repository/org/openapitools/ | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-test-maven-plugin-${{ env.cache-name }}- | |
${{ runner.os }}-test-maven-plugin- | |
- name: Run tests | |
run: | | |
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
mvn --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
test-gradle-plugin: | |
name: Gradle plugin tests | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Cache maven dependencies | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-maven-repository | |
with: | |
path: | | |
~/.m2/repository | |
~/.gradle | |
!~/.gradle/caches/modules-2/modules-2.lock | |
!~/.gradle/caches/*/plugin-resolution/ | |
!~/.m2/repository/org/openapitools/ | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-test-gradle-plugin-${{ env.cache-name }}- | |
${{ runner.os }}-test-gradle-plugin- | |
- name: Run tests | |
run: | | |
mvn --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error | |
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk) | |
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate) |