|
|
|
@@ -0,0 +1,78 @@ |
|
|
|
# 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 |
|
|
|
jobs: |
|
|
|
build-OpenBLAS-with-Homebrew: |
|
|
|
runs-on: macos-latest |
|
|
|
env: |
|
|
|
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" |
|
|
|
|
|
|
|
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 |