Skip to content

ci: Test with tmux 3.4 #197

ci: Test with tmux 3.4

ci: Test with tmux 3.4 #197

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ '*' ]
workflow_dispatch:
env:
GO_VERSION: 1.22.x
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check out repository
- uses: actions/setup-go@v5
name: Set up Go
with:
go-version: ${{ env.GO_VERSION }}
cache: false
- uses: golangci/golangci-lint-action@v5
name: Install golangci-lint
with:
version: latest
args: --help
- run: make lint
name: Lint
test:
runs-on: ubuntu-latest
name: Unit Test
steps:
- uses: actions/checkout@v4
name: Check out repository
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Build tmux-fastcopy
run: make build
- name: Test
run: PATH="$HOME/.local/bin:$PATH" make cover
- name: Coverage
uses: codecov/codecov-action@v4
with:
files: ./cover.out
integration:
runs-on: ubuntu-latest
name: Integration Test / Tmux ${{ matrix.tmux-version }}
strategy:
matrix:
tmux-version: ["3.4", "3.3a", "3.2a", "3.1c", "3.0a", "2.9a", "2.8", "2.7"]
steps:
- uses: actions/checkout@v4
name: Check out repository
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Checkout Tmux
uses: actions/checkout@v4
with:
repository: tmux/tmux
ref: ${{ matrix.tmux-version }}
path: src/tmux
- name: Load cached Tmux
uses: actions/cache@v4
with:
path: ~/.local
key: ${{ runner.os }}-tmux-${{ matrix.tmux-version }}
- name: Download and install dependencies
run: |
sudo apt-get install -y libevent-dev libncurses-dev
- name: Install Tmux
working-directory: src/tmux
run: |
if [[ ! -x "$HOME/.local/bin/tmux" ]]; then
sh autogen.sh
./configure --prefix="$HOME/.local"
make install
else
echo "Using cached tmux"
fi
- name: Build tmux-fastcopy
run: make build
- name: Integration test
run: make cover-integration
- name: Coverage
uses: codecov/codecov-action@v4
with:
files: ./cover.integration.out