Goal:

I'd like to have the release process defined in markdown/git and use it as a source for process creation in redmine.

openSUSE Leap Release process definition currently lives inside redmine, from where we copy it from release to release via the integrated copy/clone functionality.

The plan is to create it directly from Git and benefit from issues/pull request for the coordinated process improvements. The Tool which SLE uses to create Jira from Markdown is here https://github.com/opensuse/md2workflow, so we essentially need to add just the redmine support.

Reasoning I have really good experience with co-operating within larger team on the process improvement via gitlab/issues and I believe that opensuse would benefit from it as well. We'd set some standards such as "Definition of Done" for the task (when the task can be resolved). I also believe that this would bring more transparency in between community and Release Management.

The benefits were clear, process is more and more follow-able by everyone within the team and task instructions. Set and enforce some process standards via git hooks/github ci, e.g. every task needs to self-contain definition of done. And it could be easy to unify some process steps between leap and SLE.

Useful links:

Current improvement backlog for the SLE process. https://gitlab.suse.de/sle-prjmgr/release-management-checklist/issues

SLE-12-SP5 process overview in JIRA https://jira.suse.com/secure/RapidBoard.jspa?rapidView=1441&useStoredSettings=true

Release Management Checklist documentation https://confluence.suse.com/display/projectmanagement/Release+Management+Checklist

openSUSE Leap process overview in Redmine https://progress.opensuse.org/projects/leap_152/issues/gantt

Tool which is intended to create both JIRA and newly redmine process (this would be part of the hackweek excercise): https://github.com/opensuse/md2workflow

*How can you participate? * Feel free to check available tasks with hackweek19 label: https://github.com/openSUSE/md2workflow/issues https://github.com/openSUSE/openSUSE-release-process/issues

Looking for hackers with the skills:

opensuse leap releasemanagement python markdown github process ci redmine rest

This project is part of:

Hack Week 19

Activity

  • over 4 years ago: okurz liked this project.
  • over 4 years ago: lkocman added keyword "rest" to this project.
  • over 4 years ago: lkocman added keyword "redmine" to this project.
  • over 4 years ago: bmwiedemann joined this project.
  • over 4 years ago: SLindoMansilla liked this project.
  • over 4 years ago: deneb_alpha joined this project.
  • over 4 years ago: bigironman joined this project.
  • over 4 years ago: bigironman liked this project.
  • over 4 years ago: lkocman added keyword "ci" to this project.
  • over 4 years ago: lkocman added keyword "process" to this project.
  • over 4 years ago: lkocman added keyword "opensuse" to this project.
  • over 4 years ago: lkocman added keyword "leap" to this project.
  • over 4 years ago: lkocman added keyword "releasemanagement" to this project.
  • over 4 years ago: lkocman added keyword "python" to this project.
  • over 4 years ago: lkocman added keyword "markdown" to this project.
  • over 4 years ago: lkocman added keyword "github" to this project.
  • over 4 years ago: lkocman liked this project.
  • over 4 years ago: hennevogel liked this project.
  • over 4 years ago: deneb_alpha liked this project.
  • over 4 years ago: lkocman started this project.
  • over 4 years ago: lkocman originated this project.

  • Comments

    • lkocman
      over 4 years ago by lkocman | Reply

      Just a brainstorm github.com/opensuse/how-to-release sounds more sexy than /opensuse-release-process which is otherwise more accourate

      • gameboy974
        over 4 years ago by gameboy974 | Reply

        I disagree : ) opensuse-release-process is simpler and more accurate therefore more sexy ; )

    • lkocman
      over 4 years ago by lkocman | Reply

      https://github.com/openSUSE/openSUSE-release-process

    • lkocman
      over 4 years ago by lkocman | Reply

      https://github.com/openSUSE/md2workflow/issues/11

    • lkocman
      over 4 years ago by lkocman | Reply

      I've just created https://github.com/openSUSE/md2workflow/tree/hackweek19

      People who want to help can check https://github.com/openSUSE/md2workflow/issues/11 which is a task to support redmine. We essentially want to replicate md2workflow/backend/jirabackend.py but for redmine (including task depedencies and so on). I could use a help on this one as long as people are willing to write some basic tests as well.

    • lkocman
      over 4 years ago by lkocman | Reply

      This is the task for initial import of redmine in m2workflow compatible format https://github.com/openSUSE/openSUSE-release-process/issues/1

    • lkocman
      over 4 years ago by lkocman | Reply

      This is the task to create a tool which can convert redmine exports into md2workflow markdown files. https://github.com/openSUSE/md2workflow/issues/16

      All tasks in md2workflow and openSUSE Release process have a Hackweek19 prefix.

    • lkocman
      over 4 years ago by lkocman | Reply

      https://github.com/openSUSE/md2workflow/issues/16 Was resolved. This unblocks bunch of other tasks. You can now export redmine to markdown (example is the attached single-dump.txt to the Issue 16).

      First task for myself is to replace initial tree with the output from lkocman@deadrat:~/Workspace/md2workflow> bin/redmine2md ~/Workspace/opensuse/openSUSE-release-process/redmine-export-openSUSE-Leap-15.220200205.csv

      Fortunately we can use --target-version to e.g. Chose only tasks for Alpha and dump them to the file and so on. I expect also a lot of issues without Target version set, so these will require manual placement to e.g. unsorted.md This will unblock more tasks in openSUSE-release-process

      What I'd really appreciate as a help is to create a simple ical integration. https://github.com/openSUSE/md2workflow/issues/17 This might be as easy as adding markdown variables (Start date: YYYY-MMDD, Due Date: YYYY-MMDD and Schedule item: MATCHING NAME from .ical) and simply be able to pair these with values from .ical file which could be passed as an argument to bin/md2worflow --env local (--ical-file FILE) example/my_project.conf

    • lkocman
      over 4 years ago by lkocman | Reply

      Initial import is done! This unblocks whole bunch of tasks for

      Just out of curiousity I did try to import openSUSE Leap 15.2 instructions to JIRA to see how it would look like. Fortunately there were no issues/errors raised during creation.

      Stdout from md2workflow with jira backend: http://pastebin.suse.de/25600 Backlog: https://jira-devel.suse.de/secure/RapidBoard.jspa?rapidView=1492&view=planning&selectedIssue=RMC-2258 Kanban board: https://jira-devel.suse.de/secure/RapidBoard.jspa?rapidView=1492&view=detail&selectedIssue=RMC-2229

      (tasks states are random, data might be trashed in about a week or so, as this is a devel instance of jira)

    • lkocman
      over 4 years ago by lkocman | Reply

      The initial import ticket https://github.com/openSUSE/openSUSE-release-process/issues/1 Actual content of the process: https://github.com/openSUSE/openSUSE-release-process/tree/hackweek19

    • lkocman
      over 4 years ago by lkocman | Reply

      Initial skeleton for redmine support https://github.com/openSUSE/md2workflow/pull/22

      Can be tested by running

      bin/md2workflow --env config/redmine-example.conf example/my_project.conf

      or openSUSE-Leap.conf from openSUSE-release-process (branch hackweek19)

    • lkocman
      over 4 years ago by lkocman | Reply

      Just a tip for testing api by using a ad-hoc container running redmine instance https://hub.docker.com/_/redmine ` sudo docker pull redmine sudo docker run --name hackweek19-redmine redmine sudo docker inspect hackweek19-redmine | grep '"IPAddress":' "IPAddress": "172.17.0.2",

      grep redmine /etc/hosts 172.17.0.2 redmine-local `

    • lkocman
      over 4 years ago by lkocman | Reply

      (admin/admin)

    • lkocman
      over 4 years ago by lkocman | Reply

      Just figured out that I'll have to add python3-python-redmine to Leap :-) Meanwhile adding dependency on python-redmine to the WIP pull request in md2workflow

    • lkocman
      over 4 years ago by lkocman | Reply

      Got working redmine session in redminebackend.py!

    • lkocman
      over 4 years ago by lkocman | Reply

      So I have the local redmine creation done. However I figured out that you can't create the entire stack of layers by yourself as redmine api does not support adding Tracker. It supports only .get() for this Resource.

      Therefore I can create project -> subproject -> targetversion -> (NOT tracker) -> task -> subtask Reansonable sounds to have setup of Project and Subproject in advance together with tracker. While targetversion, task subtask gets created by the tool. https://python-redmine.com/resources/tracker.html

    • lkocman
      over 4 years ago by lkocman | Reply

      Essentially, Issue states, issue tracker, issue workflow and issue priorities have to be defined in parent project and then we can inherit it all. So that should not be a problem if you're not creating redmine setup from scratch, like I do :-)

    • lkocman
      over 4 years ago by lkocman | Reply

      I think I'm 80 percent done with coding part. Just small correction in issue relations and schedule integration. That would be topic for tomorrow.

      Last code is available here https://github.com/openSUSE/md2workflow/pull/22 and https://github.com/openSUSE/openSUSE-release-process/tree/hackweek19

    • lkocman
      over 4 years ago by lkocman | Reply

      Redmine support is finished. Pull request was merged.

    • lkocman
      over 4 years ago by lkocman | Reply

      Schedule integration was also done for both Redmine and Jira.

    • lkocman
      over 4 years ago by lkocman | Reply

      Marking project as finished! Ufff... add-emoji

    • okurz
      over 4 years ago by okurz | Reply

      just in time for the weekend ;)

    Similar Projects

    This project is one of its kind!