Skip to content

feat/tests

feat/tests #1

Workflow file for this run

name: Build MetaCall Distributable - ARM
on:
push:
branches:
- master
- feat/tests
tags:
- "v*.*.*"
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: macos-14
steps:
- name: Check out the repository
uses: actions/checkout@v2
with:
fetch-depth: 0
# Clean up previous dependencies in order to avoid conflicts with brew
- name: Clean
run: |
brew uninstall --force --ignore-dependencies node
brew cleanup -s node
brew cleanup --prune-prefix
brew uninstall --force --ignore-dependencies [email protected]
brew cleanup -s [email protected]
brew cleanup --prune-prefix
brew uninstall --force --ignore-dependencies [email protected]
brew cleanup -s [email protected]
brew cleanup --prune-prefix
sudo rm -rf /System/Library/Frameworks/Python.framework/
brew cleanup --prune-prefix
sudo rm -rf /usr/local/bin/2to3
sudo rm -rf /usr/local/bin/2to3-3.11
sudo rm -rf /usr/local/bin/2to3-3.12
sudo rm -rf /usr/local/bin/idle3
sudo rm -rf /usr/local/bin/idle3.11
sudo rm -rf /usr/local/bin/idle3.12
sudo rm -rf /usr/local/bin/pydoc3
sudo rm -rf /usr/local/bin/pydoc3.11
sudo rm -rf /usr/local/bin/pydoc3.12
sudo rm -rf /usr/local/bin/python3
sudo rm -rf /usr/local/bin/python3-config
sudo rm -rf /usr/local/bin/python3.11
sudo rm -rf /usr/local/bin/python3.12
sudo rm -rf /usr/local/bin/python3.11-config
sudo rm -rf /usr/local/bin/python3.12-config
brew uninstall --force --ignore-dependencies ruby
brew cleanup -s ruby
brew cleanup --prune-prefix
sudo rm -rf $(brew --repo homebrew/core)
# Build Homebrew recipe
- name: Build
run: ./build.sh
# Upload build artifact
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: metacall.pkg
path: pkg/*.pkg
# Release package
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
fail_on_unmatched_files: true
files: pkg/*.pkg
test:
needs: build
runs-on: macos-14
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: metacall.pkg
- name: Find and install MetaCall package
run: |
PKG_PATH=$(find . -type f -name "metacall-*.pkg" | sort -V | tail -n 1)
if [ -z "$PKG_PATH" ]; then
echo "No matching MetaCall package found"
exit 1
fi
echo "Found package: $PKG_PATH"
sudo installer -pkg "$PKG_PATH" -target /
- name: Test
run: ./test.sh