opsscript-gate 0.6.1__tar.gz → 0.6.2__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.6.1 → opsscript_gate-0.6.2}/.github/workflow-templates/opsscript-gate.yml +3 -3
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/CHANGELOG.md +7 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/CITATION.cff +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/PKG-INFO +9 -6
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/README.md +6 -4
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/README.zh-CN.md +6 -4
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/docs/configuration.md +3 -3
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/docs/gpt-oss.md +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/github-actions/README.md +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/github-actions/workflow.yml +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/pyproject.toml +3 -2
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/__init__.py +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/config.py +1 -1
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.gitattributes +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/ISSUE_TEMPLATE/distro_request.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/assets/social-preview.png +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/pull_request_template.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/workflow-templates/properties.json +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/workflows/demo.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/workflows/release.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.github/workflows/test.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/.gitignore +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/CONTRIBUTING.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/LICENSE +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/ROADMAP.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/SECURITY.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/action.yml +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/docs/troubleshooting.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/alpine-incompatibility/README.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/alpine-incompatibility/apt_dependency.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/basic/README.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/basic/clean_setup.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/interactive-hang/README.md +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/interactive-hang/prompt_confirm.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/cli.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/discovery.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/models.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/remediation.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/reporter.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/src/opsscript_gate/runner.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/fixtures/fail_deps.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/fixtures/fail_hang.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/fixtures/pass_basic.sh +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/test_action_contract.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/test_onboarding.py +0 -0
- {opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/tests/test_runner.py +0 -0
|
@@ -6,7 +6,7 @@ on:
|
|
|
6
6
|
- '**/*.sh'
|
|
7
7
|
- '**/*.bash'
|
|
8
8
|
push:
|
|
9
|
-
branches: [
|
|
9
|
+
branches: [$default-branch]
|
|
10
10
|
paths:
|
|
11
11
|
- '**/*.sh'
|
|
12
12
|
- '**/*.bash'
|
|
@@ -20,12 +20,12 @@ jobs:
|
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
steps:
|
|
22
22
|
- name: Checkout
|
|
23
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@v7
|
|
24
24
|
with:
|
|
25
25
|
persist-credentials: false
|
|
26
26
|
|
|
27
27
|
- name: Run OpsScript Gate
|
|
28
|
-
uses: Mresyzz/opsscript-gate@v0.6.
|
|
28
|
+
uses: Mresyzz/opsscript-gate@v0.6.2
|
|
29
29
|
with:
|
|
30
30
|
shell: auto
|
|
31
31
|
network: none
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.2] - 2026-10-01
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Updated the published README and Action examples to the current release tag.
|
|
7
|
+
- Added the InstallReady browser scanner to the package homepage and project links.
|
|
8
|
+
- Made the starter workflow follow each repository's default branch.
|
|
9
|
+
|
|
3
10
|
## [0.6.1] - 2026-10-01
|
|
4
11
|
|
|
5
12
|
### Added
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: opsscript-gate
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.2
|
|
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://github.
|
|
5
|
+
Project-URL: Homepage, https://mresyzz.github.io/InstallReady/
|
|
6
|
+
Project-URL: Demo, https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate
|
|
6
7
|
Project-URL: Repository, https://github.com/Mresyzz/opsscript-gate
|
|
7
8
|
Project-URL: Issues, https://github.com/Mresyzz/opsscript-gate/issues
|
|
8
9
|
Project-URL: Changelog, https://github.com/Mresyzz/opsscript-gate/blob/main/CHANGELOG.md
|
|
@@ -51,9 +52,11 @@ copy the [zero-configuration workflow](.github/workflow-templates/opsscript-gate
|
|
|
51
52
|
shell files change, uses offline containers by default, and uploads a report that can be attached to a PR.
|
|
52
53
|
No account, API key, or service signup is required.
|
|
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.
|
|
56
|
+
|
|
54
57
|
---
|
|
55
58
|
|
|
56
|
-
## Current release: v0.6.
|
|
59
|
+
## Current release: v0.6.2
|
|
57
60
|
|
|
58
61
|
The current release includes a project config file, a dry-run plan, presets, exclusions,
|
|
59
62
|
saved reports, and changed-script selection for pull requests. The project controls
|
|
@@ -96,7 +99,7 @@ jobs:
|
|
|
96
99
|
runs-on: ubuntu-latest
|
|
97
100
|
steps:
|
|
98
101
|
- uses: actions/checkout@v7
|
|
99
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
102
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
100
103
|
```
|
|
101
104
|
|
|
102
105
|
This zero-configuration form discovers shell scripts in the repository. Use
|
|
@@ -107,7 +110,7 @@ repository has a single installer. For self-hosted model installers, see the
|
|
|
107
110
|
Or test a specific script with custom execution modes:
|
|
108
111
|
|
|
109
112
|
```yaml
|
|
110
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
113
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
111
114
|
with:
|
|
112
115
|
script-path: scripts/install.sh
|
|
113
116
|
shell: auto
|
|
@@ -138,7 +141,7 @@ unrelated scripts:
|
|
|
138
141
|
- uses: actions/checkout@v7
|
|
139
142
|
with:
|
|
140
143
|
fetch-depth: 0
|
|
141
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
144
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
142
145
|
with:
|
|
143
146
|
changed-since: ${{ github.event.pull_request.base.sha }}
|
|
144
147
|
preset: minimal
|
|
@@ -22,9 +22,11 @@ copy the [zero-configuration workflow](.github/workflow-templates/opsscript-gate
|
|
|
22
22
|
shell files change, uses offline containers by default, and uploads a report that can be attached to a PR.
|
|
23
23
|
No account, API key, or service signup is required.
|
|
24
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.
|
|
26
|
+
|
|
25
27
|
---
|
|
26
28
|
|
|
27
|
-
## Current release: v0.6.
|
|
29
|
+
## Current release: v0.6.2
|
|
28
30
|
|
|
29
31
|
The current release includes a project config file, a dry-run plan, presets, exclusions,
|
|
30
32
|
saved reports, and changed-script selection for pull requests. The project controls
|
|
@@ -67,7 +69,7 @@ jobs:
|
|
|
67
69
|
runs-on: ubuntu-latest
|
|
68
70
|
steps:
|
|
69
71
|
- uses: actions/checkout@v7
|
|
70
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
72
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
This zero-configuration form discovers shell scripts in the repository. Use
|
|
@@ -78,7 +80,7 @@ repository has a single installer. For self-hosted model installers, see the
|
|
|
78
80
|
Or test a specific script with custom execution modes:
|
|
79
81
|
|
|
80
82
|
```yaml
|
|
81
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
83
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
82
84
|
with:
|
|
83
85
|
script-path: scripts/install.sh
|
|
84
86
|
shell: auto
|
|
@@ -109,7 +111,7 @@ unrelated scripts:
|
|
|
109
111
|
- uses: actions/checkout@v7
|
|
110
112
|
with:
|
|
111
113
|
fetch-depth: 0
|
|
112
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
114
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
113
115
|
with:
|
|
114
116
|
changed-since: ${{ github.event.pull_request.base.sha }}
|
|
115
117
|
preset: minimal
|
|
@@ -8,9 +8,11 @@ Bash 依赖、包管理器假设和交互式阻塞。它与 ShellCheck 互补。
|
|
|
8
8
|
适合独立安装脚本、容器入口脚本和发布脚本。每次只挂载目标脚本,
|
|
9
9
|
不挂载整个仓库;依赖其他仓库文件的脚本需要现有项目测试配合。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
也可以直接打开 [InstallReady 在线扫描器](https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate),无需登录即可检查公开仓库。
|
|
12
12
|
|
|
13
|
-
v0.6.
|
|
13
|
+
## 当前版本 v0.6.2
|
|
14
|
+
|
|
15
|
+
v0.6.2 已作为正式版本发布;如果你要从源码验证当前分支,也可以执行:
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
18
|
pip install -e .
|
|
@@ -25,7 +27,7 @@ opsscript-gate run --dry-run
|
|
|
25
27
|
opsscript-gate run --format json --output reports/compatibility.json
|
|
26
28
|
```
|
|
27
29
|
|
|
28
|
-
`init` 生成配置和 GitHub 工作流,不覆盖已有文件。工作流引用 `v0.6.
|
|
30
|
+
`init` 生成配置和 GitHub 工作流,不覆盖已有文件。工作流引用 `v0.6.2`。
|
|
29
31
|
预览不需要 Docker;真实运行需要 Python 3.10+
|
|
30
32
|
和可访问的 Linux Docker 引擎。
|
|
31
33
|
|
|
@@ -51,7 +53,7 @@ opsscript-gate run --format json --output reports/compatibility.json
|
|
|
51
53
|
- uses: actions/checkout@v7
|
|
52
54
|
with:
|
|
53
55
|
fetch-depth: 0
|
|
54
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
56
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
55
57
|
with:
|
|
56
58
|
changed-since: ${{ github.event.pull_request.base.sha }}
|
|
57
59
|
preset: minimal
|
|
@@ -11,7 +11,7 @@ opsscript-gate run --dry-run
|
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
`init` refuses to overwrite either `.opsscript-gate.json` or
|
|
14
|
-
`.github/workflows/opsscript-gate.yml`. The generated workflow uses the v0.6.
|
|
14
|
+
`.github/workflows/opsscript-gate.yml`. The generated workflow uses the v0.6.2 tag.
|
|
15
15
|
|
|
16
16
|
The generated config uses the two-image `minimal` preset, honors recognized shell
|
|
17
17
|
shebangs, disables networking, and excludes `tests/*` and `examples/*`. Review these
|
|
@@ -95,7 +95,7 @@ For pull requests, set `changed-since` to the base commit and fetch full Git his
|
|
|
95
95
|
- uses: actions/checkout@v7
|
|
96
96
|
with:
|
|
97
97
|
fetch-depth: 0
|
|
98
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
98
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
99
99
|
with:
|
|
100
100
|
changed-since: ${{ github.event.pull_request.base.sha }}
|
|
101
101
|
preset: minimal
|
|
@@ -105,7 +105,7 @@ The Action passes when no changed shell scripts are selected. This keeps unrelat
|
|
|
105
105
|
documentation or application changes from starting container jobs.
|
|
106
106
|
|
|
107
107
|
```yaml
|
|
108
|
-
- uses: Mresyzz/opsscript-gate@v0.6.
|
|
108
|
+
- uses: Mresyzz/opsscript-gate@v0.6.2
|
|
109
109
|
with:
|
|
110
110
|
config: .opsscript-gate.json
|
|
111
111
|
format: json
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
This example shows a GitHub Actions workflow for checking a shell script on pull requests.
|
|
4
4
|
|
|
5
|
-
Copy `workflow.yml` into your repository at `.github/workflows/script-gate.yml` and point `script-path` to the script you want to validate. The example uses the current v0.6.
|
|
5
|
+
Copy `workflow.yml` into your repository at `.github/workflows/script-gate.yml` and point `script-path` to the script you want to validate. The example uses the current v0.6.2 Action release.
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "opsscript-gate"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.2"
|
|
8
8
|
description = "Run Linux shell scripts in Debian, Ubuntu and Alpine containers to catch runtime compatibility failures before merge"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -47,7 +47,8 @@ dependencies = [
|
|
|
47
47
|
]
|
|
48
48
|
|
|
49
49
|
[project.urls]
|
|
50
|
-
Homepage = "https://github.
|
|
50
|
+
Homepage = "https://mresyzz.github.io/InstallReady/"
|
|
51
|
+
Demo = "https://mresyzz.github.io/InstallReady/?repo=Mresyzz%2Fopsscript-gate"
|
|
51
52
|
Repository = "https://github.com/Mresyzz/opsscript-gate"
|
|
52
53
|
Issues = "https://github.com/Mresyzz/opsscript-gate/issues"
|
|
53
54
|
Changelog = "https://github.com/Mresyzz/opsscript-gate/blob/main/CHANGELOG.md"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opsscript_gate-0.6.1 → opsscript_gate-0.6.2}/examples/alpine-incompatibility/apt_dependency.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|