\psset{griddots=0,gridlabels=8pt,subgriddiv=5}
\psset{xunit=10mm,yunit=10mm}
\begin{pspicture}(12,20)
	\psgrid
	% master
	\newcommand{\clr}{black}
	\newcommand{\masterx}{6}
	\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,19)(\masterx,1)
	\psset{fillcolor=\clr}
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,18)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,17)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,15)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,13)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,12)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,4)
	\rput(\masterx,19.5){
		\psset{fillcolor=white}
		\psset{fillstyle=solid}
		\psset{linecolor=\clr}
		\psset{framearc=.5}
		\psframebox{\textcolor{\clr}{master}}
	}
	% feature/anti_osc
	\renewcommand{\clr}{ForestGreen}
	\newcommand{\featurex}{4}
	\psline[linewidth=2pt,linecolor=\clr](\masterx,18)(\featurex,17)
	\psline[linewidth=2pt,linecolor=\clr](\featurex,17)(\featurex,14)
	\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,14)(\masterx,13)
	\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,18)(\featurex,13)
	\multido{\nA=14+1.5}{3}{
		\psset{fillcolor=\clr}
		\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,\nA)
	}
	\rput(\featurex,18.5){
		\psset{fillcolor=white}
		\psset{fillstyle=solid}
		\psset{linecolor=\clr}
		\psset{framearc=.5}
		\psframebox{\textcolor{\clr}{feature/anti\_osc}}
	}
	% fix/calibration_crc
	\renewcommand{\clr}{Maroon}
	\newcommand{\fixx}{8}
	\psline[linewidth=2pt,linecolor=\clr](\masterx,17)(\fixx,16)
	\psline[linewidth=2pt,linecolor=\clr](\fixx,16)(\fixx,13)
	\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,13)(\masterx,12)
	\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,17)(\fixx,12)
	\multido{\nA=13+1.5}{3}{
		\psset{fillcolor=\clr}
		\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA)
	}
	\rput(\fixx,17.5){
		\psset{fillcolor=white}
		\psset{fillstyle=solid}
		\psset{linecolor=\clr}
		\psset{framearc=.5}
		\psframebox{\textcolor{\clr}{fix/calibration\_crc}}
	}
	% feature/dynamic_monitoring
	\renewcommand{\clr}{RoyalBlue}
	\renewcommand{\fixx}{10}
	\psline[linewidth=2pt,linecolor=\clr](\masterx,15)(\fixx,13)
	\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,13)(\fixx,1)
	\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,14)(\fixx,9)
	\rput(\fixx,14.5){
		\psset{fillcolor=white}
		\psset{fillstyle=solid}
		\psset{linecolor=\clr}
		\psset{framearc=.5}
		\psframebox{\textcolor{\clr}{feature/dyn\_mon}}
	}
	\psset{fillcolor=\clr}
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,13)
	% release/NAR_C0
	\renewcommand{\clr}{RedOrange}
	\renewcommand{\fixx}{4}
	\psline[linewidth=2pt,linecolor=\clr](\masterx,12)(\fixx,11)
	\psline[linewidth=2pt,linecolor=\clr](\fixx,11)(\fixx,5)
	\psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,12)(\fixx,4)
	\psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,5)(\masterx,4)
	\rput(\fixx,12.5){
		\psset{fillcolor=white}
		\psset{fillstyle=solid}
		\psset{linecolor=\clr}
		\psset{framearc=.5}
		\psframebox{\textcolor{\clr}{release/NAR\_C0}}
	}
	\psset{fillcolor=\clr}
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,11)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,9.5)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,8)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,6.5)
	\psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,5)
\end{pspicture}
\captionof{figure}{Gitlab workflow while release}
