Skip to content

Add tmux feature#106

Open
Copilot wants to merge 6 commits intomainfrom
copilot/add-tmux-feature
Open

Add tmux feature#106
Copilot wants to merge 6 commits intomainfrom
copilot/add-tmux-feature

Conversation

Copy link
Contributor

Copilot AI commented Mar 19, 2026

Adds a tmux devcontainer feature. Since tmux only ships source tarballs on GitHub releases (no pre-built binaries), the install script builds from source using the repo's standard create-feature-skill patterns.

Changes

  • src/tmux/devcontainer-feature.json — Feature metadata; version option defaults to latest, accepts tmux's X.Y[a] format (e.g. 3.5a, 3.4)
  • src/tmux/install.sh — Builds tmux from the GitHub release source tarball following the standard create-feature-skill boilerplate:
    • Uses check_curl_file_tar_installed (standard name) with file, curl, tar, and ca-certificates checks
    • Installs build deps: build-essential, pkg-config, libevent-dev, libncurses-dev, bison
    • Adapts github_list_releases / utils_check_version regex to ^[0-9]+\.[0-9]+[a-z]?$ for tmux's X.Y[a] versioning scheme
    • Resolves latest/pinned release tag via GitHub API, downloads source tarball, builds with ./configure --prefix=/usr/local + make install
  • src/tmux/NOTES.md — Notes file with project link, description, and installation method
  • src/tmux/README.md — Auto-generated README combining feature metadata and NOTES.md content
  • test/tmux/test.sh — Asserts tmux -V | grep 'tmux'
  • .github/workflows/test.yaml — Updated to match main branch: replaced hardcoded feature matrix lists with dynamic changed-feature detection (new get-changed-features job)
  • README.md — Added tmux entry to the root features table (synced with main)
Original prompt

This section details on the original issue you should resolve

<issue_title>Add tmux feature</issue_title>
<issue_description>Files:

src/tmux/devcontainer-feature.json
src/tmux/install.sh (make sure to set executable bit)
test/tmux/test.sh
.github/workflows/test.yaml

Releases:

https://github.com/tmux/tmux/releases</issue_description>

<agent_instructions>install from github releases with known patterns for install.sh</agent_instructions>

Comments on the Issue (you are @copilot in this section)


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copilot AI changed the title [WIP] Add tmux feature to devcontainer Add tmux feature Mar 19, 2026
Copilot AI requested a review from sebst March 19, 2026 09:30
@sebst sebst marked this pull request as ready for review March 19, 2026 09:32
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests fail

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

tests fail

Fixed in b8f9144. The test-autogenerated job was failing with bash: autogen.sh: No such file or directory because tmux release tarballs include a pre-generated configure script and don't ship autogen.sh. Removed the autogen.sh step along with the now-unneeded autoconf/automake/bison build deps — the install now just runs ./configure --prefix=/usr/local && make install directly.

Copilot AI requested a review from sebst March 19, 2026 10:16
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests still failing

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

tests still failing

Fixed in bf86955. The new failure was configure: error: "yacc not found" — tmux's ./configure requires yacc, which is provided by bison. The previous fix incorrectly removed bison along with autoconf/automake. Added bison back to the build deps.

Copilot AI requested a review from sebst March 19, 2026 11:29
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rework feature based on create feature skill

Copy link
Contributor Author

Copilot AI commented Mar 23, 2026

Rework feature based on create feature skill

Done in 2cf4f10. Reworked install.sh to match the standard create-feature-skill pattern:

  • Renamed check_curl_tar_installedcheck_curl_file_tar_installed (standard name matching atuin.sh, btop, etc.)
  • Added file command check and explicit apt_get_update call before installing missing packages
  • All other boilerplate functions (version checking, GitHub release helpers, etc.) match the standard skill template with only the minimum adaptations for tmux's X.Y[a] versioning

Copilot AI requested a review from sebst March 23, 2026 09:09
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notes.md missing
Workflow file not up to date with main
Missing readme entry

Please obey the skill

Copy link
Contributor Author

Copilot AI commented Mar 23, 2026

Notes.md missing
Workflow file not up to date with main
Missing readme entry...

Done in 2cde966:

  • Added src/tmux/NOTES.md with project link, description, and installation method
  • Added src/tmux/README.md (auto-generated format combining feature metadata + NOTES.md)
  • Updated .github/workflows/test.yaml to match main's dynamic changed-feature detection (replacing the hardcoded feature list)
  • Updated root README.md to match main's full features table, with the tmux entry added between tailscale.com and webinstall.dev

Copilot AI requested a review from sebst March 23, 2026 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add tmux feature

2 participants