Nightly-Homebrew-Build #92
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Only the "head" branch of the OpenBLAS package is tested | |
on: | |
push: | |
paths: | |
- '**/nightly-Homebrew-build.yml' | |
pull_request: | |
branches: | |
- develop | |
paths: | |
- '**/nightly-Homebrew-build.yml' | |
schedule: | |
- cron: 45 7 * * * | |
# This is 7:45 AM UTC daily, late at night in the USA | |
# Since push and pull_request will still always be building and testing the `develop` branch, | |
# it only makes sense to test if this file has been changed | |
name: Nightly-Homebrew-Build | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
build-OpenBLAS-with-Homebrew: | |
runs-on: macos-latest | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_11.4.1.app/Contents/Developer | |
HOMEBREW_DEVELOPER: "ON" | |
HOMEBREW_DISPLAY_INSTALL_TIMES: "ON" | |
HOMEBREW_NO_ANALYTICS: "ON" | |
HOMEBREW_NO_AUTO_UPDATE: "ON" | |
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: "ON" | |
HOMEBREW_NO_INSTALL_CLEANUP: "ON" | |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: "ON" | |
HOMEBREW_NO_INSTALL_FROM_API: "ON" | |
steps: | |
- name: Random delay for cron job | |
run: | | |
delay=$(( RANDOM % 600 )) | |
printf 'Delaying for %s seconds on event %s' ${delay} "${{ github.event_name }}" | |
sleep ${delay} | |
if: github.event_name == 'schedule' | |
- uses: actions/checkout@v2 | |
# This isn't even needed, technically. Homebrew will get `develop` via git | |
- name: Update Homebrew | |
if: github.event_name != 'pull_request' | |
run: brew update || true | |
- name: Install prerequisites | |
run: brew install --fetch-HEAD --HEAD --only-dependencies --keep-tmp openblas | |
- name: Install and bottle OpenBLAS | |
run: brew install --fetch-HEAD --HEAD --build-bottle --keep-tmp openblas | |
# the HEAD flags tell Homebrew to build the develop branch fetch via git | |
- name: Create bottle | |
run: | | |
brew bottle -v openblas | |
mkdir bottles | |
mv *.bottle.tar.gz bottles | |
- name: Upload bottle | |
uses: actions/upload-artifact@v1 | |
with: | |
name: openblas--HEAD.catalina.bottle.tar.gz | |
path: bottles | |
- name: Show linkage | |
run: brew linkage -v openblas | |
- name: Test openblas | |
run: brew test --HEAD --verbose openblas | |
- name: Audit openblas formula | |
run: | | |
brew audit --strict openblas | |
brew cat openblas | |
- name: Post logs on failure | |
if: failure() | |
run: brew gist-logs --with-hostname -v openblas |