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

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

  • Comments

    • lkocman
      about 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
        about 4 years ago by gameboy974 | Reply

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

    • lkocman
    • lkocman
    • lkocman
      about 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
      about 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
      about 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
      about 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
      about 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
    • lkocman
      about 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
      about 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
      about 4 years ago by lkocman | Reply

      (admin/admin)

    • lkocman
      about 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
      about 4 years ago by lkocman | Reply

      Got working redmine session in redminebackend.py!

    • lkocman
      about 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
      about 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
      about 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
      about 4 years ago by lkocman | Reply

      Redmine support is finished. Pull request was merged.

    • lkocman
      about 4 years ago by lkocman | Reply

      Schedule integration was also done for both Redmine and Jira.

    • lkocman
      about 4 years ago by lkocman | Reply

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

    • okurz
      about 4 years ago by okurz | Reply

      just in time for the weekend ;)

    Similar Projects

    Containerized home mirror by lkocman

    I'm running a simple home mirror, but I managed...


    Update Haskell ecosystem in Tumbleweed to GHC-9.6.x by psimons

    [comment]: # (Please use the project descriptio...


    Investigate zypper/openSUSE repository refresh optimisations by dirkmueller

    [comment]: # (Please use the project descriptio...


    Apple Silicon openSUSE spin by vgrinco

    Project Description

    The folks at [Asahi lin...


    Basic calendar interface for upcoming openSUSE meetings by lkocman

    [comment]: # (Please use the project descriptio...


    Create a new markup language with parser in rust by nkrapp

    Project Description

    Write a parser for my...


    Collect flaky test cases identified by the team in a GitHub board and highlight them in the Test report by oscar-barrios

    Project Description

    Flaky tests: Th...


    Deep clean-up of the Uyuni documentation files by omaric

    Project Description

    This project is plann...


    Test Results for openQA on GitHub by livdywan

    Project Description

    Jobs in openQA are us...


    Avahi Integration and Network Connection by vojha

    Avahi Integration and Network Connection

    ...


    Improved Product Development Process by rtsvetkov

    [comment]: # (Please use the project descriptio...


    Package MONAI Machine Learning Models for Medical Applications by jordimassaguerpla

    Project Description

    MONAI Deploy aims to ...


    Test Results for openQA on GitHub by livdywan

    Project Description

    Jobs in openQA are us...