1
0
mirror of https://github.com/go-task/task.git synced 2024-12-12 10:45:49 +02:00

Improve release process and testing automatic release on new tag using Travis

This commit is contained in:
Andrey Nering 2018-03-11 15:31:27 -03:00
parent 120d0be84c
commit 2183e1e9f5
4 changed files with 66 additions and 8 deletions

View File

@ -22,12 +22,35 @@ archive:
release:
draft: true
fpm:
snapshot:
name_template: "{{.Tag}}"
nfpm:
vendor: Task
homepage: https://github.com/go-task/task
maintainer: Andrey Nering <andrey.nering@gmail.com>
description: Simple task runner written in Go
license: MIT
conflicts:
- taskwarrior
formats:
- deb
- rpm
brew:
name: go-task
github:
owner: go-task
name: homebrew-tap
commit_author:
name: Andrey Nering
email: andrey.nering@gmail.com
folder: Formula
homepage: https://github.com/go-task/task
description: Task runner / simpler Make alternative written in Go
conflicts:
- taskwarrior
install: |
bin.install "task"
test: |
system "#{bin}/task", "--help"

View File

@ -1,10 +1,25 @@
language: go
go:
- '1.8'
- '1.9'
- '1.10'
addons:
apt:
packages:
- rpm
script:
- go install github.com/go-task/task/cmd/task
- task dl-deps
- task lint
- task test
deploy:
- provider: script
skip_cleanup: true
script: curl -sL http://git.io/goreleaser | bash
on:
tags: true
condition: $TRAVIS_OS_NAME = linux

26
RELEASING_TASK.md Normal file
View File

@ -0,0 +1,26 @@
# Releasing Task
The release process of Task is done is done with the help of
[GoReleaser][goreleaser]. You can test the release process locally by calling
the `test-release` task of the Taskfile.
The Travis CI should release automatically when a new
Git tag is pushed to master, either for the artifact uploading (raw executables
and DEB and RPM packages) and publishing of a new version in the
[Homebrew tap][homebrewtap].
# Snapcraft
The exception is the publishing of a new version of the
[snap package][snappackage]. This current require two steps after publishing
the binaries:
* Updating the current version on [snapcraft.yaml][snapcraftyaml];
* Moving either the `i386` and `amd64` new artifacts to the stable channel on
the [Snapscraft dashboard][snapcraftdashboard]
[goreleaser]: https://goreleaser.com/#continuous_integration
[homebrewtap]: https://github.com/go-task/homebrew-tap
[snappackage]: https://github.com/go-task/snap
[snapcraftyaml]: https://github.com/go-task/snap/blob/master/snap/snapcraft.yaml#L2
[snapcraftdashboard]: https://dashboard.snapcraft.io/

View File

@ -39,16 +39,10 @@ tasks:
cmds:
- go test {{.GO_PACKAGES}}
# https://github.com/goreleaser/goreleaser
release:
desc: Release Task
cmds:
- goreleaser
test-release:
desc: Tests release process without publishing
cmds:
- goreleaser --snapshot
- goreleaser --snapshot --rm-dist
todo:
desc: Prints TODO comments present in the code