hishtory/.github/workflows/go-test.yml

62 lines
1.9 KiB
YAML

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