Skip to content

Commit

Permalink
added tests-arm workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
mahrud committed Jan 15, 2024
1 parent 25c187a commit e08184e
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
HOMEBREW_GITHUB_PACKAGES_TOKEN: ${{ github.token }}
HOMEBREW_GITHUB_PACKAGES_USER: ${{ github.actor }}
PULL_REQUEST: ${{ github.event.pull_request.number }}
run: brew pr-pull --debug --tap=$GITHUB_REPOSITORY $PULL_REQUEST
run: brew pr-pull --debug --workflows=tests.yml,tests-arm.yml --tap=$GITHUB_REPOSITORY $PULL_REQUEST

- name: Push commits
uses: Homebrew/actions/git-try-push@master
Expand Down
67 changes: 67 additions & 0 deletions .github/workflows/tests-arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: MacOS ARM brew test-bot
on:
push:
branches:
- main
pull_request:

jobs:
test-bot:
strategy:
matrix:
os: [macos-12-arm, macos-13-arm]
runs-on: ${{ matrix.os }}
steps:
- name: Install Rosetta for any x86 arch operations
continue-on-error: true
run: softwareupdate --install-rosetta --agree-to-license

# Fixes issue that resulted in "npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
- name: Reinstall Brew packages to fix npm error
continue-on-error: true
run: |
arch -arm64 brew reinstall [email protected]
arch -arm64 brew reinstall ca-certificates
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master

- name: Cache Homebrew Bundler RubyGems
id: cache
uses: actions/cache@v1
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}
restore-keys: ${{ runner.os }}-rubygems-

- name: Install Homebrew Bundler RubyGems
if: steps.cache.outputs.cache-hit != 'true'
run: brew install-bundler-gems

# For macos 11 and 12, we need to add the arch prefix for all brew commands even though
# running brew commands directly on the box works fine.
- run: arch -arm64 brew test-bot --only-cleanup-before
continue-on-error: true

- run: arch -arm64 brew test-bot --only-setup

# GitHubPrivateRepositoryDownloadStrategy causes brew style check failures so temporarily disable
# - run: arch -arm64 brew test-bot --only-tap-syntax

# --skip-online-checks is needed so that private github urls are not
# rejected in homebrew audit steps since these urls will return 404 not
# found unless using a github PAT with access to the repo
- run: arch -arm64 brew test-bot --only-formulae --skip-online-checks
# This is a temporary fix since our zli bulids x86 AND arm which results in a useless error
continue-on-error: true
if: github.event_name == 'pull_request'
env:
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.ROLE_ACCOUNT_GH_ACCESS_TOKEN }}

- name: Upload bottles as artifact
if: always() && github.event_name == 'pull_request'
uses: actions/upload-artifact@v3
with:
name: bottles
path: '*.bottle.*'

0 comments on commit e08184e

Please sign in to comment.