package Ġk y ge Ċ Ċ import Ġk y ge . actions . checkout Ċ import Ġk y ge . actions . download Artifact Ċ import Ġk y ge . actions . upload Artifact Ċ Ċ interface ĠAction < T > Ġ: ĠWith Interface Ġ{ ĊĠĠĠ Ġval Ġaction Name : ĠString ĊĠĠĠ Ġval Ġaction Version : ĠString ĊĠĠĠ Ġval Ġaction Name Version ed : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ"$ action Name @ $ action Version " ĊĠĠĠ Ġval Ġt : ĠT ĊĊĠĠĠ Ġ// ĠĠĠ Ġinterface ĠBuilder Ċ // ĠĠĠ Ġoperator Ġfun Ġinvoke ( block : ĠT . () Ġ-> ĠUnit ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġbuilder Ġ+= Ġ" with :" Ċ // ĠĠĠĠĠĠĠ Ġindent Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt . block () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġinvoke ( block : ĠWith . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder Ġ+= Ġ" with :" ĊĠĠĠĠĠĠĠ Ġindent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWith . block () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠActions Ġ{ ĊĊĠĠĠ Ġval Ġcheckout : Ġcheckout ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġk y ge . actions . checkout ĊĠĠĠ Ġval Ġupload Artifact : Ġupload Artifact ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġk y ge . actions . upload Artifact ĊĠĠĠ Ġval Ġdownload Artifact : Ġdownload Artifact ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġk y ge . actions . download Artifact Ċ }