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.
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflow-templates/opsscript-gate.yml +1 -1
- opsscript_gate-0.8.3/.github/workflows/deploy-pages.yml +34 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CHANGELOG.md +5 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CITATION.cff +1 -1
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/PKG-INFO +17 -19
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/README.md +14 -16
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/README.zh-CN.md +6 -6
- opsscript_gate-0.8.3/demo.html +980 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/configuration.md +3 -3
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/gpt-oss.md +1 -1
- opsscript_gate-0.8.3/docs/index.html +980 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/github-actions/README.md +1 -1
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/github-actions/workflow.yml +1 -1
- opsscript_gate-0.8.3/index.html +980 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/pyproject.toml +3 -3
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/__init__.py +1 -1
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/config.py +1 -1
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.gitattributes +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/distro_request.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/assets/social-preview.png +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/pull_request_template.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflow-templates/opsscript-gate.properties.json +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/demo.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/release.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.github/workflows/test.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/.gitignore +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/CONTRIBUTING.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/LICENSE +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/ROADMAP.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/SECURITY.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/action.yml +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/docs/troubleshooting.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/alpine-incompatibility/README.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/alpine-incompatibility/apt_dependency.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/basic/README.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/basic/clean_setup.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/interactive-hang/README.md +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/examples/interactive-hang/prompt_confirm.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/cli.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/discovery.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/models.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/remediation.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/reporter.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/src/opsscript_gate/runner.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/fail_deps.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/fail_hang.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/fixtures/pass_basic.sh +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_action_contract.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_onboarding.py +0 -0
- {opsscript_gate-0.8.2 → opsscript_gate-0.8.3}/tests/test_runner.py +0 -0
|
@@ -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,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: opsscript-gate
|
|
3
|
-
Version: 0.8.
|
|
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/
|
|
6
|
-
Project-URL: Demo, https://mresyzz.github.io/
|
|
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
|
|
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
|
-
>
|
|
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
|
[](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml)
|
|
38
38
|
[](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,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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.
|
|
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
|
-
|
|
94
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
>
|
|
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
|
[](https://github.com/Mresyzz/opsscript-gate/actions/workflows/test.yml)
|
|
8
8
|
[](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,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.
|
|
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
|
-
|
|
64
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
也可以直接打开 [
|
|
11
|
+
也可以直接打开 [OpsScript Gate 在线演示](https://mresyzz.github.io/opsscript-gate/),先查看 ShellCheck 与运行时验证的差异,再复制 workflow 到自己的仓库。
|
|
12
12
|
|
|
13
|
-
## 当前版本 v0.8.
|
|
13
|
+
## 当前版本 v0.8.3
|
|
14
14
|
|
|
15
|
-
v0.8.
|
|
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.
|
|
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.
|
|
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
|