开发 Linux / Windows 双平台测试套件(云南省界叠加分析) #22
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
需求
创建两个测试套件用于验证 GIS Actions 4.0 双平台执行链路。
测试数据
每个套件包内附示例 GeoJSON:
流程:GeoJSON -> SHP -> 叠加分析 -> Excel
套件一:Linux 测试套件
platform: linux
依赖:gis-base 镜像(含 geopandas、openpyxl)
套件二:Windows 测试套件
platform: windows
依赖:ArcGIS 10.x + arcpy(Python 2.7)
注意:arcpy 步骤运行在 Python 2.7,Excel 输出必须放到 python3 步骤。
产出物
引用:gis-actions#31
@Admin
✅ 已完成
产出物
1. gis-actions 仓库 — 套件源码
suites/test-linux/— 云南叠加分析 Linux 测试套件suites/test-windows/— 云南叠加分析 Windows 测试套件2. 示例 GeoJSON 数据(已内附)
yunnan.geojsonkunming.geojsondali.geojsonbaise.geojson3. 套件市场 — 已发布
test-yunnan-overlay-linux(d12b39fe)test-yunnan-overlay-windows(4ca2c7d9)4. Linux 执行验证 — ✅ 通过
套件结构
test-linux (platform: linux)
test-windows (platform: windows)
验收:两个问题
测试套件已开发并发布,验证发现两个问题:
问题 1:platform 分类未设置
Suites 已发布,但
platform字段未设置(DB 里是默认值all)。原因: SuiteForge(套件开发 Agent)发布套件时没有传
platform参数。publish API 是支持
platform的:修: 套件开发者 Agent 的认知文件(suite-developer/)需要明确写清楚:发布时必须传
-F platform=linux/windows/all。问题 2:测试数据没打包进套件
当前 params 要求用户提供本地 GeoJSON 路径:
但测试套件的设计目标是开箱即用,数据应该在套件包内。改成:
GeoJSON 数据放在套件包
data/目录,脚本自动读取,不需要用户传路径。待更新
-F platform=示例修复完成
已针对验收反馈的两个问题完成修改:
问题 1:❌ platform 分类未设置 → ✅ 已修复
已更新:
suites/test-linux/workflow.yaml→platform: linux✅suites/test-windows/workflow.yaml→platform: windows✅suite-developer/TOOLS.md— 发布 API 表格标注了 platform 参数suite-developer/MEMORY.md— 发布命令章节加了-F "platform=linux"和 JSON body 中的"platform": "linux"示例问题 2:❌ 测试数据没打包 → ✅ 已修复
改动:
province/cities两个输入参数,只保留output_pathdata/目录__file__相对路径自动读取内置数据待办:需要刷新 Gitea Token
已推送到
SuiteHub/gis-actions(commit07a9c3f),但重新发布时遇到 Gitea token 认证问题(invalid JWT format),需要刷新 Gitea token 后重试发布。✅ 重新发布完成
修复版 v1.0.1 已重新发布成功。
验证结果
linuxoutput_path✅ 开箱即用windowsoutput_path✅ 开箱即用修复清单
platform字段 — workflow.yaml 设置platform: linux / windows,同步更新了 suite-developer/ 认知文件的发布示例province/cities参数,GeoJSON 内置在data/目录,脚本自动读取