跳转到主要内容

DKIST上Cryo-NIRSP仪器的科学处理代码

项目描述

概述

dkist-processing-cryonirsp库包含了作为dkist-processing-core框架和dkist-processing-common任务的集合的cryonirsp管道实现。

建议的项目结构是将任务和工作流分别放入单独的包中。将工作流放在自己的包中便于使用build_utils在单元测试中测试这些工作流的完整性。

校准管道

构建

工件通过Bitbucket Pipelines构建。

该管道可用于其他存储库,只需修改包和工件位置,使其使用与目标存储库相关的名称。

例如:dkist-processing-test -> dkist-processing-vbi 和 dkist_processing_test -> dkist_processing_vbi

部署

部署使用turtlebot完成,并遵循dkist-processing-core中详细说明的过程。

环境变量

仅包含dkist-processing-coredkist-processing-common指定的变量。

开发

git clone git@bitbucket.org:dkistdc/dkist-processing-cryonirsp.git
cd dkist-processing-cryonirsp
pre-commit install
pip install -e .[test]
pytest -v --cov dkist_processing_cryonirsp

变更日志

当你对此存储库进行任何修改时,必须附上一个变更日志文件。此存储库的变更日志使用towncrier包。下个版本变更日志的条目以单个文件(每个变更一个)的形式添加到changelog/目录中。

编写变更日志条目

应将随变更的变更日志条目添加到changelog/目录。该目录中文件的名称遵循特定模板。

<PULL REQUEST NUMBER>.<TYPE>[.<COUNTER>].rst

字段具有以下含义

  • <PULL REQUEST NUMBER>:这是拉取请求的编号,因此人们可以从变更日志条目跳转到BitBucket上的差异。

  • <TYPE>:这是变更的类型,必须是以下描述的值之一。

  • <COUNTER>:这是一个可选字段,如果您对同一类型的变更进行了多次修改,则可以在后续更改中附加计数器,例如,对于同一PR中的两个错误修复,使用100.bugfix.rst100.bugfix.1.rst

可能的类型列表在pyproject.toml的towncrier部分中定义,类型如下

  • feature:此变更是一个新的代码功能。

  • bugfix:这是一个修复错误的变更。

  • doc:这是一个文档变更。

  • removal:这是一个弃用或删除公共API的变更。

  • misc:任何不适合其他地方的微小变更,例如对包基础设施的变更。

在发布时渲染变更日志

当您即将标记一个发布版本时,首先必须运行towncrier来渲染变更日志。以下是步骤

  • 使用您想要标记的版本号运行towncrier build –version vx.y.z

  • 同意towncrier删除片段。

  • 添加并提交您的更改。

  • 标记发布版本。

注意:如果您忘记将变更日志条目添加到标记的发布版本(无论是手动还是通过towncrier自动添加),那么Bitbucket流水线将失败。要使用相同的标记,您必须在本地和远程分支上删除它。

# First, actually update the CHANGELOG and commit the update
git commit

# Delete tags
git tag -d vWHATEVER.THE.VERSION
git push --delete origin vWHATEVER.THE.VERSION

# Re-tag with the same version
git tag vWHATEVER.THE.VERSION
git push --tags origin main

科学变更日志

每当发布版本涉及L1数据的科学质量变更时,应创建额外的变更日志片段。这些片段旨在尽可能详细,以准确地捕捉变更的范围,因此请随意使用所有您想要的RST功能。科学片段放置在其他片段相同的changelog/目录中,但总是命名为

<PR NUMBER | +>.science[.<COUNTER>].rst

如果单个拉取请求封装了所有科学变更,则第一个字段应该是该PR编号(与常规CHANGELOG相同)。如果没有从单个PR到科学变更的简单映射,则使用字符“+”;这将创建一个没有关联PR的变更日志条目。例如

$ ls changelog/
99.bugfix.rst    # This is a normal changelog fragment associated with a bugfix in PR 99
99.science.rst   # Apparently that bugfix also changed the scientific results, so that PR also gets a science fragment
+.science.rst    # This fragment is not associated with a PR

在构建SCIENCE_CHANGELOG时,使用此存储库中的science_towncrier.sh脚本来执行此操作。此脚本接受默认towncrier的所有相同参数。例如

./science_towncrier.sh build --version vx.y.z

这将更新SCIENCE_CHANGELOG并从变更日志目录中删除任何科学片段。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

dkist_processing_cryonirsp-1.3.2.tar.gz (165.6 kB 查看哈希值)

上传时间 源代码

由以下组织支持