learndrone/.woodpecker.yml
Pedro Pérez c8167af618
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
add fix
2025-05-30 01:14:43 +02:00

61 lines
1.8 KiB
YAML

when:
- event: push
branch: main
steps:
go-test:
image: golang:1.24
environment:
CGO_ENABLED: 0
GOOS: linux
GOARCH: amd64
commands:
- go test ./...
go-check-version:
image: golang:1.24
commands:
- echo "Checking project version..."
- VERSION_CURRENT=$(grep 'version =' main.go | cut -d'"' -f2)
- PREV_COMMIT=$(git rev-parse HEAD^)
- VERSION_PREV=$(git show "$PREV_COMMIT:main.go" | grep 'version =' | cut -d'"' -f2)
- |
if [ "$VERSION_CURRENT" = "$VERSION_PREV" ]; then
echo "❌ The version has not changed. You must update it to merge to main."
exit 1
else
echo "✅ The version has changed correctly."
fi
go-build:
image: golang:1.24
environment:
CGO_ENABLED: 0
GOOS: linux
GOARCH: amd64
commands:
- mkdir -p ./tmp
- go get
- echo "Building project version $(grep 'version =' main.go | cut -d'"' -f2)"
- go build -o ./tmp/learndrone ./main.go
docker-build:
image: docker:23
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /containers/learndrone:/containers/learndrone
commands:
- VERSION=$(grep 'version =' main.go | cut -d'"' -f2)
- echo "Packing Docker image version $VERSION"
- docker build -t learndrone:$VERSION -t learndrone:latest .
- docker save learndrone:latest -o /containers/learndrone/learndrone_latest.tar
deploy:
image: docker:23
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /containers/learndrone:/containers/learndrone
commands:
- docker load -i /containers/learndrone/learndrone_latest.tar
- rm /containers/learndrone/learndrone_latest.tar
- docker-compose down
- docker-compose up -d