Skip to content

feat: register HowToFit as a build target #54

Description

@Jammy2211

Overview

Register howtofit as a first-class build target in PyAutoBuild so the release
pipeline checks out, tests, bumps Colab URLs, and publishes the standalone
HowToFit repository alongside HowToGalaxy and HowToLens. This is the final
follow-up for the HowToFit extraction (umbrella issue
PyAutoLabs/autofit_workspace#38) — once this PR lands, the HowToFit split is
fully productionised.

Plan

  • Add HowToFit to the pre-build orchestrator so it is checked out and
    prepared alongside the other standalone how-to repos.
  • Extend the release GitHub Actions workflow so howtofit appears in the test
    matrix, the two workspace-repository resolvers, and the release publish
    matrix.
  • Extend bump_colab_urls.sh so HowToFit notebook URLs are version-bumped in
    lockstep with the other workspaces.
  • Add howtofit entries to the copy_files.yaml and no_run.yaml config
    files so the existing per-workspace config machinery recognises the new
    target.
  • Verify by running script_matrix.py locally with howtofit appended to the
    argument list.
Detailed implementation plan

Affected Repositories

  • PyAutoBuild (primary)

Work Classification

Library (build infrastructure)

Branch Survey

Repository Current Branch Dirty?
./PyAutoBuild main clean

Suggested branch: feature/howtofit-register
Worktree root: ~/Code/PyAutoLabs-wt/howtofit-register/ (created later by /start_library)

Implementation Steps

  1. pre_build.sh (after line 65, the existing HowToLens entry):

    run_workspace "HowToFit"                             "howtofit"
    
  2. .github/workflows/release.yml — edits mirroring the HowToLens
    blocks:

    • After line 187 (end of HowToLens checkout block), add a
      Checkout HowToFit step with repository: PyAutoLabs/HowToFit and
      path: howtofit.
    • Line 194: append howtofit to the
      ./PyAutoBuild/autobuild/script_matrix.py argument list.
    • After line 222 (HowToLens test-matrix entry), add a howtofit entry with
      workspace_repository: PyAutoLabs/HowToFit.
    • After the howtolens branch at lines 312–315, add an equivalent
      elif [ "howtofit" ] branch that sets
      workspace_repository::PyAutoLabs/HowToFit.
    • After the howtolens branch at lines 415–418, add the same
      elif [ "howtofit" ] branch in the second resolver.
    • After line 691 (HowToLens release-matrix entry), add the HowToFit release
      matrix entry.
  3. autobuild/bump_colab_urls.sh:

    • Line 12 comment: extend to HowToGalaxy, HowToLens, HowToFit.
    • Line 30 regex: extend the alternation group from HowToGalaxy|HowToLens
      to HowToGalaxy|HowToLens|HowToFit.
  4. autobuild/config/copy_files.yaml — after line 11 (howtolens:), add
    an empty howtofit: entry.

  5. autobuild/config/no_run.yaml — after line 52 (howtolens: block
    end), add howtofit: [].

Verification

After editing, run from the worktree root:

python PyAutoBuild/autobuild/script_matrix.py \
  autofit autogalaxy autolens autofit_test autolens_test \
  howtogalaxy howtolens howtofit

Confirm it exits zero and emits expected per-workspace matrix rows.

Also run the existing test suite:

pytest PyAutoBuild/tests

Key Files

  • PyAutoBuild/pre_build.sh — add HowToFit orchestration line
  • PyAutoBuild/.github/workflows/release.yml — six matrix/resolver edits
  • PyAutoBuild/autobuild/bump_colab_urls.sh — extend comment + regex
  • PyAutoBuild/autobuild/config/copy_files.yaml — add howtofit: entry
  • PyAutoBuild/autobuild/config/no_run.yaml — add howtofit: [] entry

Original Prompt

Click to expand starting prompt

Register howtofit as a first-class build target in @PyAutoBuild, mirroring
the pattern that was established for howtolens and howtogalaxy
(PyAutoBuild PR #53register-howto-repos).

This is sub-4 of the HowToFit extraction umbrella:
PyAutoLabs/autofit_workspace#38

Context:

  • HowToFit now lives as a standalone repository at
    https://github.com/PyAutoLabs/HowToFit
  • Sub-1 (scaffold), sub-2 (remove howtofit/ from autofit_workspace), and
    sub-3 (update PyAutoFit library URLs + docs/howtofit/) all merged on
    2026-04-22.
  • The final follow-up is to make PyAutoBuild build, release, and publish
    HowToFit the same way it already does for HowToLens and HowToGalaxy.

(See prompt file for the full five-file edit list and acceptance criteria.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions