diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index bc6c8e6be..eff267329 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,7 +9,35 @@ Closes # This PR addresses ... **Checklist** -- [ ] added entry in `CHANGES.rst` under the corresponding subsection +- [ ] for a public change, added a towncrier news fragment in `changes/`
`echo "changed something" > changes/..rst` + + - ``changes/.general.rst``: infrastructure or miscellaneous change + - ``changes/.docs.rst`` + - ``changes/.stpipe.rst`` + - ``changes/.associations.rst`` + - ``changes/.scripts.rst`` + - ``changes/.mosaic_pipeline.rst`` + - ``changes/.patch_match.rst`` + + ## steps + - ``changes/.dq_init.rst`` + - ``changes/.saturation.rst`` + - ``changes/.refpix.rst`` + - ``changes/.linearity.rst`` + - ``changes/.dark_current.rst`` + - ``changes/.jump_detection.rst`` + - ``changes/.ramp_fitting.rst`` + - ``changes/.assign_wcs.rst`` + - ``changes/.flatfield.rst`` + - ``changes/.photom.rst`` + - ``changes/.flux.rst`` + - ``changes/.source_detection.rst`` + - ``changes/.tweakreg.rst`` + - ``changes/.skymatch.rst`` + - ``changes/.outlier_detection.rst`` + - ``changes/.resample.rst`` + - ``changes/.source_catalog.rst`` +
- [ ] updated relevant tests - [ ] updated relevant documentation - [ ] updated relevant milestone(s) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 69c86b60b..cb5c44f47 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -1,25 +1,30 @@ -name: Changelog +name: changelog on: pull_request: - types: [labeled, unlabeled, opened, synchronize, reopened] + types: + - labeled + - unlabeled + - opened + - synchronize + - reopened -# Only cancel in-progress jobs or runs for the current workflow -# This cancels the already triggered workflows for a specific PR without canceling -# other instances of this workflow (other PRs, scheduled triggers, etc) when something -# within that PR re-triggers this CI concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - changelog: - name: Confirm changelog entry + check: + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog-entry-needed') }} runs-on: ubuntu-latest steps: - - name: Check change log entry - uses: scientific-python/action-check-changelogfile@1fc669db9618167166d5a16c10282044f51805c0 # 0.3 - env: - CHANGELOG_FILENAME: CHANGES.rst - CHECK_MILESTONE: false - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/setup-python@v5 + with: + python-version: 3 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: pip install . + - run: pip install towncrier + - run: towncrier check + - run: towncrier build --draft | grep -P '#${{ github.event.number }}' diff --git a/.readthedocs.yaml b/.readthedocs.yaml index ebbddd839..eceef651f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -36,6 +36,8 @@ build: - ./git-lfs fetch # Make local files to have the real content on them - ./git-lfs checkout + post_install: + - towncrier build --keep conda: environment: docs/rtd_environment.yaml diff --git a/CHANGES.rst b/CHANGES.rst index ef3def2fb..e73e53971 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,14 +1,3 @@ -0.16.4dev -========= - -mosaic_pipeline ---------------- - -- Allow asn product name to be the output product [#1394] - - - - 0.16.3 (2024-08-29) =================== @@ -99,7 +88,7 @@ stpipe ------ - Add ``ModelContainer`` support to ``Step._datamodels_open`` to allow - loading "pars-*" files from CRDS. [#1270] + loading ``pars-*`` files from CRDS. [#1270] tweakreg @@ -749,7 +738,7 @@ linearity - Linearity correction now supports NaN's in the reference file. [#484] - photom +photom ------ - Photom updated to skip updating photometric converstions for spectral data [#498] diff --git a/changes/.gitkeep b/changes/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/changes/1375.docs.rst b/changes/1375.docs.rst new file mode 100644 index 000000000..77509605d --- /dev/null +++ b/changes/1375.docs.rst @@ -0,0 +1 @@ +handle changelog entries with ``towncrier`` diff --git a/changes/1394.mosaic_pipeline.rst b/changes/1394.mosaic_pipeline.rst new file mode 100644 index 000000000..08cebb565 --- /dev/null +++ b/changes/1394.mosaic_pipeline.rst @@ -0,0 +1 @@ +Allow asn product name to be the output product diff --git a/docs/index.rst b/docs/index.rst index b71f65055..dd5305125 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -69,3 +69,4 @@ desk at `Roman Help Desk `_. :maxdepth: 1 roman/pipeline_static_preview.rst + roman/changes.rst diff --git a/docs/roman/changes.rst b/docs/roman/changes.rst new file mode 100644 index 000000000..555a27c95 --- /dev/null +++ b/docs/roman/changes.rst @@ -0,0 +1,7 @@ +.. currentmodule:: roman + +*********** +Change Log +*********** + +.. include:: ../../CHANGES.rst diff --git a/docs/rtd_environment.yaml b/docs/rtd_environment.yaml index aeebc4dff..f6818e66e 100644 --- a/docs/rtd_environment.yaml +++ b/docs/rtd_environment.yaml @@ -7,3 +7,4 @@ dependencies: - pip - graphviz - sphinx_rtd_theme>1.2.0 + - towncrier diff --git a/pyproject.toml b/pyproject.toml index 28a36bd22..56c329615 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -227,3 +227,134 @@ archs = [ "auto", "aarch64", ] + +[tool.towncrier] +filename = "CHANGES.rst" +directory = "changes" +package = "romancal" +title_format = "{version} ({project_date})" +ignore = [".gitkeep"] +wrap = true +issue_format = "`#{issue} `_" + +[[tool.towncrier.type]] +directory = "general" +name = "General" +showcontent = true + +[[tool.towncrier.type]] +directory = "docs" +name = "Documentation" +showcontent = true + +[[tool.towncrier.type]] +directory = "stpipe" +name = "``stpipe``" +showcontent = true + +[[tool.towncrier.type]] +directory = "associations" +name = "Associations" +showcontent = true + +[[tool.towncrier.type]] +directory = "scripts" +name = "Scripts" +showcontent = true + +[[tool.towncrier.type]] +directory = "mosaic_pipeline" +name = "``mosaic_pipeline``" +showcontent = true + +[[tool.towncrier.type]] +directory = "patch_match" +name = "``patch_match``" +showcontent = true + +# steps + +[[tool.towncrier.type]] +directory = "dq_init" +name = "``dq_init`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "saturation" +name = "``saturation`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "refpix" +name = "``refpix`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "linearity" +name = "``linearity`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "dark_current" +name = "``dark_current`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "jump_detection" +name = "``jump_detection``" +showcontent = true + +[[tool.towncrier.type]] +directory = "ramp_fitting" +name = "``ramp_fitting`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "assign_wcs" +name = "``assign_wcs`` (WFI-Image, WFI-Prism, WFI-Grism)" +showcontent = true + +[[tool.towncrier.type]] +directory = "flatfield" +name = "``flatfield`` (WFI-Image)" +showcontent = true + +[[tool.towncrier.type]] +directory = "photom" +name = "``photom`` (WFI-Image)" +showcontent = true + +[[tool.towncrier.type]] +directory = "flux" +name = "``flux``" +showcontent = true + +[[tool.towncrier.type]] +directory = "source_detection" +name = "``source_detection`` (WFI-Image)" +showcontent = true + +[[tool.towncrier.type]] +directory = "tweakreg" +name = "``tweakreg`` (WFI-Image)" +showcontent = true + +[[tool.towncrier.type]] +directory = "skymatch" +name = "``skymatch``" +showcontent = true + +[[tool.towncrier.type]] +directory = "outlier_detection" +name = "``outlier_detection``" +showcontent = true + +[[tool.towncrier.type]] +directory = "resample" +name = "``resample``" +showcontent = true + +[[tool.towncrier.type]] +directory = "source_catalog" +name = "``source_catalog``" +showcontent = true