40 Home
Csaba edited this page 2024-08-06 14:17:23 +02:00
Name Links Fork, active branch Version PR link PR status Notes
amarillo GI GH 🟡CI 🟡PyPI 🟡GIPy 🟢GICR 🟡GHA 🟡GHCR Link dev 🟢2.0.0 Link Merged into plugins bran 1
amarillo-gtfs-generator GI GH 🟢CI 🟢PyPI 🟢GIPy 🟢GICR GHA GHCR 🟢2.0.1 2
amarillo-enhancer GI GH 🟢CI 🟢PyPI 🟢GIPy 🟢GICR GHA GHCR 🟢2.0.1 3
amarillo-compose GI GH 🟢2.0.0 4
amarillo-gtfs-exporter GI GH 🟢CI 🟢PyPI 🟢GIPy 🟢2.0.0 5
amarillo-metrics GI GH 🟢CI 🟢PyPI 🟢GIPy 🟢2.0.0 6
amarillo-stops GI GH 🟢CI 🟢PyPI 🟢GIPy 🟢2.0.0 7
amarillo-grfs-export GI GH PyPI 8

GI = GI Git repo (deprecated), GH = Github repo, CI = GI Jenkins CI, GHA = Github action, GIPy = GI Python package index, PyPI = Python package index, GICR = GI container registry, GHCR = Github container registry

Deployments

  1. on commit hook: Jenkins builds PyPI package and publishes it on PyPI&GIPI. And build&publish Docker image on GIPI&GICR

THe GH webhook has to call Jenkins instead of hcloud! The cd.sh will be removed and the FastAPI app that listens to the webhook

🔴 🟢 🟡

Release process - manual

  1. increment version in project.toml, commit, tag with "vx.y.z" with "v" prefix (or create the tag when creating the Release)
  2. get the PyPI link after Jenkins has published the package, e.g. https://pypi.org/project/amarillo-stops/2.0.1/
  3. on GH create new release, use above tag, name "vx.y.z", in description put the PyPI link (sources.zip is added automatically)

Release branch on amarillo: needed?

Version number for non-releases

  • version number is taken from pyproject.toml
  • if branch==main then use the version as is else append -devHASH
  • v2.0.0.-devNNN, use v2.0.0-dev5ec367f 7 chars

Note: we must make sure that only trusted PRs get deployed, because anybody can make a PR Note: Jenkins says it cannot update commit status: "Resource not accessible by personal access token"


  1. New PR: Call to enhancer, base and derived images, carpool event hooks ✓
    CI/CD: missing publishing to PyPI
    deploy branches are main,/dev/mitanand Notifies webhook once images are built First, base image with no plugins, then derived image on top (defined in standard.Dockerfile, there can be more later) ↩︎

  2. docker image only from main branch ↩︎

  3. TODO: move call to enhancer on top of plugins branch (but no oauth) ✓
    PyPI package does not show readme ↩︎

  4. Readme ✓
    CI/CD: On pushed change, deploy webhook is notified ↩︎

  5. ☑ remove oauth dependency ↩︎

  6. errors.log permissions ✓ ↩︎

  7. ☑ Readme
    ☑ Jenkinsfile
    ☐ GH About section empty ☐ Jenkins not running immediately? ↩︎

  8. Deprecated; functionality should be moved to new repo amarillo-grfs-generator in a way that is compatible with exporter ↩︎

  9. main branch on GH 1. GHA builds image but does not deploy10, publishes image on GHCR, triggers hook to Jenkins deploy job (instead hcloud) via the Registry packages event (new) ↩︎

  10. publishing the release image on GHCR triggers the hook on Jenkins (event for Registry packages) and runs a Jenkins job to do the deployment: 1. ssh to server 2. stop the containers (compose) 3. run the new compose ↩︎