fix: Adding quotes and indenting #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: Lazarus Build Workflow | ||
defaults: | ||
run: | ||
shell: bash | ||
on: | ||
workflow_call: | ||
inputs: | ||
app-name: | ||
description: Application Name | ||
required: true | ||
type: string | ||
lpi-path: | ||
description: Path to the *.lpi file | ||
required: true | ||
type: string | ||
triplets: | ||
description: A JSON object containing the triplets | ||
required: true | ||
type: string | ||
config: | ||
description: A JSON object containing configuration values | ||
required: true | ||
type: string | ||
outputs: | ||
win-artefact-path: | ||
description: Path to the stored artefact folder | ||
value: ${{ jobs.build-app.outputs.win-artefact-path }} | ||
lin-artefact-path: | ||
description: Path to the stored artefact folder | ||
value: ${{ jobs.build-app.outputs.lin-artefact-path }} | ||
osx-artefact-path: | ||
description: Path to the stored artefact folder | ||
value: ${{ jobs.build-app.outputs.osx-artefact-path }} | ||
jobs: | ||
build-app: | ||
name: build-${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
env: | ||
_EXE_: '${{ matrix.os == 'windows-latest' && | ||
format('{0}.exe', fromJSON(inputs.config).app-name) || | ||
fromJSON(inputs.config).app-name | ||
}}' | ||
_EXE_TRIPLET_: '${{ | ||
matrix.os == 'windows-latest' && | ||
format('{0}-{1}.exe', inputs.app-name, fromJSON(inputs.config).triplets[matrix.os]) || | ||
format('{0}-{1}', inputs.app-name, fromJSON(inputs.config).triplets[matrix.os]) | ||
}}' | ||
strategy: | ||
matrix: | ||
#os: [ubuntu-latest, macos-latest, windows-latest] | ||
#os: [ubuntu-latest] | ||
os: ${{ fromJSON(inputs.config).os }} | ||
#lazarus-versions: [ stable, 2.0.12, 2.0.10 ] | ||
#lazarus-versions: [ stable ] | ||
lazarus-versions: ${{ fromJSON(inputs.config).lazarus-versions }} | ||
# include: | ||
# - os: ubuntu-latest | ||
# triplet: ${{ fromJSON(inputs.triplets).lin }} | ||
# - os: windows-latest | ||
# triplet: ${{ fromJSON(inputs.triplets).win }} | ||
# - os: macos-latest | ||
# triplet: ${{ fromJSON(inputs.triplets).osx }} | ||
outputs: | ||
win-artefact-path: ${{ steps.vars.outputs.win-artefact-path }} | ||
lin-artefact-path: ${{ steps.vars.outputs.lin-artefact-path }} | ||
osx-artefact-path: ${{ steps.vars.outputs.osx-artefact-path }} | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- name: Install Lazarus | ||
uses: gcarreno/[email protected] | ||
with: | ||
lazarus-version: ${{ matrix.lazarus-versions }} | ||
with-cache: false | ||
- name: Print some values | ||
run: | | ||
echo App Name: ${{ fromJSON(inputs.config).app-name }} | ||
echo LPI Path: ${{ fromJSON(inputs.config).lpi-path }}/${{ fromJSON(inputs.config).app-name }}.lpi | ||
echo Triplets: ${{ inputs.triplets }} | ||
echo Matrix OS: ${{ matrix.os }} | ||
echo Executable: ${{ env._EXE_ }} | ||
echo Executable with triplet: ${{ env._EXE_TRIPLET_ }} | ||
echo | ||
- name: Build outputs | ||
id: vars | ||
run: | | ||
case "${{ matrix.os }}" in | ||
"windows-latest") | ||
echo Setting win-artefact-path to ${{ matrix.triplet }} | ||
echo ::set-output name=win-artefact-path::${{ matrix.triplet }} | ||
;; | ||
"ubuntu-latest") | ||
echo Setting lin-artefact-path to ${{ matrix.triplet }} | ||
echo ::set-output name=lin-artefact-path::${{ matrix.triplet }} | ||
;; | ||
"macos-latest") | ||
echo Setting osx-artefact-path to ${{ matrix.triplet }} | ||
echo ::set-output name=osx-artefact-path::${{ matrix.triplet }} | ||
;; | ||
esac | ||
- name: Print outputs | ||
run: | | ||
echo Win output: ${{ steps.vars.outputs.win-artefact-path }} | ||
echo Lin output: ${{ steps.vars.outputs.lin-artefact-path }} | ||
echo OSX output: ${{ steps.vars.outputs.osx-artefact-path }} |