Skip to content

chore: update gitignore / idea settings #703

chore: update gitignore / idea settings

chore: update gitignore / idea settings #703

Workflow file for this run

name: CI
on:
# Run on every pull request
pull_request:
branches: [main]
types: [opened, synchronize, reopened]
push:
branches: [main]
env:
JAVA_VERSION: 17
# Will build the binaries, run tests and checks on them and if everything succeeds AND it is a push
# to the main branch will build and deploy a snapshot release of the binaries
jobs:
# Basic Gradle wrapper validation. This step is run first, due to security
# concerns. Running our whole pipeline with Gradle with a corrupt wrapper,
# could expose our secrets, and we definitely want to prevent this.
validation:
name: Gradle wrapper validation
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v3
assemble:
name: Build
runs-on: ubuntu-latest
needs: [validation]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: temurin
cache: 'gradle'
- name: Gradle Assemble
run: |
./gradlew --stacktrace assemble --no-daemon --info
test:
permissions:
id-token: write
contents: read
checks: write
runs-on: ubuntu-latest
needs: [validation]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: temurin
cache: 'gradle'
- name: Gradle test
run: |
./gradlew test --no-daemon --stacktrace --info
- name: Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: JUnit Tests
path: 'build/test-results/test/*.xml'
reporter: java-junit
fail-on-error: true
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results
path: build/test-results
- name: Upload Build Report
uses: actions/upload-artifact@v4
if: always()
with:
name: build-reports
path: build/reports
auto-merge:
runs-on: ubuntu-latest
needs: [test]
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.user.login == 'dependabot[bot]' }}
permissions:
pull-requests: write
contents: write
steps:
- name: Dependabot metadata
id: dependabot-metadata
uses: dependabot/fetch-metadata@v2.2.0
- name: Auto merge patch and minor updates
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}}
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
build-image:
name: Build Docker Image
runs-on: ubuntu-latest
needs: [assemble, test]
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: temurin
cache: 'gradle'
- name: Login to Quay
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_IO_USERNAME }}
password: ${{ secrets.QUAY_IO_PASSWORD }}
- name: Build Rolling Docker Image
run: ./gradlew jib --no-daemon -x test