mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-26 11:51:02 +00:00
Merge pull request #1171 from tboerger/feature/drone-config
Integrated more tasks into make.go
This commit is contained in:
commit
370e53da1e
4 changed files with 124 additions and 41 deletions
|
@ -9,9 +9,12 @@ script:
|
||||||
- go get golang.org/x/tools/cmd/cover
|
- go get golang.org/x/tools/cmd/cover
|
||||||
- go get golang.org/x/tools/cmd/vet
|
- go get golang.org/x/tools/cmd/vet
|
||||||
- go get -u github.com/jteeuwen/go-bindata/...
|
- go get -u github.com/jteeuwen/go-bindata/...
|
||||||
- make bindata deps
|
|
||||||
|
- go run make.go bindata
|
||||||
- go run make.go build
|
- go run make.go build
|
||||||
- go run make.go vet test
|
- go run make.go vet
|
||||||
|
- go run make.go test
|
||||||
|
|
||||||
- make dist
|
- make dist
|
||||||
|
|
||||||
notify:
|
notify:
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -14,6 +14,7 @@ drone.sublime-workspace
|
||||||
*.rice-box.go
|
*.rice-box.go
|
||||||
*.db
|
*.db
|
||||||
*.txt
|
*.txt
|
||||||
|
*.min.css
|
||||||
*.min.js
|
*.min.js
|
||||||
*_bindata.go
|
*_bindata.go
|
||||||
*.toml
|
*.toml
|
||||||
|
|
36
Makefile
36
Makefile
|
@ -3,16 +3,6 @@
|
||||||
SHA := $(shell git rev-parse --short HEAD)
|
SHA := $(shell git rev-parse --short HEAD)
|
||||||
VERSION := 0.4.0-alpha
|
VERSION := 0.4.0-alpha
|
||||||
|
|
||||||
all: concat bindata build
|
|
||||||
|
|
||||||
deps:
|
|
||||||
go get github.com/jteeuwen/go-bindata/...
|
|
||||||
|
|
||||||
test:
|
|
||||||
go vet github.com/drone/drone/pkg/...
|
|
||||||
go vet github.com/drone/drone/cmd/...
|
|
||||||
go test -cover -short github.com/drone/drone/pkg/...
|
|
||||||
|
|
||||||
# Execute the database test suite against mysql 5.5
|
# Execute the database test suite against mysql 5.5
|
||||||
#
|
#
|
||||||
# You can launch a mysql container locally for testing:
|
# You can launch a mysql container locally for testing:
|
||||||
|
@ -22,38 +12,14 @@ test_mysql:
|
||||||
TEST_DRIVER="mysql" TEST_DATASOURCE="root@tcp(127.0.0.1:3306)/test" go test -short github.com/drone/drone/pkg/store/builtin
|
TEST_DRIVER="mysql" TEST_DATASOURCE="root@tcp(127.0.0.1:3306)/test" go test -short github.com/drone/drone/pkg/store/builtin
|
||||||
mysql -P 3306 --protocol=tcp -u root -e 'drop database test;'
|
mysql -P 3306 --protocol=tcp -u root -e 'drop database test;'
|
||||||
|
|
||||||
build:
|
|
||||||
go build -o bin/drone -ldflags "-X main.revision=$(SHA) -X main.version=$(VERSION).$(SHA)" github.com/drone/drone/cmd/drone-server
|
|
||||||
go build -o bin/drone-agent -ldflags "-X main.revision=$(SHA) -X main.version=$(VERSION).$(SHA)" github.com/drone/drone/cmd/drone-agent
|
|
||||||
|
|
||||||
run:
|
run:
|
||||||
bin/drone-server --debug
|
bin/drone --debug
|
||||||
|
|
||||||
clean:
|
|
||||||
find . -name "*.out" -delete
|
|
||||||
find . -name "*_bindata.go" -delete
|
|
||||||
rm -f bin/drone*
|
|
||||||
|
|
||||||
concat:
|
|
||||||
cat cmd/drone-server/static/scripts/drone.js \
|
|
||||||
cmd/drone-server/static/scripts/services/*.js \
|
|
||||||
cmd/drone-server/static/scripts/filters/*.js \
|
|
||||||
cmd/drone-server/static/scripts/controllers/*.js \
|
|
||||||
cmd/drone-server/static/scripts/term.js > cmd/drone-server/static/scripts/drone.min.js
|
|
||||||
|
|
||||||
# installs the drone binaries into bin
|
# installs the drone binaries into bin
|
||||||
install:
|
install:
|
||||||
install -t /usr/local/bin bin/drone
|
install -t /usr/local/bin bin/drone
|
||||||
install -t /usr/local/bin bin/drone-agent
|
install -t /usr/local/bin bin/drone-agent
|
||||||
|
|
||||||
# embeds all the static files directly
|
|
||||||
# into the drone binary file
|
|
||||||
bindata:
|
|
||||||
$$GOPATH/bin/go-bindata -o="cmd/drone-server/drone_bindata.go" cmd/drone-server/static/...
|
|
||||||
|
|
||||||
bindata_debug:
|
|
||||||
$$GOPATH/bin/go-bindata --debug -o="cmd/drone-server/drone_bindata.go" cmd/drone-server/static/...
|
|
||||||
|
|
||||||
docker:
|
docker:
|
||||||
docker build --file=cmd/drone-build/Dockerfile.alpine --rm=true -t drone/drone-build .
|
docker build --file=cmd/drone-build/Dockerfile.alpine --rm=true -t drone/drone-build .
|
||||||
|
|
||||||
|
|
121
make.go
121
make.go
|
@ -9,6 +9,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -34,6 +35,7 @@ var steps = map[string]step{
|
||||||
"build": build,
|
"build": build,
|
||||||
"test": test,
|
"test": test,
|
||||||
"image": image,
|
"image": image,
|
||||||
|
"clean": clean,
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -62,14 +64,84 @@ func embed() error {
|
||||||
|
|
||||||
// scripts step concatinates all javascript files.
|
// scripts step concatinates all javascript files.
|
||||||
func scripts() error {
|
func scripts() error {
|
||||||
// concatinate scripts
|
files := []string{
|
||||||
|
"cmd/drone-server/static/scripts/term.js",
|
||||||
|
"cmd/drone-server/static/scripts/drone.js",
|
||||||
|
"cmd/drone-server/static/scripts/controllers/repos.js",
|
||||||
|
"cmd/drone-server/static/scripts/controllers/builds.js",
|
||||||
|
"cmd/drone-server/static/scripts/controllers/users.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/repos.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/builds.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/users.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/logs.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/tokens.js",
|
||||||
|
"cmd/drone-server/static/scripts/services/feed.js",
|
||||||
|
"cmd/drone-server/static/scripts/filters/filter.js",
|
||||||
|
"cmd/drone-server/static/scripts/filters/gravatar.js",
|
||||||
|
"cmd/drone-server/static/scripts/filters/time.js",
|
||||||
|
}
|
||||||
|
|
||||||
|
f, err := os.OpenFile(
|
||||||
|
"cmd/drone-server/static/scripts/drone.min.js",
|
||||||
|
os.O_CREATE|os.O_RDWR|os.O_TRUNC,
|
||||||
|
0660)
|
||||||
|
|
||||||
|
defer f.Close()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to open output file")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, input := range files {
|
||||||
|
content, err := ioutil.ReadFile(input)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
f.Write(content)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// styles step concatinates the css files.
|
// styles step concatinates the stylesheet files.
|
||||||
func styles() error {
|
func styles() error {
|
||||||
// concatinate styles
|
files := []string{
|
||||||
// inject css variables?
|
"cmd/drone-server/static/styles/reset.css",
|
||||||
|
"cmd/drone-server/static/styles/fonts.css",
|
||||||
|
"cmd/drone-server/static/styles/alert.css",
|
||||||
|
"cmd/drone-server/static/styles/blankslate.css",
|
||||||
|
"cmd/drone-server/static/styles/list.css",
|
||||||
|
"cmd/drone-server/static/styles/label.css",
|
||||||
|
"cmd/drone-server/static/styles/range.css",
|
||||||
|
"cmd/drone-server/static/styles/switch.css",
|
||||||
|
"cmd/drone-server/static/styles/main.css",
|
||||||
|
}
|
||||||
|
|
||||||
|
f, err := os.OpenFile(
|
||||||
|
"cmd/drone-server/static/styles/drone.min.css",
|
||||||
|
os.O_CREATE|os.O_RDWR|os.O_TRUNC,
|
||||||
|
0660)
|
||||||
|
|
||||||
|
defer f.Close()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to open output file")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, input := range files {
|
||||||
|
content, err := ioutil.ReadFile(input)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
f.Write(content)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,6 +242,47 @@ func image() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func clean() error {
|
||||||
|
err := filepath.Walk(".", func(path string, f os.FileInfo, err error) error {
|
||||||
|
suffixes := []string{
|
||||||
|
".out",
|
||||||
|
"_bindata.go",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, suffix := range suffixes {
|
||||||
|
if strings.HasSuffix(path, suffix) {
|
||||||
|
if err := os.Remove(path); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
files := []string{
|
||||||
|
"bin/drone",
|
||||||
|
"bin/drone-agent",
|
||||||
|
"bin/drone-build",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, file := range files {
|
||||||
|
if _, err := os.Stat(file); err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := os.Remove(file); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// trace is a helper fucntion that writes a command
|
// trace is a helper fucntion that writes a command
|
||||||
// to stdout similar to bash +x
|
// to stdout similar to bash +x
|
||||||
func trace(args []string) {
|
func trace(args []string) {
|
||||||
|
|
Loading…
Reference in a new issue