Browse Source

Prerelease taskfile command (#3470)

Stefan McShane 2 năm trước cách đây
mục cha
commit
5d88e43d4d
1 tập tin đã thay đổi với 23 bổ sung0 xóa
  1. 23 0
      Taskfile.yaml

+ 23 - 0
Taskfile.yaml

@@ -16,6 +16,29 @@ tasks:
     - cmd: git push origin production
     - cmd: git push origin production
       ignore_error: false
       ignore_error: false
       silent: true
       silent: true
+
+  cli-prerelease:
+    desc: Create prerelease of CLI at the provided semantic version. Call `task cli-prerelease -- v1.2.3` where v1.2.3 is the desired tag for releasing
+    cmds:
+    - task: semantic-check
+    - cmd: git fetch origin --tags 
+      silent: true
+    - cmd: git checkout master
+      silent: true
+    - cmd: git pull origin master
+      silent: true
+    - cmd: git tag {{.CLI_ARGS}}
+      silent: true
+      ignore_error: false
+    - cmd: git push origin {{.CLI_ARGS}}
+      silent: true
+      ignore_error: false
+    - cmd: echo "View your pre-release at https://github.com/porter-dev/porter/releases/tag{{ .CLI_ARGS }}"
+
+  semantic-check:
+    preconditions:
+    - sh: version={{ .CLI_ARGS }}; semantic_version_regex='^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$'; if [[ $version =~  $semantic_version_regex ]]; then; else exit 1; fi
+      msg: must use a semantic version such as v0.1.2
  
  
   lint:
   lint:
     desc: Run all available linters. This mimics any checks performed in Pull Request pre-merge checks
     desc: Run all available linters. This mimics any checks performed in Pull Request pre-merge checks