mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-04-14 04:28:38 +08:00
60 lines
2.3 KiB
YAML
60 lines
2.3 KiB
YAML
# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
|
|
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions
|
|
# https://doug.sh/posts/using-composite-actions-with-github-actions/
|
|
# https://wallis.dev/blog/composite-github-actions
|
|
|
|
name: "Build-Test"
|
|
description: "Build and test service"
|
|
|
|
# Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables.(so they are just string)
|
|
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#inputs
|
|
inputs:
|
|
project-path:
|
|
description: Project path
|
|
required: true
|
|
tests-path:
|
|
description: Test path
|
|
required: false
|
|
default: ''
|
|
reports-path:
|
|
description: Test report path
|
|
required: true
|
|
reports-output-path:
|
|
description: Test report output path
|
|
required: true
|
|
service-name:
|
|
description: Service name
|
|
required: true
|
|
# https://stackoverflow.com/questions/70098241/using-secrets-in-composite-actions-github
|
|
token:
|
|
description: A Github PAT
|
|
required: true
|
|
|
|
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-composite-actions
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
|
|
- name: Call Composite Action build
|
|
uses: ./.github/actions/build
|
|
if: success()
|
|
id: build-step
|
|
with:
|
|
project-path: ${{ inputs.project-path }}
|
|
service-name: ${{ inputs.service-name }}
|
|
|
|
- name: Call Composite Action test
|
|
uses: ./.github/actions/test
|
|
if: ${{ success() && inputs.tests-path != ''}}
|
|
id: test-step
|
|
with:
|
|
tests-path: ${{ inputs.tests-path }}
|
|
# wildcard search for files with the ".cobertura.xml" extension in all subdirectories of the current directory
|
|
# https://www.jamescroft.co.uk/combining-multiple-code-coverage-results-in-azure-devops/
|
|
# https://stackoverflow.com/questions/53255065/dotnet-unit-test-with-coverlet-how-to-get-coverage-for-entire-solution-and-not
|
|
reports-path: ${{ github.workspace }}/**/*.cobertura.xml
|
|
reports-output-path: ${{ github.workspace }}/output/test-results
|
|
service-name: ${{ inputs.service-name }}
|
|
token: ${{ inputs.token }}
|
|
no-restore: true
|