Skip to content

Commit b3c4b64

Browse files
committed
v1.3.0
1 parent 562fab0 commit b3c4b64

5 files changed

Lines changed: 131 additions & 0 deletions

File tree

.github/workflows/lint.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
shellcheck:
11+
name: ShellCheck
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Run ShellCheck on root scripts
18+
run: |
19+
shellcheck --severity=error ssc.sh generate-manifest.sh install.sh
20+
21+
- name: Run ShellCheck on examples/
22+
run: |
23+
find examples -name "*.sh" -print0 | xargs -0 shellcheck --severity=error
24+
25+
syntax-check:
26+
name: Bash Syntax
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout code
30+
uses: actions/checkout@v4
31+
32+
- name: Validate Bash syntax
33+
run: |
34+
find . -name "*.sh" -not -path "./.git/*" -print0 | xargs -0 -I {} bash -n {}

.github/workflows/release.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
name: Create Release
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Create GitHub Release
20+
uses: softprops/action-gh-release@v1
21+
with:
22+
generate_release_notes: true
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.shellcheckrc

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# .shellcheckrc - Pi-Router + NAS Server shellcheck config
2+
# Multi-Device Setup: 552 Shell-Scripts (Pi 5: ~249, NAS: ~303)
3+
# Best Practices 2025 compliant
4+
# Optimized for ShellCheck 0.9.0+ (Last reviewed: 12. Dezember 2025)
5+
#
6+
# References:
7+
# - https://www.shellcheck.net/wiki/Directive
8+
# - https://www.shellcheck.net/wiki/Optional
9+
# - https://man.archlinux.org/man/extra/shellcheck/shellcheck.1.en
10+
11+
# ============================================================================
12+
# DISABLED CHECKS
13+
# ============================================================================
14+
15+
# SC1090: Can't follow non-constant source
16+
# SC1091: Not following sourced file
17+
# Rationale: Scripts use dynamic library paths (e.g., ${SCRIPT_DIR}/../lib/)
18+
# shellcheck cannot resolve these at static analysis time
19+
# Example: source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/../lib/logging.sh"
20+
disable=SC1090,SC1091
21+
22+
# ============================================================================
23+
# OPTIONAL CHECKS
24+
# ============================================================================
25+
26+
# NOT using enable=all (Best Practice 2025)
27+
# Reason: enable=all activates subjective/conflicting optional checks
28+
# meant for discovery only, not production
29+
# Instead: Selectively enable specific optional checks if needed
30+
#
31+
# Available optional checks (use shellcheck --list-optional):
32+
# - avoid-nullary-conditions, deprecate-which, quote-safe-variables, etc.
33+
34+
# No optional checks enabled (Production default)
35+
36+
# ============================================================================
37+
# CONFIGURATION
38+
# ============================================================================
39+
40+
# Shell dialect (Raspberry Pi OS Bookworm: bash 5.2.15, Ubuntu 24.04: bash 5.2.21)
41+
shell=bash
42+
43+
# Source path for library resolution
44+
# SCRIPTDIR = directory of currently checked script
45+
source-path=SCRIPTDIR
46+
47+
# Allow following source statements (Best Practice 2025)
48+
# Safely enables shellcheck to open sourced files where possible
49+
external-sources=true
50+
51+
# Minimum severity threshold (focus on errors + warnings)
52+
# Consistent with script-audit.sh Production-Ready threshold (85%+ clean)
53+
severity=warning

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ All notable changes to server-scripts-cli will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
## [1.3.0] - 2026-01-21
11+
12+
### Added
13+
- CI/CD pipeline with GitHub Actions
14+
- ShellCheck linting workflow (severity: error)
15+
- Bash syntax validation workflow
16+
- Automated release workflow (tag-triggered)
17+
- `.shellcheckrc` configuration (Best Practices 2025)
18+
- CI status badge in README.md
19+
20+
### Changed
21+
- All bash scripts now validated on every push to main branch
22+
- Automated GitHub Releases on version tags
23+
824
## [1.2.0] - 2026-01-20
925

1026
### Added
@@ -100,6 +116,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
100116
- Complete documentation suite
101117
- MIT License
102118

119+
[Unreleased]: https://github.com/fidpa/server-scripts-cli/compare/v1.3.0...HEAD
120+
[1.3.0]: https://github.com/fidpa/server-scripts-cli/compare/v1.2.0...v1.3.0
121+
[1.2.0]: https://github.com/fidpa/server-scripts-cli/compare/v1.1.1...v1.2.0
103122
[1.1.1]: https://github.com/fidpa/server-scripts-cli/compare/v1.1.0...v1.1.1
104123
[1.1.0]: https://github.com/fidpa/server-scripts-cli/compare/v1.0.0...v1.1.0
105124
[1.0.0]: https://github.com/fidpa/server-scripts-cli/releases/tag/v1.0.0

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/fidpa/server-scripts-cli/graphs/commit-activity)
88
[![YAML Config](https://img.shields.io/badge/Config-YAML-orange)](docs/MANIFEST_SCHEMA.md)
99
[![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md)
10+
![CI](https://github.com/fidpa/server-scripts-cli/actions/workflows/lint.yml/badge.svg)
1011

1112
**YAML-based script management for shell and Python scripts**
1213

0 commit comments

Comments
 (0)