name: tests on: [pull_request, push] jobs: tests: strategy: fail-fast: false matrix: os: - ubuntu-22.04 - ubuntu-20.04 - macos-12 - macos-11 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 # Normally, we would use the superbly maintained... # - uses: actions/setup-python@v2 # with: # python-version: ${{ matrix.python-version }} # ... but in the repo, we want to test pyenv builds on Ubuntu # - run: | # sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \ # libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ # xz-utils tk-dev libffi-dev liblzma-dev python-openssl git # https://github.com/pyenv/pyenv#installation #- env: # PYENV_ROOT: /home/runner/work/pyenv/pyenv # run: | # echo $PYENV_ROOT # echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH # macos-11 Github Actions env has an old `readlink` and lacks `greadlink` which causes Bats to break - run: | if [[ $RUNNER_OS == "macOS" ]] && [[ $(sw_vers -productVersion | awk -F. '{print $1}') -lt 12 ]]; then brew install coreutils fi - run: git clone https://github.com/bats-core/bats-core.git --depth=1 -b v1.2.0 bats - run: bats/bin/bats --tap test