Skip to content

Commit

Permalink
Squashed '.github/' content from commit 857206a
Browse files Browse the repository at this point in the history
git-subtree-dir: .github
git-subtree-split: 857206a7c51379ce8682c06fc0b0ca15c43b323a
  • Loading branch information
renelink committed Aug 18, 2024
0 parents commit fabedfc
Show file tree
Hide file tree
Showing 3 changed files with 168 additions and 0 deletions.
69 changes: 69 additions & 0 deletions workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle

name: Java CI with Gradle

on:
push:
branches:
- "main"
- "feature/**"
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0

- name: Build with Gradle Wrapper
run: ./gradlew build

# NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html).
# If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version.
#
# - name: Setup Gradle
# uses: gradle/actions/setup-gradle@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0
# with:
# gradle-version: '8.5'
#
# - name: Build with Gradle 8.5
# run: gradle build

dependency-submission:

runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0
36 changes: 36 additions & 0 deletions workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Publish To Maven Central

on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'


jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0

- name: Build with Gradle Wrapper
run: |
./gradlew --info publish closeAndReleaseStagingRepositories
env:
GPG_SIGNING_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
GPG_SIGNING_PASSPHRASE: ${{ secrets.OSSRH_GPG_SIGNING_PASSPHRASE }}
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USER }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASS }}
63 changes: 63 additions & 0 deletions workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Release Libraries

on:
workflow_dispatch:
inputs:
releaseType:
description: 'Choose the release type (patch|minor|major)'
required: true
default: 'patch'
type: choice
options:
- patch
- minor
- major
releaseVersion:
description: 'Set the release version (overrides release type)'
required: false
type: string

jobs:
build:
# if: contains('["renelink"]', github.actor)
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Validate Workflow Inputs
id: validate
run: |
export RELEASE_ARG="${{ inputs.releaseVersion || inputs.releaseType }}"
[[ "$RELEASE_ARG" =~ ^([0-9]+.[0-9]+.[0-9]+|patch|minor|major)$ ]] || \
{ echo "$RELEASE_ARG is not a valid release argument! Use ^([0-9]+.[0-9]+.[0-9]+|patch|minor|major)$ "; exit 1; }
echo "RELEASE_ARG=${RELEASE_ARG}" >> "$GITHUB_OUTPUT"
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0

- name: Configure Git User
run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
- name: Build with Gradle Wrapper
run: |
./.bin/gradlew_release ${{ steps.validate.outputs.RELEASE_ARG }}
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.PUSH_TOKEN}}

0 comments on commit fabedfc

Please sign in to comment.