tmuxinator/tmuxinator

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
# continuous integration workflow based on old travis-ci configuration

name: Integration Tests
on:
  - push
  - pull_request
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        ruby_version:
          - '3.3.0'
          - '3.2.3'
          - '3.1.4'
          - '3.0.6'
        tmux_version:
          - '3.4'
          - '3.3a'
          - '3.3'
          - '3.2a'
          - '3.2'
          - '3.1c'
          - '3.1b'
          - '3.1a'
          - '3.1'
          - '3.0a'
          - '3.0'
          - '2.9a'
          - '2.9'
          - '2.8'
          - '2.7'
          - '2.6'
          - '2.5'
          - '2.4'
          - '2.3'
          - '2.2'
          - '2.1'
          - '2.0'
          - '1.9'
          - '1.8'
          - '1.7'
          - '1.6'
          - '1.5'

    steps:
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby_version }}
        bundler-cache: true

    - name: "Install tmux ${{ matrix.tmux_version }}"
      run: |
        # build dependencies
        sudo apt-get update -qq
        # note: pkg-config must be installed before dep libs or the build fails
        sudo apt-get install -y -qq pkg-config build-essential autoconf automake bison git
        sudo apt-get install -y libevent-dev libncurses-dev

        # build and install tmux
        git clone https://github.com/tmux/tmux.git tmux
        cd tmux
        git checkout ${{ matrix.tmux_version }}
        bash autogen.sh
        bash ./configure && make && sudo make install
        cd ..
        tmux -V

    - uses: actions/checkout@v4
    - name: "Test ruby ${{ matrix.ruby_version }} tmux ${{ matrix.tmux_version }}"
      run: |
        bundle install
        bundle exec rake test