name: Go Tests on: workflow_dispatch: pull_request: schedule: - cron: '0 0 * * *' push: branches: [ master ] jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] fail-fast: false steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.18 - name: Linux Setup if: ${{ !startsWith(github.event.head_commit.message, 'Release') && matrix.os == 'ubuntu-latest'}} run: | # Install our dependencies sudo apt-get update sudo apt-get install -y zsh tmux fish # Work around a weird bug where zsh on ubuntu actions gives that directory 0777 which makes zsh refuse to start sudo chmod 0755 -R /usr/share/zsh/ # Set a consistent hostname so we can run tests that depend on it sudo hostname ghaction-runner-hostname # Set up a tmpfs for ~/.hishtory/ to help tests run faster mkdir ~/.hishtory/ sudo mount -t tmpfs -o size=500M hishtory-tmpfs ~/.hishtory/ - name: MacOS Setup if: ${{ !startsWith(github.event.head_commit.message, 'Release') && matrix.os == 'macos-latest'}} run: | # Install our dependencies brew install fish tmux bash # Set a consistent hostname so we can run tests that depend on it sudo scutil --set HostName ghaction-runner-hostname # Set up a tmpfs for ~/.hishtory/ to help tests run faster sudo diskutil apfs create $(sudo hdiutil attach -nomount ram://1024000) tmpfs ln -s /Volumes/tmpfs ~/.hishtory - name: Go test if: ${{ !startsWith(github.event.head_commit.message, 'Release') }} run: | make test # - name: Setup tmate session # if: ${{ failure() }} # uses: mxschmitt/action-tmate@v3 # with: # limit-access-to-actor: true