1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- name: Publish Spring Boot images for smoke tests
- on:
- push:
- paths:
- - 'smoke-tests/images/spring-boot/**'
- - '.github/workflows/publish-smoke-test-spring-boot-images.yml'
- branches:
- - main
- workflow_dispatch:
- jobs:
- publish:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2.3.4
- with:
- fetch-depth: 0
- - name: Set up JDK 11 for running Gradle
- uses: actions/setup-java@v2
- with:
- distribution: adopt
- java-version: 11
- - name: Cache gradle dependencies
- uses: burrunan/gradle-cache-action@v1.10
- with:
- job-id: spring-boot-smoke
- read-only: true
- - name: Cache Gradle Wrapper
- uses: actions/cache@v2
- with:
- path: ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('smoke-tests/images/spring-boot/gradle/wrapper/gradle-wrapper.properties') }}
- - name: Login to GitHub Package Registry
- uses: docker/login-action@v1.10.0
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Build Docker Image
- run: |
- TAG="$(date '+%Y%m%d').$GITHUB_RUN_ID"
- echo "Pushing to tag $TAG"
- ./gradlew jib -PtargetJDK=8 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
- ./gradlew jib -PtargetJDK=11 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
- ./gradlew jib -PtargetJDK=17 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
- ./gradlew jib -PtargetJDK=18 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
- working-directory: smoke-tests/images/spring-boot
- issue:
- name: Open issue on failure
- needs: publish
- runs-on: ubuntu-latest
- if: always()
- steps:
- # run this action to get workflow conclusion
- # You can get conclusion by env (env.WORKFLOW_CONCLUSION)
- - uses: technote-space/workflow-conclusion-action@v2.2
- - uses: actions/checkout@v2.3.4
- with:
- fetch-depth: 0
- - uses: JasonEtco/create-an-issue@v2.6
- if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- filename: .github/templates/workflow-failed.md
|