Skip to content

CI - Fix IF Syntax (macOS) #2

CI - Fix IF Syntax (macOS)

CI - Fix IF Syntax (macOS) #2

Workflow file for this run

# https://webui.me
# https://github.com/webui-dev/webui
# Copyright (c) 2020-2024 Hassan Draga.
# Licensed under MIT License.
# All rights reserved.
# Canada.
#
# Special Thanks to Turiiya (https://github.com/ttytm)
name: macOS
on:
workflow_call:
jobs:
setup:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Bundle WebUI Bridge
run: |
npm i -g esbuild
chmod +x bridge/build.sh
bridge/build.sh
- uses: actions/cache@v4
with:
path: bridge/webui_bridge.h
key: ${{ runner.os }}-${{ github.sha }}-bridge
build:
needs: setup
runs-on: macos-latest
permissions:
contents: write
strategy:
matrix:
cc: [clang]
arch: [x64, arm64]
fail-fast: false
env:
ARTIFACT: webui-macos-${{ matrix.cc }}-${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: bridge/webui_bridge.h
key: ${{ runner.os }}-${{ github.sha }}-bridge
fail-on-cache-miss: true
- name: Setup OpenSSL
run: |
if [[ "${{ matrix.arch }}" == "x64" ]]; then

Check failure on line 50 in .github/workflows/macos.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/macos.yml

Invalid workflow file

You have an error in your yaml syntax on line 50
HOMEBREW_X64_PATH="/usr/local/bin/brew"
arch -arm64 brew uninstall [email protected] || true
arch -x86_64 $HOMEBREW_X64_PATH install [email protected]
echo "WEBUI_TLS_INCLUDE=$($HOMEBREW_X64_PATH --prefix [email protected])/include/" >> $GITHUB_ENV
echo "WEBUI_TLS_LIB=$($HOMEBREW_X64_PATH --prefix [email protected])/lib/" >> $GITHUB_ENV
else
brew install [email protected]
echo "WEBUI_TLS_INCLUDE=$(brew --prefix [email protected])/include/" >> $GITHUB_ENV
echo "WEBUI_TLS_LIB=$(brew --prefix [email protected])/lib/" >> $GITHUB_ENV
fi
- name: Build Debug Target
run: make ARCH_TARGET=${{ matrix.arch }} debug
- name: Build Release Target
if: ${{ !cancelled() }}
run: make ARCH_TARGET=${{ matrix.arch }}
- name: Build TLS Debug Target
run: make ARCH_TARGET=${{ matrix.arch }} WEBUI_USE_TLS=1 debug
- name: Build TLS Release Target
run: make ARCH_TARGET=${{ matrix.arch }} WEBUI_USE_TLS=1
- name: Build examples
run: |
examples_base_dir=$(pwd)/examples/C
for example in $(find $examples_base_dir/* -maxdepth 0 -type d); do
echo "> $example"
cd $example || (exit_code=1 && continue)
if ! make ARCH_TARGET=${{ matrix.arch }}; then
echo "Failed to build '$example'"
exit_code=1
continue
fi
if [[ ! -e "main" || ! -e "main-dyn" ]] ; then
echo "Failed to find executable for '$example'" && find .
exit_code=1
continue
fi
done
exit $exit_code
- name: Prepare Artifacts
run: |
cp -r include dist
mv dist/ "$ARTIFACT"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT }}
path: ${{ env.ARTIFACT }}
- name: Prepare Release
if: >
github.repository_owner == 'webui-dev'
&& (github.ref_type == 'tag' || (github.ref_name == 'main' && github.event_name == 'push'))
run: |
zip -r "$ARTIFACT.zip" "$ARTIFACT"
if [ $GITHUB_REF_TYPE == tag ]; then
echo "TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV
else
{
echo "IS_PRERELEASE=true";
echo "TAG=nightly";
echo "TITLE=WebUI Nightly Build $(date -u +'%Y-%m-%d %H:%M:%S UTC')"
echo "BODY=Generated from commit $GITHUB_SHA."
} >> $GITHUB_ENV
fi
- name: Update Nightly Tag
if: env.IS_PRERELEASE
uses: richardsimko/update-tag@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: nightly
- name: Release
if: >
github.repository_owner == 'webui-dev'
&& (github.ref_type == 'tag' || (github.ref_name == 'main' && github.event_name == 'push'))
uses: ncipollo/release-action@v1
with:
artifacts: ${{ env.ARTIFACT }}.zip
tag: ${{ env.TAG }}
body: ${{ env.BODY }}
name: ${{ env.TITLE }}
prerelease: ${{ env.IS_PRERELEASE }}
allowUpdates: true