8000 Update object_relationships.json · AlexHarker/FrameLib@ce0dcec · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

distribution-github #58

distribution-github

distribution-github #58

Workflow file for this run

5AC5
name: distribution-github
on: [ workflow_dispatch ]
jobs:
max-mac:
runs-on: macos-latest
steps:
- name: Checkout main repo
uses: actions/checkout@v3
with:
path: "framelib"
submodules: "recursive"
- name: Checkout max-sdk-base
uses: actions/checkout@v3
with:
repository: 'Cycling74/max-sdk-base'
path: "max-sdk-base"
- name: Build mac max externals
run: xcodebuild -project 'framelib/framelib.xcodeproj' -scheme 'framelib Max (objects build)' -destination 'platform=OS X,arch=x86_64' -configuration Deployment -quiet build CODE_SIGNING_ALLOWED=YES
- name: Upload mac build
uses: actions/upload-artifact@v4
with:
name: build-max-mac
path: framelib/Packaging/Max/FrameLib/externals
max-win:
runs-on: windows-2019
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1
- name: Checkout main repo
uses: actions/checkout@v3
with:
path: "framelib"
submodules: "recursive"
- name: Checkout max-sdk-base
uses: actions/checkout@v3
with:
repository: 'Cycling74/max-sdk-base'
path: "max-sdk-base"
- name: Build win max externals
run: msbuild "framelib/framelib.sln" /p:configuration="Release" /p:platform=x64 /t:framelib_objects_max /v:q /clp:ErrorsOnly /nologo /m
- name: Upload win build
uses: actions/upload-artifact@v4
with:
name: build-max-win
path: framelib/Packaging/Max/FrameLib/externals
pd-mac:
runs-on: macos-latest
steps:
- name: Checkout main repo
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Build mac pd binary
run: |
cd FrameLib_PD_Objects/
make
- name: Upload mac build
uses: actions/upload-artifact@v4
with:
name: build-pd-mac
path: build/*.d_fat
pd-linux-intel:
runs-on: ubuntu-latest
strategy:
matrix:
type: [ i386, x86_64 ]
steps:
- name: Checkout main repo
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Install multi-libgcc
if: matrix.type != 'x86_64'
run: |
sudo apt-get update -y
sudo apt-get install -y gcc-multilib
sudo apt-get install -y g++-multilib
- name: Build linux intel pd binary
run: |
cd FrameLib_PD_Objects/
make BUILD_TYPE=${{ matrix.type }}
- name: Upload linux intel build
uses: actions/upload-artifact@v4
with:
name: ${{ format('build-pd-linux-intel-{0}', matrix.type) }}
path: build/*.pd_linux
pd-linux-arm:
runs-on: ubuntu-latest
strategy:
matrix:
type: [ armv6, armv7, aarch64 ]
include:
- type: armv6
cpu: arm1176
base_image: raspios_lite:2022-01-28
- type: armv7
cpu: cortex-a7
base_image: raspios_lite:2022-01-28
- type: aarch64
cpu: cortex-a8
base_image: raspios_lite_arm64:2022-01-28
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: ARM runner
uses: pguyot/arm-runner-action@v2
with:
base_image: ${{ matrix.base_image }}
cpu: ${{ matrix.cpu }}
bind_mount_repository: true
image_additional_mb: 500
commands: |
cd FrameLib_PD_Objects/
make NAME_SUFFIX=${{ matrix.type }}
- name: Upload linux arm build
uses: actions/upload-artifact@v4
with:
name: ${{ format('build-pd-linux-arm-{0}', matrix.type) }}
path: build/*.pd_linux
pd-win:
runs-on: windows-latest
strategy:
matrix:
type: [ x86_64 ]
steps:
- name: Checkout main repo
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
install: mingw-w64-x86_64-gcc make
- name: Download PD
shell: bash
run: |
if [[ ${{ matrix.type }} == i386 ]]; then
PD_PACKAGE=https://msp.ucsd.edu/Software/pd-0.52-2-i386.msw.zip
else
PD_PACKAGE=https://msp.ucsd.edu/Software/pd-0.52-2.msw.zip
fi
cd FrameLib_PD_Objects/
curl $PD_PACKAGE --output pdzipped.zip
unzip pdzipped.zip -d ../../
- name: Build win pd binary
shell: msys2 {0}
run: |
cd FrameLib_PD_Objects/
make BUILD_TYPE=${{ matrix.type }}
- name: Upload win build
uses: actions/upload-artifact@v4
with:
name: ${{ format('build-pd-win-{0}', matrix.type) }}
path: build/*.dll
deploy:
runs-on: macos-latest
needs: [ max-mac, max-win, pd-mac, pd-linux-intel, pd-linux-arm, pd-win ]
steps:
- name: Checkout main repo
uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Get current date / make build folder
id: date
run: |
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
mkdir ../build
- name: Build max documentation
run: xcodebuild -project 'framelib.xcodeproj' -scheme 'framelib Max Documentation' -destination 'platform=OS X,arch=x86_64' -configuration Deployment -quiet build CODE_SIGNING_ALLOWED=YES
- name: Download builds
uses: actions/download-artifact@v4
with:
path: ../build/
- name: Move max externals into place
run: |
mkdir Packaging/Max/FrameLib/externals
mv ../build/build-mac/* Packaging/Max/FrameLib/externals
mv ../build/build-win/* Packaging/Max/FrameLib/externals
rm -d ../build/build-max-mac/
rm -d ../build/build-max-win/
- name: Sign and notarize max externals
uses: ./.github/actions/mac-notarization
with:
glob: '-e mxo'
folder: Packaging/Max/FrameLib/externals
team_id: ${{ secrets.TEAM_ID }}
apple_id: ${{ secrets.APPLE_ID }}
app_specific_pwd: ${{ secrets.APP_SPECIFIC_PWD }}
cert_pwd: ${{ secrets.CERT_PWD }}
cert_base64: ${{ secrets.CERT_BASE64}}
- name: Sign and notarize pd code
if: ${{ false }} # disable for now
uses: ./.github/actions/mac-notarization
with:
glob: '-e d_fat'
folder: ../build/
team_id: ${{ secrets.TEAM_ID }}
apple_id: ${{ secrets.APPLE_ID }}
app_specific_pwd: ${{ secrets.APP_SPECIFIC_PWD }}
cert_pwd: ${{ secrets.CERT_PWD }}
cert_base64: ${{ secrets.CERT_BASE64}}
- name: Zip pd files
run: |
cd ../build/
find . -type f -execdir zip '{}.zip' '{}' \;
- name: Zip max package
run: |
mkdir ../build/Max_Package
/usr/bin/ditto -c -k --norsrc --keepParent Packaging/Max/FrameLib/ ../build/Max_Package/FrameLib_Max_Package.zip
- name: Make release
uses: "softprops/action-gh-release@v1"
with:
prerelease: true
fail_on_unmatched_files: true
files: ../build/*/*.zip
target_commitish: ${{ github.sha }}
tag_name: framelib-latest-${{ github.ref_name }}-${{ steps.date.outputs.date }}
body: This is an automated build of FrameLib for max/pd.
generate_release_notes: true
0