Skip to content

fix: Adding quotes and indenting #3

fix: Adding quotes and indenting

fix: Adding quotes and indenting #3

Workflow file for this run

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:

Check failure on line 44 in .github/workflows/build.lazarus.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/build.lazarus.yml

Invalid workflow file

You have an error in your yaml syntax on line 44
_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 }}