opsscript-gate 0.8.2__tar.gz → 0.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflow-templates/opsscript-gate.yml +1 -1
  2. opsscript_gate-0.8.3/.github/workflows/deploy-pages.yml +34 -0
  3. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CHANGELOG.md +5 -0
  4. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CITATION.cff +1 -1
  5. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/PKG-INFO +17 -19
  6. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/README.md +14 -16
  7. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/README.zh-CN.md +6 -6
  8. opsscript_gate-0.8.3/demo.html +980 -0
  9. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/configuration.md +3 -3
  10. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/gpt-oss.md +1 -1
  11. opsscript_gate-0.8.3/docs/index.html +980 -0
  12. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/github-actions/README.md +1 -1
  13. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/github-actions/workflow.yml +1 -1
  14. opsscript_gate-0.8.3/index.html +980 -0
  15. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/pyproject.toml +3 -3
  16. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/__init__.py +1 -1
  17. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/config.py +1 -1
  18. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.gitattributes +0 -0
  19. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  20. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/distro_request.yml +0 -0
  21. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  22. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/assets/social-preview.png +0 -0
  23. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/pull_request_template.md +0 -0
  24. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflow-templates/opsscript-gate.properties.json +0 -0
  25. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/demo.yml +0 -0
  26. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/release.yml +0 -0
  27. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/test.yml +0 -0
  28. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.gitignore +0 -0
  29. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CONTRIBUTING.md +0 -0
  30. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/LICENSE +0 -0
  31. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/ROADMAP.md +0 -0
  32. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/SECURITY.md +0 -0
  33. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/action.yml +0 -0
  34. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/troubleshooting.md +0 -0
  35. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/alpine-incompatibility/README.md +0 -0
  36. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/alpine-incompatibility/apt_dependency.sh +0 -0
  37. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/basic/README.md +0 -0
  38. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/basic/clean_setup.sh +0 -0
  39. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/interactive-hang/README.md +0 -0
  40. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/interactive-hang/prompt_confirm.sh +0 -0
  41. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/cli.py +0 -0
  42. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/discovery.py +0 -0
  43. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/models.py +0 -0
  44. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/remediation.py +0 -0
  45. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/reporter.py +0 -0
  46. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/runner.py +0 -0
  47. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/fail_deps.sh +0 -0
  48. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/fail_hang.sh +0 -0
  49. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/pass_basic.sh +0 -0
  50. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_action_contract.py +0 -0
  51. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_onboarding.py +0 -0
  52. {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_runner.py +0 -0
@@ -25,7 +25,7 @@ jobs:
25
25
  persist-credentials: false
26
26
 
27
27
  - name: Run OpsScript Gate
28
- uses: Mresyzz/opsscript-gate@v0.8.0
28
+ uses: Mresyzz/opsscript-gate@v0.8.3
29
29
  with:
30
30
  shell: auto
31
31
  network: none
@@ -0,0 +1,34 @@
1
+ name: Deploy GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: "pages"
15
+ cancel-in-progress: false
16
+
17
+ jobs:
18
+ deploy:
19
+ environment:
20
+ name: github-pages
21
+ url: ${{ steps.deployment.outputs.page_url }}
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - name: Checkout
25
+ uses: actions/checkout@v4
26
+ - name: Setup Pages
27
+ uses: actions/configure-pages@v5
28
+ - name: Upload artifact
29
+ uses: actions/upload-pages-artifact@v3
30
+ with:
31
+ path: 'docs'
32
+ - name: Deploy to GitHub Pages
33
+ id: deployment
34
+ uses: actions/deploy-pages@v4
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.3] - 2026-10-02
4
+
5
+ - Corrected the PyPI homepage and demo links to point to the OpsScript Gate Pages site.
6
+ - Refreshed all generated examples and release metadata to v0.8.3.
7
+
3
8
  ## [0.8.2] - 2026-10-02
4
9
 
5
10
  ### Fixed
@@ -5,7 +5,7 @@ type: software
5
5
  authors:
6
6
  - family-names: Mresyzz
7
7
  given-names: Mresy
8
- version: 0.8.2
8
+ version: 0.8.3
9
9
  date-released: 2026-10-02
10
10
  repository-code: https://github.com/Mresyzz/opsscript-gate
11
11
  url: https://github.com/Mresyzz/opsscript-gate
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: opsscript-gate
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
4
  Summary: Run Linux shell scripts in Debian, Ubuntu and Alpine containers to catch runtime compatibility failures before merge
