Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Test installer regressions without network access
run: python3 -m unittest discover -s tests -v

- name: Install Zsh and Fish on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
Expand All @@ -36,7 +39,7 @@ jobs:
run: |
mkdir -p ~/.config/fish
mkdir -p ~/.zsh
touch ~/.bashrc
touch ~/.bashrc ~/.zshrc ~/.config/fish/config.fish

- name: Test install script in Zsh
if: matrix.shell == 'zsh'
Expand All @@ -49,6 +52,10 @@ jobs:
bash ./install.bash
shell: fish {0}

- name: Test install script in Bash
if: matrix.shell == 'bash'
run: bash ./install.bash

- name: Verify installation
run: |
if [ "${{ matrix.shell }}" = "zsh" ]; then
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,6 @@ dist
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Python installer regression tests
__pycache__/
7 changes: 6 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ This is the **shelltime installation** repository - a collection of shell script

## Testing

Run the CI workflow locally or on GitHub Actions:
Run the isolated regression suite with Python 3 (also run by CI):
```bash
python3 -m unittest discover -s tests -v
```

Run the shell installation workflow locally or on GitHub Actions:
```bash
# The test workflow runs on ubuntu-latest and macos-latest
# Testing shells: zsh, fish, bash
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ Welcome to shelltime! This guide will help you install the necessary tools using

## Quick Install

The installer supports macOS and Linux (including WSL). A failed binary download
stops installation. If a hook download fails, its existing hook and backup are
preserved while the remaining hooks and daemon setup continue. The installer
then exits with an error so you can retry. Upgrades migrate existing source lines
without loading hooks twice.

You can install shelltime tools by running the following command in your terminal:

```bash
Expand All @@ -16,6 +22,12 @@ Once the installation script finishes successfully, you should be able to track

Visit [shelltime.xyz](https://shelltime.xyz) for guides and usage documentation.

## Testing

Run `python3 -m unittest discover -s tests` to check upgrades, download failures,
paths containing spaces, and platform detection without network requests or
changes to your shell configuration. CI runs these tests on Linux and macOS.

## Having Issues?

If you encounter any problems during the installation or have any questions, please:
Expand Down
Loading
Loading