Commit df83f1de authored by Lukas Nagel's avatar Lukas Nagel
Browse files

Merge branch 'presentation' into 'master'

final version of slides

See merge request !4
parents d3c28a15 fbccfc29
Pipeline #146490 passed with stages
in 10 minutes and 44 seconds
......@@ -11,7 +11,12 @@ presentation=\
presentation/presentation.pdf
versionsgraphen=\
grafiken/example-graph.pdf \
grafiken/example-graph-step00.pdf \
grafiken/example-graph-step01.pdf \
grafiken/example-graph-step02.pdf \
grafiken/example-graph-step03.pdf \
grafiken/example-graph-hl-branch.pdf \
grafiken/example-graph-hl-merge.pdf \
grafiken/ex1-graph.pdf \
grafiken/ex1-graph-precommit.pdf \
grafiken/ex2-graph-precommit.pdf \
......@@ -29,12 +34,17 @@ versionsgraphen=\
grafiken=\
$(versionsgraphen) \
grafiken/github-workflow.pdf \
grafiken/github-actions.pdf \
grafiken/git-object.pdf
grafiken/github-actions-step00.pdf \
grafiken/github-actions-step01.pdf \
grafiken/github-actions-step02.pdf \
grafiken/github-actions-step03.pdf \
grafiken/git-object.pdf \
grafiken/concept-overview.pdf
bilder=\
presentation/github-repo.png \
presentation/github-userpage.png \
presentation/xkcd_git.png \
presentation/kinda-sus.png
dokumente=$(mindmap) $(presentation) $(paper)
......@@ -75,7 +85,8 @@ $(grafiken): grafiken/theme.tex
$(versionsgraphen) git-object: grafiken/versiongraph.tex
$(presentation): $(grafiken) $(bilder) presentation/theme.tex
$(presentation): presentation/slides-wrapper.pdf
presentation/slides-wrapper.pdf: $(grafiken) $(bilder) presentation/theme.tex presentation/slides.tex
$(paper): paper/paper.md $(grafiken)
paper/paper.md: references.bib
......@@ -83,9 +94,14 @@ paper/paper.md: references.bib
example/example.tar.gz: $(example)
tar -acf $@ $^
grafiken/github-actions-step*.pdf: grafiken/github-actions.tex
grafiken/example-graph-step*.pdf: grafiken/example-graph.tex
# Generic Recipes
presentation/xkcd_%.png:
curl -sLo $@ https://imgs.xkcd.com/comics/$*.png
%.tex: %.md
pandoc --biblatex -s -o $@ -i $<
......
\documentclass[border=0.5mm]{standalone}
\input{theme}
\input{versiongraph}
\usetikzlibrary{backgrounds}
\usetikzlibrary{shapes}
\tikzstyle{box}=%
[ branch
, draw=black!10
, font=\large\tt
, fill=#1
, minimum width=2cm
, node distance=1cm
]
\tikzstyle{line}=%
[ draw=nontext
, line width=1pt
]
\tikzstyle{trans}=%
[ single arrow
, align=center
, fill=nontext
, text=text
, text width=#1
, anchor=west
]
\tikzstyle{snart}=%
[ trans=#1
, shape border rotate=180
, anchor=east
]
\def\height{5cm}
\def\calc#1{\pgfmathparse{#1}\pgfmathresult}
\begin{document}
\begin{tikzpicture}%
[ draw=nontext
]
\node[box=lightgreen] (tree) {Tree};
\node[box=lightblue, right=of tree] (indx) {Index};
\node[box=lightgreen, right=of indx] (repo) {Repo};
\draw[line] (tree.south) -- +(0,-\height);
\draw[line] (indx.south) -- +(0,-\height);
\draw[line] (repo.south) -- +(0,-\height);
\path[->, nontext, line width=1pt] ([yshift=-0.75cm]tree.south) edge[bend left=100, distance=1cm] node[color=black, midway, right] {Änderungen} ([yshift=-1.25cm]tree.south);
\node[trans=2.51cm] (test) at ([yshift=-2cm]tree.south) {add};
\node[trans=2.51cm] (test) at ([yshift=-3cm]indx.south) {commit};
\node[snart=5.51cm] (test) at ([yshift=-4cm]repo.south) {checkout};
\end{tikzpicture}
\end{document}
\documentclass{standalone}
\input{theme}
\input{versiongraph}
\tikzstyle{expl}=%
[ rectangle
, rounded corners=6pt
, draw=black!50!green
, dotted
, text=nontext!50!black
, font=\scriptsize\itshape
, fill=white!90!green
]
\tikzstyle{expledge}=%
[ draw=lightgreen!50!black
, dotted
]
\begin{document}
\begin{tikzpicture}%
[ versionsgraph
, every node/.append style={fade}
]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit, focus]{\pepcommit}{lightblue}{\rootcommit};
\commit[above right=of \pepcommit, focus]{\sortcommit}{lightred}{\pepcommit};
\commit[right=of \sortcommit]{\refactorcommit}{lightred}{\sortcommit};
\commit[right=of \pepcommit, focus]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit,\refactorcommit};
\branch{master}{\mergecommit}
\branch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\message[above=of \sortcommit]{\sortcommit}{presort}
\message[above=of \refactorcommit]{\refactorcommit}{refactor}
\message{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\HEAD{master}
\node[expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[expledge] (expl branch) edge[in=0, out=270] (master);
\draw[expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\documentclass{standalone}
\input{theme}
\input{versiongraph}
\tikzstyle{expl}=%
[ rectangle
, rounded corners=6pt
, draw=black!50!green
, dotted
, text=nontext!50!black
, font=\scriptsize\itshape
, fill=white!90!green
]
\tikzstyle{expledge}=%
[ draw=lightgreen!50!black
, dotted
]
\begin{document}
\begin{tikzpicture}%
[ versionsgraph
, every node/.append style={fade}
]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[above right=of \pepcommit]{\sortcommit}{lightred}{\pepcommit};
\commit[right=of \sortcommit, focus]{\refactorcommit}{lightred}{\sortcommit};
\commit[right=of \pepcommit, focus]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm, focus]{\mergecommit}{lightblue}{\proofcommit,\refactorcommit};
\branch{master}{\mergecommit}
\branch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\message[above=of \sortcommit]{\sortcommit}{presort}
\message[above=of \refactorcommit]{\refactorcommit}{refactor}
\message{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\HEAD{master}
\node[expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[expledge] (expl branch) edge[in=0, out=270] (master);
\draw[expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\input{example-graph}
\begin{document}
\begin{tikzpicture}[versionsgraph]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[hide, above right=of \pepcommit]{\sortcommit}{lightred}{};
\commit[hide, right=of \sortcommit]{\refactorcommit}{lightred}{};
\commit[right=of \pepcommit]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit};
\Xbranch{master}{\mergecommit}
\Xbranch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\Xmessage{\rootcommit}{initial}
\Xmessage{\pepcommit}{pep8}
\Xmessage[above=of \sortcommit]{\sortcommit}{presort}
\Xmessage[above=of \refactorcommit]{\refactorcommit}{refactor}
\Xmessage{\mergecommit}{merge alice/master into master}
\Xmessage{\proofcommit}{create proof}
\XHEAD{master}
\node[hide, expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[hide, expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[hide, expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[hide, expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[hide, expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[hide, expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[hide, expledge] (expl message) edge[in=180, out=90] (presort);
\draw[hide, expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[hide, expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[hide, expledge] (expl branch) edge[in=0, out=270] (master);
\draw[hide, expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[hide, expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\input{example-graph}
\begin{document}
\begin{tikzpicture}[versionsgraph]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[hide, above right=of \pepcommit]{\sortcommit}{lightred}{};
\commit[hide, right=of \sortcommit]{\refactorcommit}{lightred}{};
\commit[right=of \pepcommit]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit};
\Xbranch{master}{\mergecommit}
\Xbranch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\Xmessage[above=of \sortcommit]{\sortcommit}{presort}
\Xmessage[above=of \refactorcommit]{\refactorcommit}{refactor}
\Xmessage{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\XHEAD{master}
\node[hide, expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[hide, expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[hide, expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[hide, expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[hide, expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[hide, expledge] (expl branch) edge[in=0, out=270] (master);
\draw[hide, expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[hide, expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\input{example-graph}
\begin{document}
\begin{tikzpicture}[versionsgraph]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[above right=of \pepcommit]{\sortcommit}{lightred}{\pepcommit};
\commit[right=of \sortcommit]{\refactorcommit}{lightred}{\sortcommit};
\commit[right=of \pepcommit]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit,\refactorcommit};
\Xbranch{master}{\mergecommit}
\Xbranch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\message[above=of \sortcommit]{\sortcommit}{presort}
\message[above=of \refactorcommit]{\refactorcommit}{refactor}
\message{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\XHEAD{master}
\node[expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[hide, expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[hide, expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[hide, expledge] (expl branch) edge[in=0, out=270] (master);
\draw[hide, expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\input{example-graph}
\begin{document}
\begin{tikzpicture}[versionsgraph]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[above right=of \pepcommit]{\sortcommit}{lightred}{\pepcommit};
\commit[right=of \sortcommit]{\refactorcommit}{lightred}{\sortcommit};
\commit[right=of \pepcommit]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit,\refactorcommit};
\branch{master}{\mergecommit}
\branch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\message[above=of \sortcommit]{\sortcommit}{presort}
\message[above=of \refactorcommit]{\refactorcommit}{refactor}
\message{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\HEAD{master}
\node[expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[expledge] (expl branch) edge[in=0, out=270] (master);
\draw[expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
......@@ -16,47 +16,3 @@
[ draw=lightgreen!50!black
, dotted
]
\begin{document}
\begin{tikzpicture}[versionsgraph]
\commit{\rootcommit}{lightblue}{};
\commit[right=of \rootcommit]{\pepcommit}{lightblue}{\rootcommit};
\commit[above right=of \pepcommit]{\sortcommit}{lightred}{\pepcommit};
\commit[right=of \sortcommit]{\refactorcommit}{lightred}{\sortcommit};
\commit[right=of \pepcommit]{\proofcommit}{lightblue}{\pepcommit};
\commit[right=of \proofcommit, xshift=1.2cm]{\mergecommit}{lightblue}{\proofcommit,\refactorcommit};
\branch{master}{\mergecommit}
\branch[remote, above right=of \refactorcommit]{alice/master}{\refactorcommit}
\message{\rootcommit}{initial}
\message{\pepcommit}{pep8}
\message[above=of \sortcommit]{\sortcommit}{presort}
\message[above=of \refactorcommit]{\refactorcommit}{refactor}
\message{\mergecommit}{merge alice/master into master}
\message{\proofcommit}{create proof}
\HEAD{master}
\node[expl, below left=0.3cm of presort]
(expl message) {commit Beschreibung};
\node[expl, above=0.3cm of \rootcommit, xshift=-0.8cm]
(expl root) {root commit};
\node[expl, above=0.3cm of \pepcommit, xshift=-0.8cm]
(expl commit) {commit};
\node[expl, above right=0.3cm of alice/master]
(expl remote) {remote branch};
\node[expl, above right=0.3cm of master]
(expl branch) {local branch};
\node[expl, above right=0.3cm of \mergecommit]
(expl merge) {merge commit};
\draw[expledge] (expl message) edge[in=180, out=90] (presort);
\draw[expledge] (expl commit) edge[in=135, out=270] (\pepcommit);
\draw[expledge] (expl root) edge[in=135, out=270] (\rootcommit);
\draw[expledge] (expl branch) edge[in=0, out=270] (master);
\draw[expledge] (expl remote) edge[in=0, out=270] (alice/master);
\draw[expledge] (expl merge) edge[in=0, out=270] (\mergecommit);
\end{tikzpicture}
\end{document}
\input{github-actions}
\begin{document}
\begin{tikzpicture}%
[ node distance=0.75cm
]
\node[concept, wf, scale=1.6] (workflow) {Workflow};
\node[hide, concept, ev, above=of workflow] (event) {Event};
\node[hide, subconcept, sub ev, above left =of event] (push) {Push};
\node[hide, subconcept, sub ev, above=of event] (pullrequest) {Pull Request};
\node[hide, subconcept, sub ev, above right=of event] (ellipsis) {...};
\node[hide, concept, wf, below=of workflow] (job) {Job};
\node[hide, concept, wf, below=of job] (step) {Step};
\node[hide, concept, wf, below=of step, xshift=-1.25cm] (script) {Script};
\node[hide, concept, ac, below=of step, xshift= 1.25cm] (action) {Action};
\node[hide, subconcept, sub ac, right=of action] (market) {Marketplace};
\node[hide, concept, rn, right=of workflow] (runner) {Runner};
\node[hide, concept, rn, above right=of runner, xshift=0.4cm] (self) {Self Hosted};
\node[hide, concept, rn, below right=of runner, xshift=0.4cm] (github) {\faGithub\ GitHub};
\node[hide, subconcept, sub rn, above right=of github] (linux) {\faLinux};
\node[hide, subconcept, sub rn, right=of github] (mac) {\faApple};
\node[hide, subconcept, sub rn, below right=of github] (windoof) {\faWindows};
\draw[hide, flow] (pullrequest) edge[out=270,in=90] (event);
\draw[hide, flow] (push) edge[out=290,in=135] (event);
\draw[hide, flow] (ellipsis) edge[out=250,in=45] (event);
\draw[hide, flow] (event) edge node[right] {triggers} (workflow);
\draw[hide, flow] (workflow) edge[min distance=10mm, out=165, in=195] node[left] {triggers} (workflow);
\draw[hide, flow] (workflow) edge node[right, near end] {*} (job);
\draw[hide, flow] (job) edge node[right, near end] {*} (step);
\draw[hide, flow] (step) edge[in=90,out=300] (action);
\draw[hide, flow] (step) edge[in=90,out=240] (script);
\draw[hide, flow] (action) edge[in=300, out=240] (script);
\draw[hide, flow] (market) edge (action);
\draw[hide, flow] (runner) edge (workflow);
\draw[hide, flow] (github) edge[in=-10, out=180] (runner);
\draw[hide, flow] (self) edge[in= 10, out=180] (runner);
\draw[hide, flow] (market) edge[out=0, in=270] (github);
\draw[hide, flow] (github) edge (linux);
\draw[hide, flow] (github) edge (windoof);
\draw[hide, flow] (github) edge (mac);
\end{tikzpicture}
\end{document}
\input{github-actions}
\begin{document}
\begin{tikzpicture}%
[ node distance=0.75cm
]
\node[concept, wf, scale=1.6] (workflow) {Workflow};
\node[concept, ev, above=of workflow] (event) {Event};
\node[subconcept, sub ev, above left =of event] (push) {Push};
\node[subconcept, sub ev, above=of event] (pullrequest) {Pull Request};
\node[subconcept, sub ev, above right=of event] (ellipsis) {...};
\node[hide, concept, wf, below=of workflow] (job) {Job};
\node[hide, concept, wf, below=of job] (step) {Step};
\node[hide, concept, wf, below=of step, xshift=-1.25cm] (script) {Script};
\node[hide, concept, ac, below=of step, xshift= 1.25cm] (action) {Action};
\node[hide, subconcept, sub ac, right=of action] (market) {Marketplace};
\node[hide, concept, rn, right=of workflow] (runner) {Runner};
\node[hide, concept, rn, above right=of runner, xshift=0.4cm] (self) {Self Hosted};
\node[hide, concept, rn, below right=of runner, xshift=0.4cm] (github) {\faGithub\ GitHub};
\node[hide, subconcept, sub rn, above right=of github] (linux) {\faLinux};
\node[hide, subconcept, sub rn, right=of github] (mac) {\faApple};
\node[hide, subconcept, sub rn, below right=of github] (windoof) {\faWindows};
\draw[flow] (pullrequest) edge[out=270,in=90] (event);
\draw[flow] (push) edge[out=290,in=135] (event);
\draw[flow] (ellipsis) edge[out=250,in=45] (event);
\draw[flow] (event) edge node[right] {triggers} (workflow);
\draw[flow] (workflow) edge[min distance=10mm, out=165, in=195] node[left] {triggers} (workflow);
\draw[hide, flow] (workflow) edge node[right, near end] {*} (job);
\draw[hide, flow] (job) edge node[right, near end] {*} (step);
\draw[hide, flow] (step) edge[in=90,out=300] (action);
\draw[hide, flow] (step) edge[in=90,out=240] (script);
\draw[hide, flow] (action) edge[in=300, out=240] (script);
\draw[hide, flow] (market) edge (action);
\draw[hide, flow] (runner) edge (workflow);
\draw[hide, flow] (github) edge[in=-10, out=180] (runner);
\draw[hide, flow] (self) edge[in= 10, out=180] (runner);
\draw[hide, flow] (market) edge[out=0, in=270] (github);
\draw[hide, flow] (github) edge (linux);
\draw[hide, flow] (github) edge (windoof);
\draw[hide, flow] (github) edge (mac);
\end{tikzpicture}
\end{document}
\input{github-actions}
\begin{document}
\begin{tikzpicture}%
[ node distance=0.75cm
]
\node[concept, wf, scale=1.6] (workflow) {Workflow};
\node[concept, ev, above=of workflow] (event) {Event};
\node[subconcept, sub ev, above left =of event] (push) {Push};
\node[subconcept, sub ev, above=of event] (pullrequest) {Pull Request};
\node[subconcept, sub ev, above right=of event] (ellipsis) {...};
\node[concept, wf, below=of workflow] (job) {Job};
\node[concept, wf, below=of job] (step) {Step};
\node[concept, wf, below=of step, xshift=-1.25cm] (script) {Script};
\node[concept, ac, below=of step, xshift= 1.25cm] (action) {Action};
\node[subconcept, sub ac, right=of action] (market) {Marketplace};
\node[hide, concept, rn, right=of workflow] (runner) {Runner};
\node[hide, concept, rn, above right=of runner, xshift=0.4cm] (self) {Self Hosted};
\node[hide, concept, rn, below right=of runner, xshift=0.4cm] (github) {\faGithub\ GitHub};
\node[hide, subconcept, sub rn, above right=of github] (linux) {\faLinux};
\node[hide, subconcept, sub rn, right=of github] (mac) {\faApple};
\node[hide, subconcept, sub rn, below right=of github] (windoof) {\faWindows};
\draw[flow] (pullrequest) edge[out=270,in=90] (event);
\draw[flow] (push) edge[out=290,in=135] (event);
\draw[flow] (ellipsis) edge[out=250,in=45] (event);
\draw[flow] (event) edge node[right] {triggers} (workflow);
\draw[flow] (workflow) edge[min distance=10mm, out=165, in=195] node[left] {triggers} (workflow);
\draw[flow] (workflow) edge node[right, near end] {*} (job);
\draw[flow] (job) edge node[right, near end] {*} (step);
\draw[flow] (step) edge[in=90,out=300] (action);
\draw[flow] (step) edge[in=90,out=240] (script);
\draw[flow] (action) edge[in=300, out=240] (script);
\draw[flow] (market) edge (action);
\draw[hide, flow] (runner) edge (workflow);
\draw[hide, flow] (github) edge[in=-10, out=180] (runner);