Skip to content

Build Package

Build Package #6

Workflow file for this run

name: Build Package
on:
workflow_dispatch:
push:
branches:
- release
env:
VERSION: 1.0
FINALPACKAGE: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
jobs:
build:
runs-on: macos-14
steps:
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.4'
- name: Setup Environment
run: |
echo "THEOS=$HOME/theos" >> $GITHUB_ENV
echo "THEOS_IGNORE_PARALLEL_BUILDING_NOTICE=yes" >> $HOME/.theosrc
- name: Setup Theos
run: |
bash -c "$(curl -fsSL https://raw.githubusercontent.com/OwnGoalStudio/theos/ci/auth-token/bin/install-theos)"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Environment (RootHide)
run: |
echo "THEOS=$HOME/theos-roothide" >> $GITHUB_ENV
- name: Setup Theos (RootHide)
run: |
bash -c "$(curl -fsSL https://raw.githubusercontent.com/OwnGoalStudio/theos-roothide/ci/auth-token/bin/install-theos)"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v4
- name: Build (arm)
run: |
source devkit/env.sh
make package
- name: Build (arm64)
run: |
source devkit/rootless.sh
make package
- name: Build (arm64e)
run: |
source devkit/roothide.sh
make package
- name: Collect dSYMs
run: |
find .theos/obj -name "*.dSYM" -exec cp -r {} ./packages/ \;
VERSION=$(grep '^Version:' .theos/_/DEBIAN/control | awk '{print $2}')
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Upload dSYMs
uses: actions/upload-artifact@v4
with:
name: symbols-${{ env.VERSION }}
path: |
./packages/*.dSYM
- name: Upload Packages
uses: actions/upload-artifact@v4
with:
name: packages-${{ env.VERSION }}
path: |
./packages/*.deb
- name: Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ env.VERSION }}
draft: true
prerelease: false
files: |
./packages/*.deb