Taskfile.yaml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. version: '3'
  2. tasks:
  3. move-to-production:
  4. desc: Move the current branch to production
  5. cmds:
  6. - cmd: git fetch origin --tags
  7. silent: true
  8. - cmd: git checkout master
  9. silent: true
  10. - cmd: git pull origin master
  11. silent: true
  12. - cmd: git tag -d production
  13. ignore_error: false
  14. silent: true
  15. - cmd: git push origin :production
  16. ignore_error: false
  17. silent: true
  18. - cmd: git tag production
  19. ignore_error: false
  20. silent: true
  21. - cmd: git push origin production
  22. ignore_error: false
  23. silent: true
  24. cli-prerelease:
  25. 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
  26. cmds:
  27. - task: semantic-check
  28. - cmd: git fetch origin --tags
  29. silent: true
  30. - cmd: git checkout master
  31. silent: true
  32. - cmd: git pull origin master
  33. silent: true
  34. - cmd: git tag {{.CLI_ARGS}}
  35. silent: true
  36. ignore_error: false
  37. - cmd: git push origin {{.CLI_ARGS}}
  38. silent: true
  39. ignore_error: false
  40. - cmd: echo "View your pre-release at https://github.com/porter-dev/porter/releases/tag{{ .CLI_ARGS }}"
  41. semantic-check:
  42. preconditions:
  43. - 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
  44. msg: must use a semantic version such as v0.1.2
  45. lint:
  46. desc: Run all available linters. This mimics any checks performed in Pull Request pre-merge checks
  47. cmd: golangci-lint run -c .github/golangci-lint.yaml
  48. env:
  49. GOWORK: off