ci: add ci pipeline and issue templates #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "> Main Pipeline" | ||
on: | ||
push: | ||
branches: [ "main" ] | ||
tags: | ||
- '*' | ||
pull_request: | ||
branches: ['*'] | ||
workflow_dispatch: | ||
inputs: | ||
type: | ||
description: 'Release Library' | ||
required: true | ||
default: '...no release' | ||
type: choice | ||
options: | ||
- '...no release' | ||
- major | ||
- minor | ||
- patch | ||
jobs: | ||
build: | ||
name: Build + unit tests | ||
uses: ./.github/workflows/callable.build.yml | ||
if: | # avoid unnecessary pipeline runs during artifact release process ('gradle release plugin') | ||
!contains(github.event.head_commit.message, '[Gradle Release Plugin] - pre tag commit') | ||
|| github.ref_type == 'tag' | ||
code_analysis: | ||
name: Code Analysis (multi) | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
uses: ./.github/workflows/callable.code-analysis.yml | ||
needs: build | ||
if: | | ||
github.event_name != 'workflow_dispatch' | ||
|| inputs.type == '...no release' | ||
# integration_test: | ||
# name: Integration tests | ||
# uses: ./.github/workflows/callable.integration-test.yml | ||
# needs: build | ||
gradle_release: | ||
name: Create release | ||
uses: ./.github/workflows/callable.gradle-release.yml | ||
secrets: inherit | ||
with: | ||
type: ${{ inputs.type }} | ||
# needs: integration_test | ||
if: | | ||
github.event_name == 'workflow_dispatch' | ||
&& inputs.type != '...no release' | ||
publish_sonatype: | ||
name: Publish artifact (Maven Central) | ||
uses: ./.github/workflows/callable.publish-sonatype.yml | ||
secrets: inherit | ||
needs: integration_test | ||
Check failure on line 64 in .github/workflows/1.pipeline.yml GitHub Actions / > Main PipelineInvalid workflow file
|
||
if: | | ||
( | ||
github.event_name != 'workflow_dispatch' | ||
|| inputs.type == '...no release' | ||
) && ( | ||
github.ref == 'refs/heads/main' | ||
|| github.ref_type == 'tag' | ||
) | ||
publish_javadoc: | ||
name: Publish javadoc (GitHub Pages) | ||
permissions: | ||
contents: write | ||
uses: ./.github/workflows/callable.publish-javadoc.yml | ||
needs: integration_test | ||
if: | | ||
( | ||
github.ref == 'refs/heads/main' | ||
&& ( inputs.type == '' || inputs.type == '...no release' ) | ||
) || github.ref_type == 'tag' |