Skip to content

Linux fixes

Linux fixes #435

Workflow file for this run

name: build-xros
on:
push:
paths-ignore:
- '**/README.md'
pull_request:
paths-ignore:
- '**/README.md'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
TARGET: "xros"
NO_FORCE: 1
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
USE_ARTIFACT: true
DISABLE_WORKFLOW: "true"
jobs:
pre-check:
runs-on: ubuntu-latest
outputs:
workflow_disabled: ${{ steps.check-disabled.outputs.disabled }}
steps:
- name: Check if Workflow is disabled
id: check-disabled
shell: bash
run: |
if [ "${{ env.DISABLE_WORKFLOW }}" == "true" ]; then
echo "disabled=true" >> $GITHUB_ENV
echo "::set-output name=disabled::true"
else
echo "::set-output name=disabled::false"
fi
build-xros-platforms:
if: needs.pre-check.outputs.workflow_disabled != 'true'
runs-on: macos-14
needs: pre-check
strategy:
matrix:
bundle: [1, 2, 3]
env:
TARGET: "xros"
BUNDLE: ${{ matrix.bundle }}
DEVELOPER_DIR: "/Applications/Xcode_16.2.app/Contents/Developer"
steps:
- uses: actions/[email protected]
- name: Determine Release
id: vars
shell: bash
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
echo "RELEASE=nightly" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
echo "RELEASE=latest" >> $GITHUB_ENV
else
echo "RELEASE=latest" >> $GITHUB_ENV
fi
- name: Scripts Calc Formula - ${{ env.TARGET }} Bundle ${{ matrix.bundle }}
run: ./scripts/calculate_formulas.sh
- name: Scripts Install
run: ./scripts/xros/install.sh
- name: Build VisionOS
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: scripts/build.sh
env:
TARGET: "xros"
BUNDLE: ${{ matrix.bundle }}
ARCH: arm64
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
- name: Build VisionOS
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: scripts/build.sh
env:
TARGET: "xros"
BUNDLE: ${{ matrix.bundle }}
ARCH: x86_64
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
- name: Build VisionOS SIMULATOR arm64
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: scripts/build.sh
env:
TARGET: "xros"
BUNDLE: ${{ matrix.bundle }}
ARCH: SIM_arm64
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
- name: Package Binaries for Artifact
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: scripts/artifact/artifact.sh
env:
BUNDLE: ${{ matrix.bundle }}
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
- name: Upload binaries as Artifact
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
uses: actions/upload-artifact@v4
with:
name: libs-xros-${{ env.TARGET }}-${{ matrix.bundle }}
path: out/openFrameworksLibs_${{ env.release }}_${{ env.TARGET }}_${{ matrix.bundle }}.tar.bz2
retention-days: 30
- name: Remove .tar.bz2 files
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
run: |
echo "Removing .tar.bz2 files from out/ directory..."
rm -f out/*.tar.bz2
echo "Cleanup complete."
- name: List output directory
run: ls -lah out/
- name: Merge our VisionOS libaries into XC Framework
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: scripts/xros/xcframework_all.sh
env:
BUNDLE: ${{ matrix.bundle }}
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
# - name: Package
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
# working-directory: ${{ env.GITHUB_WORKSPACE }}
# run: scripts/package.sh
# env:
# BUNDLE: ${{ matrix.bundle }}
# GA_CI_SECRET: ${{ secrets.CI_SECRET }}
# - name: Update Release XCFramework
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
# uses: johnwbyrd/[email protected]
# with:
# token: ${{ secrets.GITHUB_TOKEN }}
# tag: ${{ env.release }}
# release: ${{ env.release }}
# prerelease: ${{ env.prerelease }}
# files: out/openFrameworksLibs_${{ env.release }}_${{ env.TARGET }}_${{ matrix.bundle }}.tar.bz2