51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
name: Reusable workflow. Using to build and publish lib to GitHub Packages
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
MODULE_NAME:
|
|
description: "Using for choice specified module when build application."
|
|
required: true
|
|
type: string
|
|
IS_TEST_ENABLED:
|
|
description: "Using for start test before pushing if value is true."
|
|
default: false
|
|
type: boolean
|
|
secrets:
|
|
SECRET_GITHUB_TOKEN:
|
|
required: true
|
|
SECRET_GITHUB_USERNAME:
|
|
required: true
|
|
|
|
jobs:
|
|
api-multi-module-lib-publish:
|
|
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 17
|
|
server-id: github
|
|
settings-path: ${{ github.workspace }}
|
|
|
|
- name: Grant execute permission for gradlew
|
|
run: chmod +x gradlew
|
|
|
|
- name: Test with Gradle
|
|
if: ${{ inputs.IS_TEST_ENABLED }}
|
|
run: ./gradlew test -p ${{ inputs.MODULE_NAME }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.SECRET_GITHUB_TOKEN }}
|
|
GITHUB_USERNAME: ${{ secrets.SECRET_GITHUB_USERNAME }}
|
|
|
|
- name: Validate Gradle wrapper
|
|
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
|
|
- name: Publish package
|
|
run: ./gradlew publish -p ${{ inputs.MODULE_NAME }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.SECRET_GITHUB_TOKEN }}
|
|
GITHUB_USERNAME: ${{ secrets.SECRET_GITHUB_USERNAME }}
|