Skip to content

Build xPack Ninja Build darwin-arm64 #7

Build xPack Ninja Build darwin-arm64

Build xPack Ninja Build darwin-arm64 #7

# -----------------------------------------------------------------------------
# DO NOT EDIT!
# Generated from xpacks/@xpack-dev-tools/xbb-helper/templates/workflows/*.
#
# This file is part of the xPack distribution.
# (https://xpack.github.io)
# Copyright (c) 2021 Liviu Ionescu.
#
# Permission to use, copy, modify, and/or distribute this software
# for any purpose is hereby granted, under the terms of the MIT license.
# -----------------------------------------------------------------------------
# https://help.github.com/en/actions
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch
# https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event
# https://github.com/actions/checkout
# https://github.com/actions/upload-artifact
# https://github.com/actions/download-artifact
# -----------------------------------------------------------------------------
name: 'Build xPack Ninja Build darwin-arm64'
on:
workflow_dispatch:
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs
inputs:
version:
description: 'The semver of the release'
required: false
type: string
default: 'current'
xpm_version:
description: 'The version of xpm to install'
required: false
type: string
default: 'next'
xpm_install_loglevel:
description: 'Optional loglevel for xpm install'
required: false
default: 'info'
type: choice
options:
- silent
- warn
- info
- verbose
- debug
- trace
xpm_install_options:
description: 'Optional switches to pass to xpm install'
required: false
type: string
default: ''
helper-git-ref:
description: 'The helper branch, tag or SHA to checkout'
required: false
default: 'xpack-development'
jobs:
darwin-arm64-build:
name: 'darwin-arm64 ninja-build ${{github.event.inputs.version}} build'
timeout-minutes: 2880 # 2 days
runs-on: [self-hosted, macos, apple]
steps:
- name: 'Show environment'
run: |
uname -a
sw_vers
ls -lA /Library/Developer/CommandLineTools/SDKs || true
ls -lA /Applications
xcode-select --print-path
xcodebuild -version || true
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables || true
ls -l /Library/Developer/CommandLineTools/usr/include || true
echo "pwd: $(pwd)"
echo "whoami: $(whoami)"
echo "node: $(node --version)"
echo "npm: $(npm --version)"
ls -lLA
env | sort | grep -E '^[^ \t]+='
- name: 'Clean working area' # Mandatory for self-hosted runners.
run: |
chmod -Rf a+w * || true
rm -rf * .git*
- name: 'Checkout project'
uses: actions/checkout@v1 # v1 for old Git
with:
fetch-depth: 3
- name: 'Install xpm'
timeout-minutes: 1440
run: |
npm install --location=global xpm@${{github.event.inputs.xpm_version}}
xpm --version
- name: 'Install project dependencies'
timeout-minutes: 1440
run: xpm install --loglevel ${{github.event.inputs.xpm_install_loglevel}} ${{github.event.inputs.xpm_install_options}} -C build-assets
- name: 'Build darwin-arm64 binaries'
timeout-minutes: 1440
run: |
xpm install --config darwin-arm64 --loglevel ${{github.event.inputs.xpm_install_loglevel}} ${{github.event.inputs.xpm_install_options}} -C build-assets
xpm run build --config darwin-arm64 -C build-assets
- name: Upload platform artefacts
uses: actions/upload-artifact@v4
with:
name: deploy-darwin-arm64
path: ${{github.workspace}}/build-assets/build/darwin-arm64/deploy/*
overwrite: true
- name: 'Publish pre-release'
# https://github.com/ncipollo/release-action
uses: ncipollo/release-action@v1.14.0
with:
allowUpdates: true
artifacts: 'build-assets/build/darwin-arm64/deploy/*'
bodyFile: '.github/workflows/body-github-pre-releases-test.md'
commit: 'master'
draft: false
name: 'Test binaries'
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
owner: 'xpack-dev-tools'
prerelease: true
replacesArtifacts: true
repo: 'pre-releases'
tag: 'test'
token: ${{secrets.PUBLISH_TOKEN}}
- name: 'Rename working area'
# For just in case absolute paths remain unprocessed.
run: mv -v build-assets/build build-assets/build-$(date -u +%Y%m%d-%H%M%S)
darwin-arm64-test:
name: 'darwin-arm64 ninja-build ${{github.event.inputs.version}} test'
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
runs-on: macos-14
needs: [darwin-arm64-build]
steps:
- name: 'Show environment'
run: |
uname -a
sw_vers
ls -lA /Library/Developer/CommandLineTools/SDKs || true
ls -lA /Applications
sudo xcode-select --switch /Applications/Xcode_15.4.app
xcode-select --print-path
xcodebuild -version || true
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables || true
clang++ -v
echo "whoami: $(whoami)"
echo "pwd: $(pwd)"
ls -lLA
env | sort | grep -E '^[^ \t]+='
# https://github.com/actions/checkout
- name: 'Checkout project'
uses: actions/checkout@v4
with:
fetch-depth: 3
- name: 'Checkout helper ${{github.event.inputs.helper-git-ref}}'
uses: actions/checkout@v4
with:
repository: xpack-dev-tools/xbb-helper-xpack
path: build-assets/xpacks/@xpack-dev-tools/xbb-helper
ref: ${{github.event.inputs.helper-git-ref}}
fetch-depth: 3
- name: 'Run ${{github.event.inputs.version}} native test'
run: bash build-assets/scripts/test.sh --version ${{github.event.inputs.version}} --base-url pre-release
- name: Upload platform tests report
uses: actions/upload-artifact@v4
with:
name: tests-report-darwin-arm64
path: ${{github.workspace}}/build-assets/build/darwin-arm64/artefacts/tests-report-*.md
overwrite: true