Skip to content

Make gradlew executable #5

Make gradlew executable

Make gradlew executable #5

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
# android-tests:
# runs-on: ubuntu-latest
# timeout-minutes: 35
# needs: [ build-gradle, unit-tests ]
# strategy:
# matrix:
# api-level: [26,33]
# target: [google_apis]
# arch: [x86_64]
# permissions:
# contents: read
# steps:
# - name: Enable KVM
# run: |
# echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
# sudo udevadm control --reload-rules
# sudo udevadm trigger --name-match=kvm
#
# - 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
#
# - name: AVD cache
# uses: actions/cache@v3
# id: avd-cache
# with:
# path: |
# ~/.android/avd/*
# ~/.android/adb*
# key: avd-${{ matrix.api-level }}-${{ matrix.target }}-${{ matrix.arch }}
#
# - name: Create AVD and generate snapshot for caching
# if: steps.avd-cache.outputs.cache-hit != 'true'
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# target: ${{ matrix.target }}
# arch: ${{ matrix.arch }}
# force-avd-creation: false
# emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
# disable-animations: false
# script: echo "Generated AVD snapshot for caching."
#
# - name: Run android tests
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# target: ${{ matrix.target }}
# arch: ${{ matrix.arch }}
# force-avd-creation: false
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
# disable-animations: true
# script: ./gradlew connectedCheck --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 }}