Skip to content

Use on-branch requirements #4

Use on-branch requirements

Use on-branch requirements #4

Workflow file for this run

name: Package merges to main
on:
push:
branches:
- main
- gh-actions-build
paths-ignore:
- '**/*.md'
# - '.github/**'
- 'Code/tests/**'
workflow_dispatch:
jobs:
build:
name: Build AutoPkg installer
runs-on: macos-13
steps:
- name: Checkout relocatable-python
uses: actions/checkout@v3
with:
repository: 'gregneagle/relocatable-python'
- name: Build relocatable python
run: |
# TODO: Use main branch
curl -sLO "https://raw.githubusercontent.com/homebysix/autopkg/gh-actions-build/new_requirements.txt"
python3.10 "$GITHUB_WORKSPACE/make_relocatable_python_framework.py" \
--upgrade-pip \
--os-version 11 \
--python-version 3.10.4 \
--pip-requirements new_requirements.txt \
--destination "/tmp/Python.framework"
- name: Checkout autopkg
uses: actions/checkout@v3
- name: Set environment variables
id: set_env_var
run: |
echo "VERSION=$(/usr/libexec/PlistBuddy -c "Print:Version" "$GITHUB_WORKSPACE/Code/autopkglib/version.plist")" >> $GITHUB_ENV
- name: Build installer package
run: |
PKGROOT=$(mktemp -d /tmp/AutoPkg-build-root-XXXXXXXXXXX)
mkdir -p "$PKGROOT/Library"
rm -rf "$GITHUB_WORKSPACE/Code/tests"
cp -R "$GITHUB_WORKSPACE/Code/" "$PKGROOT/Library/AutoPkg"
mkdir -p "$PKGROOT/Library/LaunchDaemons"
mv "$PKGROOT/Library/AutoPkg/autopkgserver/autopkgserver.plist" "$PKGROOT/Library/LaunchDaemons/com.github.autopkg.autopkgserver.plist"
mv "$PKGROOT/Library/AutoPkg/autopkgserver/autopkginstalld.plist" "$PKGROOT/Library/LaunchDaemons/com.github.autopkg.autopkginstalld.plist"
mkdir -p "$PKGROOT/Library/AutoPkg/Python3"
mv "/tmp/Python.framework" "$PKGROOT/Library/AutoPkg/Python3/"
mkdir -p "$PKGROOT/usr/local/autopkg"
ln -s "/Library/AutoPkg/Python3/Python.framework/Versions/Current/bin/python3" "$PKGROOT/usr/local/autopkg/python"
mkdir -p "$PKGROOT/usr/local/bin"
ln -s "/Library/AutoPkg/autopkg" "$PKGROOT/usr/local/bin/autopkg"
mkdir -p "pkg-scripts"
# TODO: Move postinstall script into AutoPkg repo
curl -sL "https://raw.githubusercontent.com/autopkg/recipes/master/AutoPkg/Scripts/postinstall" -o "pkg-scripts/postinstall"
chmod +x pkg-scripts/*
mkdir -p "artifacts"
pkgbuild --root "$PKGROOT" \
--identifier com.github.autopkg.autopkg \
--version "${{ env.VERSION }}" \
--scripts "pkg-scripts" \
"artifacts/AutoPkg-${{ env.VERSION }}.pkg"
- name: Upload packages
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: artifacts
path: artifacts/