From ac44aca6388c08bb1a571bf7445aa636f1671735 Mon Sep 17 00:00:00 2001 From: Reid Buzby Date: Thu, 26 Oct 2023 12:00:38 -0700 Subject: [PATCH] Add build, release and unit test workflow files --- .github/workflows/build.yaml | 33 +++++++++++++++++++++++++++++++ .github/workflows/release.yaml | 25 +++++++++++++++++++++++ .github/workflows/tests-unit.yaml | 20 +++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 .github/workflows/build.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 .github/workflows/tests-unit.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..7e34674 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,33 @@ +name: Gradle Build +on: + push: + branches: + - main + pull_request: + +jobs: + gradle: + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + java: ['8', '11', '17'] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + cache: 'gradle' + + - name: Build Library + uses: nick-invision/retry@v2 + with: + timeout_minutes: 10 + max_attempts: 5 + command: | + ./gradlew build + + - name: Publish to Maven Local + run: ./gradlew publishToMavenLocal diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..c90c637 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,25 @@ +name: Release +on: + push: + tags: + - v** + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'adopt' + + - name: publish-to-maven-central + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + run: ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository diff --git a/.github/workflows/tests-unit.yaml b/.github/workflows/tests-unit.yaml new file mode 100644 index 0000000..d18ab5b --- /dev/null +++ b/.github/workflows/tests-unit.yaml @@ -0,0 +1,20 @@ +name: tests-unit + +on: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'adopt' + + - name: Run tests + run: ./gradlew check