diff --git a/.github/workflows/ic.yml b/.github/workflows/ic.yml new file mode 100644 index 00000000..cdbe29fa --- /dev/null +++ b/.github/workflows/ic.yml @@ -0,0 +1,101 @@ +name: Build and Test + +on: [push, pull_request] + +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install dependencies for Linux + if: runner.os == 'Linux' + run: | + sudo apt-get update -qq + sudo apt-get -y install bison \ + autotools-dev \ + libncurses5-dev \ + libevent-dev \ + pkg-config \ + libutempter-dev \ + build-essential + if [ "${{ matrix.build }}" == "musl" ] || [ "${{ matrix.build }}" == "musl-static" ]; then + sudo apt-get -y install musl-dev \ + musl-tools + fi + + # Add steps for other operating systems if needed, similar to the Linux steps above. + + - name: Build tmux + run: | + sh autogen.sh + ./configure + make + + # Add additional steps for running tests if applicable. + - name: Run Tests + working-directory: ./regress + run: | + chmod +x am-terminal.sh + ./am-terminal.sh + chmod +x capture-pane-hyperlink.sh + ./capture-pane-hyperlink.sh + chmod +x combine-test.sh + sh combine-test.sh + chmod +x command-order.sh + sh command-order.sh + chmod +x conf-syntax.sh + sh conf-syntax.sh + chmod +x control-client-sanity.sh + sh control-client-sanity.sh + chmod +x cursor-test1.sh + sh cursor-test1.sh + chmod +x cursor-test2.sh + sh cursor-test2.sh + chmod +x cursor-test3.sh + sh cursor-test3.sh + chmod +x cursor-test4.sh + sh cursor-test4.sh + chmod +x has-session-return.sh + sh has-session-return.sh + chmod +x if-shell-error.sh + sh if-shell-error.sh + chmod +x if-shell-nested.sh + sh if-shell-nested.sh + chmod +x if-shell-TERM.sh + sh if-shell-TERM.sh + chmod +x input-keys.sh + sh input-keys.sh + chmod +x kill-session-process-exit.sh + sh kill-session-process-exit.sh + chmod +x new-session-base-index.sh + sh new-session-base-index.sh + chmod +x new-window-command.sh + sh new-window-command.sh + chmod +x osc-11colours.sh + sh osc-11colours.sh + chmod +x style-trim.sh + sh style-trim.sh + chmod +x control-client-size.sh + sh control-client-size.sh + chmod +x new-session-no-client.sh + sh new-session-no-client.sh + chmod +x new-session-size.sh + sh new-session-size.sh + chmod +x new-session-command.sh + sh new-session-command.sh + ## chmod +x tty-keys.sh + ## sh tty-keys.sh + ## chmod +x format-strings.sh + ## sh format-strings.sh + ## chmod +x copy-mode-test-emacs.sh + ## sh copy-mode-test-emacs.sh + ## chmod +x copy-mode-test-vi.sh + ## sh copy-mode-test-vi.sh + ## chmod +x new-session-environment.sh + ## sh new-session-environment.sh + + + + +