Skip to content

Commit

Permalink
Merge branch 'main' into tui-spacing
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisTitusTech authored Oct 31, 2024
2 parents 5944d84 + ad678b2 commit 64b0b2a
Show file tree
Hide file tree
Showing 91 changed files with 2,023 additions and 893 deletions.
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[alias]
xtask = "run --package xtask --"
2 changes: 2 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ cd linutil
```

## 3. Make your changes

- **Edit the files you want to change**: Make your changes to the relevant files.
- **Test your changes**: Run `cargo run` to test your modifications in a local environment and ensure everything works as expected.

Expand Down Expand Up @@ -60,6 +61,7 @@ cd linutil
## 11. Documentation

- **Update the documentation**: If your change affects the functionality, please update the relevant documentation files to reflect this.
- **Automatic generation**: If you decide to add functionality through a new shell script, make sure to fill out all fields in `tab_data.toml` and run `cargo xtask docgen`.

## 12. License

Expand Down
19 changes: 13 additions & 6 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,20 @@

## Supported Versions

It is recommended that you run the stable version as this is more tested and used by most. The dev branch is bleed-edge commits that are not well tested and aren't meant to be used in production environments
It is recommended that you use the stable branch as it's tested and used by most. The dev branch may contain bleeding-edge commits that are not well tested and are not meant to be used in production environments.<br>
Version tags lower than the [latest stable release](https://github.com/ChrisTitusTech/linutil/releases/latest) are **not** supported.

| Version | Supported |
| ------- | ------------------ |
| latest | :white_check_mark: |
| dev | :x: |
| Branch | Supported |
| ------- | ---------------------- |
| Stable | :white_check_mark: YES |
| Dev | :x: NO |

| Version | Supported |
| -------------------------------------------------- | ---------------------- |
| [![LATEST](https://img.shields.io/github/v/release/ChrisTitusTech/linutil?color=%230567ff&label=Latest&style=for-the-badge)](https://github.com/ChrisTitusTech/linutil/releases/latest) | :white_check_mark: YES |
| Below LATEST | :x: NO |
| Above LATEST | :x: NO |

## Reporting a Vulnerability

I'd recommend making an Issue for reporting a bug. If you would like privately submit the bug you can email me at [email protected]
If you have any reason to believe there are security vulnerabilities in Linutil, fill out the [report form](https://github.com/christitustech/linutil/security/advisories/new) or e-mail [[email protected]](mailto:[email protected]).
4 changes: 2 additions & 2 deletions .github/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ nav:
- Introduction: 'index.md'
- User Guide: 'userguide.md'
- Contributing:
- Contributing Guide: 'contribute.md'
- Contributing Guide: 'contributing.md'
- Roadmap: 'roadmap.md'
- Documentation:
- Known Issues: 'KnownIssues.md'
Expand Down Expand Up @@ -86,4 +86,4 @@ plugins:
minify_html: true
htmlmin_opts:
remove_comments: true
cache_safe: true
cache_safe: true
29 changes: 22 additions & 7 deletions .github/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,34 @@ changelog:
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '⚙️ Refactoring'
labels:
- 'refactor'
- title: '🧩 UI/UX'
labels:
- 'UI/UX'
- title: '📚 Documentation'
label: 'documentation'
labels:
- 'documentation'
- title: '🔒 Security'
label: 'security'
labels:
- 'security'
- title: '🧰 GitHub Actions'
label: 'github actions'
labels:
- 'github_actions'
- title: '🦀 Rust'
labels:
- 'rust'
- title: '📃 Scripting'
labels:
- 'script'
- title: 'Other Changes'
labels:
- "*"
exclude:
labels:
- 'skip-changelog'
- 'skip-changelog'
24 changes: 17 additions & 7 deletions .github/workflows/bashisms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,27 @@ jobs:
id: get_sh_files
run: |
sh_files=$(git diff --name-only origin/${{ github.base_ref }} HEAD core/tabs | grep '\.sh$' || true)
echo "::set-output name=sh_files::$sh_files"
if [ -n "$sh_files" ]; then
echo "$sh_files" > changed_files
echo "changed=1" >> $GITHUB_OUTPUT
else
echo "changed=0" >> $GITHUB_OUTPUT
fi
- name: Install devscripts
if: steps.get_sh_files.outputs.sh_files != ''
if: steps.get_sh_files.outputs.changed == 1
run: sudo apt-get update && sudo apt-get install devscripts

- name: Check for bashisms
if: steps.get_sh_files.outputs.sh_files != ''
if: steps.get_sh_files.outputs.changed == 1
run: |
for file in ${{ steps.get_sh_files.outputs.sh_files }}; do
if [[ -f "$file" ]]; then
checkbashisms "$file"
fi
echo "Running for:\n$(cat changed_files)\n"
for file in $(cat changed_files); do
if [[ -f "$file" ]]; then
checkbashisms "$file"
fi
done
- name: Remove the created file
if: steps.get_sh_files.outputs.changed == 1
run: rm changed_files
11 changes: 11 additions & 0 deletions .github/workflows/github-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,17 @@ jobs:
with:
fetch-depth: '0' # Fetch all commit history for all branches as well as tags.

- name: Copy Contributing Guidelines
run: |
echo -e "<!-- THIS FILE IS GENERATED AUTOMATICALLY. EDIT .github/CONTRIBUTING.md -->\n\n$(cat .github/CONTRIBUTING.md)" > 'docs/contributing.md'
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Commit Contributing Guidelines
file_pattern: "docs/contributing.md"
add_options: '--force'
if: success()

- name: Setup Python
uses: actions/setup-python@v5
with:
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/linutil.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,24 @@ jobs:
env:
version: ${{ env.version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Preview
run: |
echo "$(pwd)/build" >> $GITHUB_PATH
- name: Generate preview
uses: charmbracelet/[email protected]
with:
path: "docs/assets/preview.tape"

- name: Move preview
run: |
mv preview.gif docs/assets/preview.gif
- name: Upload preview
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Preview for ${{ env.version }}
file_pattern: "docs/assets/preview.gif"
add_options: "--force"
if: success()
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches: ["main"]
paths:
- '**/*.rs'
- 'Cargo.toml'
- '**/Cargo.toml'
- 'Cargo.lock'

env:
Expand Down
38 changes: 21 additions & 17 deletions .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,34 @@
name: ShellCheck
name: Script Checks

on:
pull_request:
paths:
- 'core/tabs/**/*.sh'
- '**/*.sh'
workflow_dispatch:

jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git fetch origin ${{ github.base_ref }}
- name: Checkout sources
uses: actions/checkout@v4

- name: Download and set up shellcheck
run : |
wget https://github.com/koalaman/shellcheck/releases/download/v0.10.0/shellcheck-v0.10.0.linux.x86_64.tar.xz
tar -xf shellcheck-v0.10.0.linux.x86_64.tar.xz
cd shellcheck-v0.10.0
chmod +x shellcheck
- name: Run ShellCheck
uses: reviewdog/action-shellcheck@v1
with:
reviewdog_flags: '-fail-level=any'

- name: Run shellcheck
run: |
for file in $(git diff --name-only origin/${{ github.base_ref }} HEAD core/tabs); do
if [[ "$file" == *.sh ]] && [[ -f "$file" ]]; then
./shellcheck-v0.10.0/shellcheck -S error "$file"
fi
done
shfmt:
name: Shell Fomatting
runs-on: ubuntu-latest
needs: shellcheck
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Run shfmt
uses: reviewdog/action-shfmt@v1
with:
shfmt_flags: '-i 4 -ci'
reviewdog_flags: '-fail-level=any'
15 changes: 15 additions & 0 deletions .github/workflows/typos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Check for typos

on:
[push, pull_request, workflow_dispatch]

jobs:
check-typos:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- run: git fetch origin ${{ github.base_ref }}

- name: Run spellcheck
uses: crate-ci/[email protected]
58 changes: 58 additions & 0 deletions .github/workflows/xtask.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: XTasks

on:
pull_request:
paths:
- "xtask"
- "Cargo.toml"
- "Cargo.lock"
- ".cargo"
- "core/tabs"
- "docs"
push:
paths:
- "xtask"
- "Cargo.toml"
- "Cargo.lock"
- ".cargo"
- "core/tabs"
- "docs"

env:
CARGO_TERM_COLOR: always

jobs:
docgen:
name: DocGen
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-registry-

- name: Cache Cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-index-

- name: Run cargo xtask docgen
run: cargo xtask docgen

- name: Check uncommitted documentation changes
run: |
git diff
git diff-files --quiet \
|| (echo "Run 'cargo xtask docgen' and push the changes" \
&& exit 1)
Loading

0 comments on commit 64b0b2a

Please sign in to comment.