diff options
Diffstat (limited to '.github/workflows/intel_macos_build.yml')
-rw-r--r-- | .github/workflows/intel_macos_build.yml | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/.github/workflows/intel_macos_build.yml b/.github/workflows/intel_macos_build.yml deleted file mode 100644 index fc1def70762..00000000000 --- a/.github/workflows/intel_macos_build.yml +++ /dev/null @@ -1,200 +0,0 @@ -name: Intel MacOS Build - -env: - OPENBB_ENABLE_QUICK_EXIT: true - OPENBB_LOG_COLLECT: false - OPENBB_USE_ION: false - OPENBB_USE_PROMPT_TOOLKIT: false - OPENBB_FILE_OVERWRITE: true - PIP_DEFAULT_TIMEOUT: 100 - PYTHONNOUSERSITE: 1 - -on: workflow_dispatch - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - Build: - name: Intel MacOS Build - runs-on: [self-hosted, macos, x64] - steps: - # Checkout repository main branch. this allows for the commit hashes to line up - - name: Checkout - uses: actions/checkout@v3 - - name: Git Log - run: git log - # Install create-dmg - - name: Install create-dmg - run: brew install create-dmg - # The following commands to clear previous PATHS and restore to defaults since we have to maintain the instance ourselves - - name: Clean Previous Path - run: | - export PATH="" - export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" - echo $PATH - # Set up caching for conda env so that the workflow runs quickly after the first time - - name: Setup Conda Caching - uses: actions/cache@v3 - with: - path: ~/conda_pkgs_dir - key: conda-macos-3-9-${{ hashFiles('build/conda/conda-3-9-env-full.yaml') }} - # Set up miniconda using the environment yaml file within the repo - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2.2.0 - with: - miniconda-version: "latest" - auto-update-conda: true - channels: conda-forge,defaults - show-channel-urls: true - channel-priority: flexible - environment-file: build/conda/conda-3-9-env-full.yaml - activate-environment: build_env - use-only-tar-bz2: true # Needed for caching some reason - - name: Install requirements - run: | - pip list - python -m pip install -r requirements-full.txt - - name: Install Specific Papermill - run: | - pip list - pip uninstall papermill -y - pip install git+https://github.com/nteract/papermill.git@main - # This is basically the same as build4mac.sh - - name: Build Bundle - run: | - pip list - python -m PyInstaller build/pyinstaller/terminal.spec --clean - osascript build/pyinstaller/setup_icons.applescript - mkdir DMG - cp -r build/pyinstaller/macOS_package_assets/* DMG/ - mv dist/OpenBBTerminal DMG/OpenBB\ Terminal/.OpenBB - - name: Creating Keychain - env: - MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} - MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} - MACOS_KEYCHAIN_PWD: ${{ secrets.MACOS_KEYCHAIN_PWD }} - MACOS_CODESIGN_IDENTITY: ${{ secrets.MACOS_CODESIGN_IDENTITY }} - run: | # when pushing to main, make to generate new cert, and utilize secrets to store new password, and identity - echo "Decoding" - echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12 - echo "Creating Keychain" - security create-keychain -p $MACOS_KEYCHAIN_PWD build.keychain - echo "Setting Default Keychain" - security default-keychain -s build.keychain - echo "Unlocking Keychain" - security unlock-keychain -p $MACOS_KEYCHAIN_PWD build.keychain - echo "Importing Keychain" - security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign - echo "Setting Partition List" - security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $MACOS_KEYCHAIN_PWD build.keychain - - name: Codesign Specific Binaries - env: - MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} - MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} - MACOS_KEYCHAIN_PWD: ${{ secrets.MACOS_KEYCHAIN_PWD }} - MACOS_CODESIGN_IDENTITY: ${{ secrets.MACOS_CODESIGN_IDENTITY }} - run: | - echo "Code Signing SO Files" - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*.so - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*.so - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*.so - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*/*.so - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*/*/*.so - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*/*/*/*.so - echo "Code Signing DYLIB Files" - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/*/*/*/*/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/.dylibs/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/stan/lib/stan_math/lib/tbb/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/torch/.dylibs/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/sklearn/.dylibs/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/scipy/.dylibs/*.dylib - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/xgboost/.dylibs/*.dylib - - echo "Code Signing Other Files" - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/prophet_model.bin - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/bin/diagnose - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/bin/print - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/bin/stanc - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/bin/stansummary - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/pyarrow/plasma-store-server - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/torch/bin/protoc - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/torch/bin/protoc-3.13.0.0 - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/torch/bin/torch_shm_manager - echo "Code Sign OpenBB Executable File" - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/OpenBBTerminal - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/OpenBBPlotsBackend - - name: Create DMG - run: create-dmg --volname "OpenBB Terminal" --volicon "images/dmg_volume.icns" --background "images/openbb_dmg_background.png" --icon "OpenBB Terminal" 190 250 --window-pos 190 120 --window-size 800 400 --icon-size 100 --text-size 14 --app-drop-link 600 250 --eula LICENSE --format UDZO --no-internet-enable "OpenBB Terminal".dmg DMG - - name: Code Sign DMG Installer - env: - MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} - MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} - MACOS_KEYCHAIN_PWD: ${{ secrets.MACOS_KEYCHAIN_PWD }} - MACOS_CODESIGN_IDENTITY: ${{ secrets.MACOS_CODESIGN_IDENTITY }} - run: | - echo "Code Signing DMG Installer" - /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY OpenBB\ Terminal.dmg - echo "Verify Signing" - codesign --verify --deep --strict --verbose=2 OpenBB\ Terminal.dmg - - name: Deleting Previous Keychain - run: | - echo "Deleting Previous Keychain to Clean Instance" - rm -rf /Users/openbb/Library/Keychains/build.keychain-db - - name: Clean up Build Artifacts - run: | - rm -rf build/terminal - rm -rf dist - rm -rf DMG - - name: Notarize DMG - env: - NOTARIZE_APPLE_ID: ${{ secrets.NOTARIZE_APPLE_ID }} - NOTARIZE_APPLE_PWD: ${{ secrets.NOTARIZE_APPLE_PWD }} - NOTARIZE_APPLE_TEAM_ID: ${{ secrets.NOTARIZE_APPLE_TEAM_ID }} - run: | - xcrun notarytool submit OpenBB\ Terminal.dmg --apple-id "$NOTARIZE_APPLE_ID" --password "$NOTARIZE_APPLE_PWD" --team-id "$NOTARIZE_APPLE_TEAM_ID" --wait - - name: Staple - run: | - xcrun stapler staple "OpenBB Terminal.dmg" - - name: Save Build Artifact DMG - uses: actions/upload-artifact@v3 - with: - name: Intel MacOS DMG Artifact - path: OpenBB\ Terminal.dmg - - name: Convert & Mount DMG - run: | # Remove the converting disc image at the end - hdiutil convert OpenBB\ Terminal.dmg -format UDTO -o openbbterminal.cdr - hdiutil attach openbbterminal.cdr - rm -rf openbbterminal.cdr - - name: Directory Change - run: | - cd - cd /Volumes/OpenBB\ Terminal - ls - cp -R OpenBB\ Terminal ~/Desktop - - name: Unmount DMG - run: hdiutil detach /dev/disk2 - - - name: Run Integration Tests - run: | - /Users/openbb/Desktop/OpenBB\ Terminal/.OpenBB/OpenBBTerminal -t -s forecast cryptocurrency reports alternative economy futures econometrics dashboards portfolio stocks/test_stocks_options_screen.openbb stocks/test_stocks_options.openbb forex etf stocks/test_stocks_fa.openbb > result.txt - cat result.txt - grep "================================ integration test summary ================================" result.txt -A100 | tail --bytes=2000 > failed_tests.txt - - - name: Upload summary to Slack - uses: adrey/slack-file-upload-action@master - with: - token: ${{ secrets.SLACK_API_TOKEN }} - initial_comment: "Intel MacOs Build Integration test summary" - title: "Intel MacOs Build Integration test summary" - path: failed_tests.txt - channel: ${{ secrets.SLACK_CHANNEL_ID }} - - - name: Remove OpenBB Folder - run: rm -rf /Users/openbb/Desktop/OpenBB\ Terminal - - name: Remove OpenBB Exports Folder - run: rm -rf ~/Desktop/OPENBB-exports |