Taskfile.yaml 1.6 KB

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