Android CMake - Cross compiling Linux #363
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: build-watchos | |
on: | |
push: | |
paths-ignore: | |
- '**/README.md' | |
pull_request: | |
paths-ignore: | |
- '**/README.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
TARGET: "watchos" | |
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-watchos-platforms: | |
if: needs.pre-check.outputs.workflow_disabled != 'true' | |
runs-on: macos-14 | |
needs: pre-check | |
strategy: | |
matrix: | |
bundle: [1, 2, 3] | |
env: | |
BUNDLE: ${{ matrix.bundle }} | |
DEVELOPER_DIR: "/Applications/Xcode_16.2.app/Contents/Developer" | |
steps: | |
- 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 | |
- uses: actions/[email protected] | |
- name: Scripts Calc Formula - ${{ env.TARGET }} Bundle ${{ matrix.bundle }} | |
run: ./scripts/calculate_formulas.sh | |
- name: Scripts Install | |
run: ./scripts/catos/install.sh | |
- name: Build WatchOS arm64 | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: scripts/build.sh | |
env: | |
TARGET: "watchos" | |
BUNDLE: ${{ matrix.bundle }} | |
ARCH: arm64 | |
GA_CI_SECRET: ${{ secrets.CI_SECRET }} | |
- name: Build WatchOS SIM_x86_64 | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: scripts/build.sh | |
env: | |
TARGET: "watchos" | |
BUNDLE: ${{ matrix.bundle }} | |
ARCH: x86_64 | |
GA_CI_SECRET: ${{ secrets.CI_SECRET }} | |
- name: Build WatchOS SIM_arm64 | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: scripts/build.sh | |
env: | |
TARGET: "watchos" | |
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-watchos-${{ 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 watch libaries into XC Framework | |
working-directory: ${{ env.GITHUB_WORKSPACE }} | |
run: scripts/watchos/xcframework_all.sh | |
env: | |
TARGET: "watchos" | |
BUNDLE: ${{ matrix.bundle }} | |
GA_CI_SECRET: ${{ secrets.CI_SECRET }} | |
# - name: Package | |
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding' || contains(github.ref, 'refs/tags/')) | |
# 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' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding' || contains(github.ref, 'refs/tags/')) | |
# 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 |