5
- Project-URL: Homepage, https://mresyzz.github.io/InstallReady/
6
- Project-URL: Demo, https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate
5
+ Project-URL: Homepage, https://mresyzz.github.io/opsscript-gate/
6
+ Project-URL: Demo, https://mresyzz.github.io/opsscript-gate/
7
7
  Project-URL: Repository, https://github.com/Mresyzz/opsscript-gate
8
8
  Project-URL: Issues, https://github.com/Mresyzz/opsscript-gate/issues
9
9
  Project-URL: Changelog, https://github.com/Mresyzz/opsscript-gate/blob/main/CHANGELOG.md
@@ -28,11 +28,11 @@ Provides-Extra: test
28
28
  Requires-Dist: pytest>=8.0.0; extra == 'test'
29
29
  Description-Content-Type: text/markdown
30
30
 
31
- # OpsScript Gate — shell script compatibility testing
31
+ # OpsScript Gate — GitHub Action for cross-distro shell installer testing
32
32
 
33
- [简体中文](README.zh-CN.md) · [Configuration](docs/configuration.md) · [Troubleshooting](docs/troubleshooting.md) · [Self-hosted model installer guide](docs/gpt-oss.md)
33
+ [Live demo](https://mresyzz.github.io/opsscript-gate/) · [简体中文](README.zh-CN.md) · [Configuration](docs/configuration.md) · [Troubleshooting](docs/troubleshooting.md) · [Self-hosted model installer guide](docs/gpt-oss.md)
34
34
 
35
- > ShellCheck analyzes shell syntax. OpsScript Gate executes scripts in Linux containers.
35
+ > A GitHub Action and Python CLI that executes shell installers in Debian, Ubuntu, and Alpine containers. ShellCheck analyzes syntax; OpsScript Gate verifies runtime compatibility.
36
36
 
37
37
  [![CI](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml/badge.svg)](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml)
38
38
  [![Demo](https://github.com/Mresyzz/opsscript-gate/actions/workflows/demo.yml/badge.svg)](https://github.com/Mresyzz/opsscript-gate/actions/workflows/demo.yml)
@@ -47,16 +47,14 @@ Description-Content-Type: text/markdown
47
47
 
48
48
  It is designed for shell testing, portable shell validation, Bash/POSIX compatibility checks, and cross-distro CI where syntax-only tooling is not enough.
49
49
 
50
- If your repository contains an installer, bootstrap script, or shell entrypoint, the fastest path is to
51
- open the [InstallReady scanner](https://mresyzz.github.io/InstallReady/), enter `owner/repository`, and
52
- choose **Add workflow on GitHub**. It generates a reviewable workflow without an account, API key, or
53
- service signup. You can also copy the maintained [zero-configuration workflow](.github/workflow-templates/opsscript-gate.yml).
54
-
55
- Try the browser scanner: [InstallReady](https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate) checks this repository without executing code or requiring a login.
50
+ If your repository contains an installer, bootstrap script, or shell entrypoint, start with the
51
+ [interactive demo](https://mresyzz.github.io/opsscript-gate/), then copy the maintained
52
+ [zero-configuration workflow](.github/workflow-templates/opsscript-gate.yml). The demo explains the
53
+ ShellCheck-versus-runtime gap and the workflow is ready to review in your own repository.
56
54
 
57
55
  ---
58
56
 
59
- ## Current release: v0.8.2
57
+ ## Current release: v0.8.3
60
58
 
61
59
  The current release includes a project config file, a dry-run plan, presets, exclusions,
62
60
  saved reports, and changed-script selection for pull requests. The project controls
@@ -90,8 +88,8 @@ requires bridge networking. See [configuration and migration](docs/configuration
90
88
  Add this workflow to `.github/workflows/shell-compat.yml`:
91
89
 
92
90
  The repository includes a maintained [workflow template](.github/workflow-templates/opsscript-gate.yml).
93
- For a one-click setup in another public repository, use the InstallReady scanner above; it opens GitHub's
94
- workflow editor with the generated file ready to review.
91
+ Use the [interactive demo](https://mresyzz.github.io/opsscript-gate/) to understand the failure modes,
92
+ then copy the template into your repository and review the generated workflow.
95
93
 
96
94
  You can copy the maintained example from [`examples/github-actions/workflow.yml`](examples/github-actions/workflow.yml)
97
95
  and change the `script-path`, or use the minimal workflow below.
@@ -107,7 +105,7 @@ jobs:
107
105
  - uses: actions/checkout@v7
108
106
  with:
109
107
  persist-credentials: false
110
- - uses: Mresyzz/opsscript-gate@v0.8.2
108
+ - uses: Mresyzz/opsscript-gate@v0.8.3
111
109
  ```
112
110
 
113
111
  This zero-configuration form discovers shell scripts in the repository. Use
@@ -118,7 +116,7 @@ repository has a single installer. For self-hosted model installers, see the
118
116
  Or test a specific script with custom execution modes:
119
117
 
120
118
  ```yaml
121
- - uses: Mresyzz/opsscript-gate@v0.8.2
119
+ - uses: Mresyzz/opsscript-gate@v0.8.3
122
120
  with:
123
121
  script-path: scripts/install.sh
124
122
  shell: auto
@@ -150,7 +148,7 @@ unrelated scripts:
150
148
  with:
151
149
  persist-credentials: false
152
150
  fetch-depth: 0
153
- - uses: Mresyzz/opsscript-gate@v0.8.2
151
+ - uses: Mresyzz/opsscript-gate@v0.8.3
154
152
  with:
155
153
  changed-since: ${{ github.event.pull_request.base.sha }}
156
154
  preset: minimal
@@ -233,7 +231,7 @@ Use `sarif` when the result should appear in GitHub Code Scanning or another
233
231
  SARIF-compatible viewer. Upload it explicitly with the official upload action:
234
232
 
235
233
  ```yaml
236
- - uses: Mresyzz/opsscript-gate@v0.8.2
234
+ - uses: Mresyzz/opsscript-gate@v0.8.3
237
235
  with:
238
236
  script-path: scripts/install.sh
239
237
  format: sarif
@@ -1,8 +1,8 @@
1
- # OpsScript Gate — shell script compatibility testing
1
+ # OpsScript Gate — GitHub Action for cross-distro shell installer testing
2
2
 
3
- [简体中文](README.zh-CN.md) · [Configuration](docs/configuration.md) · [Troubleshooting](docs/troubleshooting.md) · [Self-hosted model installer guide](docs/gpt-oss.md)
3
+ [Live demo](https://mresyzz.github.io/opsscript-gate/) · [简体中文](README.zh-CN.md) · [Configuration](docs/configuration.md) · [Troubleshooting](docs/troubleshooting.md) · [Self-hosted model installer guide](docs/gpt-oss.md)
4
4
 
5
- > ShellCheck analyzes shell syntax. OpsScript Gate executes scripts in Linux containers.
5
+ > A GitHub Action and Python CLI that executes shell installers in Debian, Ubuntu, and Alpine containers. ShellCheck analyzes syntax; OpsScript Gate verifies runtime compatibility.
6
6
 
7
7
  [![CI](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml/badge.svg)](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml)
8
8
  [![Demo](https://github.com/Mresyzz/opsscript-gate/actions/workflows/demo.yml/badge.svg)](https://github.com/Mresyzz/opsscript-gate/actions/workflows/demo.yml)
@@ -17,16 +17,14 @@
17
17
 
18
18
  It is designed for shell testing, portable shell validation, Bash/POSIX compatibility checks, and cross-distro CI where syntax-only tooling is not enough.
19
19
 
20
- If your repository contains an installer, bootstrap script, or shell entrypoint, the fastest path is to
21
- open the [InstallReady scanner](https://mresyzz.github.io/InstallReady/), enter `owner/repository`, and
22
- choose **Add workflow on GitHub**. It generates a reviewable workflow without an account, API key, or
23
- service signup. You can also copy the maintained [zero-configuration workflow](.github/workflow-templates/opsscript-gate.yml).
24
-
25
- Try the browser scanner: [InstallReady](https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate) checks this repository without executing code or requiring a login.
20
+ If your repository contains an installer, bootstrap script, or shell entrypoint, start with the
21
+ [interactive demo](https://mresyzz.github.io/opsscript-gate/), then copy the maintained
22
+ [zero-configuration workflow](.github/workflow-templates/opsscript-gate.yml). The demo explains the
23
+ ShellCheck-versus-runtime gap and the workflow is ready to review in your own repository.
26
24
 
27
25
  ---
28
26
 
29
- ## Current release: v0.8.2
27
+ ## Current release: v0.8.3
30
28
 
31
29
  The current release includes a project config file, a dry-run plan, presets, exclusions,
32
30
  saved reports, and changed-script selection for pull requests. The project controls
@@ -60,8 +58,8 @@ requires bridge networking. See [configuration and migration](docs/configuration
60
58
  Add this workflow to `.github/workflows/shell-compat.yml`:
61
59
 
62
60
  The repository includes a maintained [workflow template](.github/workflow-templates/opsscript-gate.yml).
63
- For a one-click setup in another public repository, use the InstallReady scanner above; it opens GitHub's
64
- workflow editor with the generated file ready to review.
61
+ Use the [interactive demo](https://mresyzz.github.io/opsscript-gate/) to understand the failure modes,
62
+ then copy the template into your repository and review the generated workflow.
65
63
 
66
64
  You can copy the maintained example from [`examples/github-actions/workflow.yml`](examples/github-actions/workflow.yml)
67
65
  and change the `script-path`, or use the minimal workflow below.
@@ -77,7 +75,7 @@ jobs:
77
75
  - uses: actions/checkout@v7
78
76
  with:
79
77
  persist-credentials: false
80
- - uses: Mresyzz/opsscript-gate@v0.8.2
78
+ - uses: Mresyzz/opsscript-gate@v0.8.3
81
79
  ```
82
80
 
83
81
  This zero-configuration form discovers shell scripts in the repository. Use
@@ -88,7 +86,7 @@ repository has a single installer. For self-hosted model installers, see the
88
86
  Or test a specific script with custom execution modes:
89
87
 
90
88
  ```yaml
91
- - uses: Mresyzz/opsscript-gate@v0.8.2
89
+ - uses: Mresyzz/opsscript-gate@v0.8.3
92
90
  with:
93
91
  script-path: scripts/install.sh
94
92
  shell: auto
@@ -120,7 +118,7 @@ unrelated scripts:
120
118
  with:
121
119
  persist-credentials: false
122
120
  fetch-depth: 0
123
- - uses: Mresyzz/opsscript-gate@v0.8.2
121
+ - uses: Mresyzz/opsscript-gate@v0.8.3
124
122
  with:
125
123
  changed-since: ${{ github.event.pull_request.base.sha }}
126
124
  preset: minimal
@@ -203,7 +201,7 @@ Use `sarif` when the result should appear in GitHub Code Scanning or another
203
201
  SARIF-compatible viewer. Upload it explicitly with the official upload action:
204
202
 
205
203
  ```yaml
206
- - uses: Mresyzz/opsscript-gate@v0.8.2
204
+ - uses: Mresyzz/opsscript-gate@v0.8.3
207
205
  with:
208
206
  script-path: scripts/install.sh
209
207
  format: sarif
@@ -1,4 +1,4 @@
1
- # OpsScript Gate:Shell 脚本跨发行版运行检查
1
+ # OpsScript Gate:GitHub Action 跨发行版 Shell 安装脚本测试
2
2
 
3
3
  [English](README.md) · [配置说明](docs/configuration.md) · [常见问题](docs/troubleshooting.md) · [自托管模型安装脚本指南](docs/gpt-oss.md)
4
4
 
@@ -8,11 +8,11 @@ Bash 依赖、包管理器假设和交互式阻塞。它与 ShellCheck 互补。
8
8
  适合独立安装脚本、容器入口脚本和发布脚本。每次只挂载目标脚本,
9
9
  不挂载整个仓库;依赖其他仓库文件的脚本需要现有项目测试配合。
10
10
 
11
- 也可以直接打开 [InstallReady 在线扫描器](https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate),无需登录即可检查公开仓库。
11
+ 也可以直接打开 [OpsScript Gate 在线演示](https://mresyzz.github.io/opsscript-gate/),先查看 ShellCheck 与运行时验证的差异,再复制 workflow 到自己的仓库。
12
12
 
13
- ## 当前版本 v0.8.2
13
+ ## 当前版本 v0.8.3
14
14
 
15
- v0.8.2 已作为正式版本发布;如果你要从源码验证当前分支,也可以执行:
15
+ v0.8.3 已作为正式版本发布;如果你要从源码验证当前分支,也可以执行:
16
16
 
17
17
  ```bash
18
18
  pip install -e .
@@ -28,7 +28,7 @@ opsscript-gate run --dry-run
28
28
  opsscript-gate run --format json --output reports/compatibility.json
29
29
  ```
30
30
 
31
- `init` 生成配置和 GitHub 工作流,不覆盖已有文件。工作流引用 `v0.8.2`。
31
+ `init` 生成配置和 GitHub 工作流,不覆盖已有文件。工作流引用 `v0.8.3`。
32
32
  预览不需要 Docker;真实运行需要 Python 3.10+
33
33
  和可访问的 Linux Docker 引擎。
34
34
  `opsscript-gate doctor` 可以在真实运行前检查 Python 和 Docker。
@@ -65,7 +65,7 @@ Docker daemon 和可选的项目配置。
65
65
  - uses: actions/checkout@v7
66
66
  with:
67
67
  fetch-depth: 0
68
- - uses: Mresyzz/opsscript-gate@v0.8.2
68
+ - uses: Mresyzz/opsscript-gate@v0.8.3
69
69
  with:
70
70
  changed-since: ${{ github.event.pull_request.base.sha }}
71
71
  preset: minimal