Skip to content

Merge pull request #21 from niscy-eudiw/main #21

Merge pull request #21 from niscy-eudiw/main

Merge pull request #21 from niscy-eudiw/main #21

Workflow file for this run

name: CI
on:
pull_request:
types: [ opened, reopened, synchronize ]
push:
jobs:
build-gradle:
name: Build
# Run on external PRs, but not on internal PRs since those will be run by push to branch
runs-on: ubuntu-latest
outputs:
code-version: ${{ steps.extract.outputs.CODE_VERSION }}
steps:
- name: Checkout project sources
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Gradle Setup
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
arguments: build
- id: extract
name: Extract code version from gradle.properties
run: echo "CODE_VERSION=$(awk -F= '$1~/VERSION_NAME/{print $2}' gradle.properties)" >> $GITHUB_OUTPUT
unit-tests:
runs-on: ubuntu-latest
needs: [ build-gradle ]
permissions:
contents: read
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Gradle Setup
uses: gradle/actions/setup-gradle@v3
with:
arguments: test --full-stacktrace
publish-to-snapshot:
name: Publish SNAPSHOT to sonatype.org
needs: [ unit-tests ]
# Runs only in main
if: github.event_name != 'pull_request' && endsWith(needs.build-gradle.outputs.code-version, '-SNAPSHOT') && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release')) && github.repository_owner == 'eu-digital-identity-wallet'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Publish with Gradle Wrapper
uses: gradle/actions/setup-gradle@v3
with:
arguments: publishAllPublicationsToMavenCentral --full-stacktrace
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_REF_NAME: ${{ github.ref_name }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.OSSRH_GPG_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.OSSRH_GPG_PASSPHRASE }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }}