Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bob.bio.base bob.bio.base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 16
    • Issues 16
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • bobbob
  • bob.bio.basebob.bio.base
  • Issues
  • #188
Closed
Open
Issue created Oct 12, 2022 by Yannick DAYER@ydayerOwner26 of 28 checklist items completed26/28 checklist items

Switch to new CI/CD configuration

We need to adapt this package to the new CI/CD and package format using citools:

  • Modify pyproject.toml:
    • Add information from setup.py,
    • Add version from version.txt,
    • Add requirements from requirements.txt and conda/meta.yaml,
  • Empty setup.py:
    • Leave the call to setup() for compatibility,
  • Remove version.txt,
  • Put the requirements.txt content inside extra-intersphinx.txt
  • Remove requirements.txt,
  • Modify conda/meta.yaml,
    • Import data from pyproject.toml (name, version, ...),
    • Add the source.path field with value ..,
    • Add the build.noarch field with value python,
    • Edit the build.script to only contain "{{ PYTHON }} -m pip install {{ SRC_DIR }} -vv",
    • Remove test and documentation commands and comments,
  • Modify .gitlab-ci.yml to point to citools' python.yml,
    • Use the fields format instead of the URL,
  • Move files to follow the src layout:
    • the whole bob folder to src/bob/,
    • all the tests in tests/,
    • the test data files in tests/data,
    • Edit the tests to load the data correctly, either with os.path.join(os.path.basename(__file__), "data/xxx.txt") or pkg_resources.resource_filename(__name__, "data/xxx.txt"),
  • Activate the packages option in settings -> general -> visibility in the Gitlab project,
  • Edit the latest doc badges to point to the sphinx directory in doc/[...]/master:
    • in README.md,
    • in the GitLab project settings,
  • Edit the coverage badges to point to the doc's coverage directory:
    • in README.md,
    • in the GitLab project settings,
  • Ensure the CI pipeline passes.

You can look at bob.learn.em for an example of a ported package.

Edited Nov 04, 2022 by André MAYORAZ
Assignee
Assign to
Time tracking