# yaml-language-server: $schema=https://git.jesof.ch/public/mstr-schemas/raw/branch/main/mstr-tasks-schema.json tasks: - execute: description: "Git Hash" exec: "git" dir: "." args: - "rev-parse" - "HEAD" parsers: - name: "Parse Text" expression: "(.*)" parser: "regexp" variables: - "githash" - loadVersion: description: "Load version file and increment release level" varName: "version" file: ".mstr.json" increment: $(release) - saveVersion: description: "Save version file" varName: "version" file: ".mstr.json" - execute: description: "Git Add Changes" exec: "git" dir: "." args: - "add" - ".mstr.json" - execute: description: "Git Commit Changes" exec: "git" dir: "." args: - "commit" - "-m" - "Version file updated" - execute: description: "Git Push Changes" exec: "git" dir: "." args: - "push" - "--all" #changes - execute: description: "Get last version" exec: "git" dir: "." args: - "describe" - "--tags" - "--abbrev=0" response: name: "oldVersion" - execute: description: "Get changes" exec: "git" dir: "." args: - "log" - "$(oldVersion)..HEAD" - '--pretty=format:- %s' response: name: "changes" encode: "json" trim: true - execute: description: "Release Version" exec: "curl" args: - "-sSf" - "-X" - "POST" - "-H" - "Authorization: token $(decrypt(gitToken,keyfile))" - "-H" - "Content-Type: application/json" - "@(releases)/golang/$(gitRepo)/releases" - "-d" - '{"tag_name": "$(version)","name": "$(version)","body": "$("## Changes\\n"+changes)","draft": false,"prerelease": false}' parsers: - name: "Get release ID" parser: "jq" expression: ".id" variables: - "releaseId"