mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-03 09:51:39 +00:00
feat: introduce Taskfile automation for build and deployment
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
PROXY: package://pkg.pkl-lang.org/pkl-pantry
|
||||
NAME: org.json_schema.contrib
|
||||
VERSION: 1.1.3
|
||||
PKG: "{{.PROXY}}/{{.NAME}}@{{.VERSION}}#"
|
||||
ROOT_DIR:
|
||||
sh: git rev-parse --show-toplevel
|
||||
|
||||
tasks:
|
||||
jsonpkl-*:
|
||||
dir: '{{.ROOT_DIR}}'
|
||||
vars:
|
||||
FILE: '{{index .MATCH 0}}'
|
||||
cmds:
|
||||
- task: schemagen-{{.FILE}}
|
||||
- task: gojson-{{.FILE}}
|
||||
|
||||
pkljson-*:
|
||||
dir: '{{.ROOT_DIR}}'
|
||||
vars:
|
||||
INPUT: '{{index .MATCH 0}}'
|
||||
cmds:
|
||||
- pkl eval {{.PKG}}/generate.pkl -m . -p source=types/schemas/{{.INPUT}}
|
||||
- mv *.pkl pkl/
|
||||
|
||||
gojson-*:
|
||||
dir: '{{.ROOT_DIR}}'
|
||||
vars:
|
||||
INPUT: '{{index .MATCH 0}}'
|
||||
GOOUT:
|
||||
sh: echo {{.INPUT}} | sed 's/\.json//'
|
||||
FLAGS: --schema-output=http://json-schema.org/draft-04/schema#=internal/models/{{.GOOUT}}.go --schema-package=http://json-schema.org/draft-04/schema#=github.com/prnk28/gh-pm
|
||||
cmds:
|
||||
- go-jsonschema {{.FLAGS}} -p models types/schemas/{{.INPUT}} > internal/models/{{.GOOUT}}.go
|
||||
|
||||
schemagen-*:
|
||||
dir: '{{.ROOT_DIR}}'
|
||||
vars:
|
||||
INPUT: '{{index .MATCH 0}}'
|
||||
OUTPUT:
|
||||
sh: basename {{.INPUT}}
|
||||
cmds:
|
||||
- mkdir -p types/schemas
|
||||
- json-schema-generator -f types/base/{{.INPUT}} -o types/schemas/{{.OUTPUT}}
|
||||
|
||||
fetch-data:
|
||||
dir: '{{.ROOT_DIR}}'
|
||||
cmds:
|
||||
- mkdir -p types/base
|
||||
- gh project item-list 4 --owner coindotfi --format json --jq .items > types/base/cards.json
|
||||
- gh issue ls --repo=coindotfi/coind --json author,assignees,body,id,labels,milestone,number,projectCards,projectItems,state,stateReason,title,url > types/base/issues.json
|
||||
- gh project ls --owner=coindotfi --format json --jq .projects > types/base/projects.json
|
||||
- gh api user > types/base/user.json
|
||||
- gh pr ls --json "id" --json "title" --json "headRefName" --json "createdAt" --json "author" --json "number" > types/base/prs.json
|
||||
- gh release list --repo onsonr/sonr --json "name" --json "tagName" --json "publishedAt" --json "isDraft" --json "isLatest" > types/base/releases.json
|
||||
- gh milestone ls --repo onsonr/sonr --state all --json title,number,url,id,progressPercentage,state | sed 's/\[onsonr\/sonr onsonr sonr\]//' | tee types/base/milestones.json
|
||||
Reference in New Issue
Block a user