Files
arbina-workflow-template/.github/workflows/api-publish-lib-workflow.yml

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 to ECR 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 }}