updated drone config
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
Paul 2020-12-04 20:04:44 +01:00
parent b5c41384e3
commit cc2c7c0300
3 changed files with 125 additions and 14 deletions

View File

@ -1,3 +1,24 @@
---
kind: pipeline
type: docker
name: cleanup-before
steps:
- name: clean
image: alpine
commands:
- rm -rf /build/*
volumes:
- name: build
path: /build
when:
event: tag
volumes:
- name: build
host:
path: /tmp/weather/build
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
@ -11,18 +32,17 @@ steps:
environment: environment:
GOOS: linux GOOS: linux
GOARCH: amd64 GOARCH: amd64
- name: release volumes:
image: plugins/gitea-release - name: build
settings: path: /build
base_url: https://git.paulbsd.com
api_key: volumes:
from_secret: gitea_token - name: build
files: "*.tar.gz" host:
checksum: path: /tmp/weather/build
- sha256
- sha512 depends_on:
when: - cleanup-before
event: tag
--- ---
kind: pipeline kind: pipeline
@ -37,6 +57,33 @@ steps:
environment: environment:
GOOS: linux GOOS: linux
GOARCH: arm64 GOARCH: arm64
volumes:
- name: build
path: /build
volumes:
- name: build
host:
path: /tmp/weather/build
depends_on:
- cleanup-before
---
kind: pipeline
type: docker
name: gitea-release
steps:
- name: move
image: alpine
commands:
- mv build/* ./
volumes:
- name: build
path: /drone/src/build
when:
event: tag
- name: release - name: release
image: plugins/gitea-release image: plugins/gitea-release
settings: settings:
@ -47,5 +94,51 @@ steps:
checksum: checksum:
- sha256 - sha256
- sha512 - sha512
title: VERSION
volumes:
- name: build
path: /drone/src/build
when: when:
event: tag event: tag
- name: ls
image: alpine
commands:
- find .
volumes:
- name: build
path: /drone/src/build
when:
event: tag
volumes:
- name: build
host:
path: /tmp/weather/build
depends_on:
- default-linux-amd64
- default-linux-arm64
---
kind: pipeline
type: docker
name: cleanup-after
steps:
- name: clean
image: alpine
commands:
- rm -rf /build/*
volumes:
- name: build
path: /build
when:
event: tag
volumes:
- name: build
host:
path: /tmp/weather/build
depends_on:
- gitea-release

View File

@ -8,24 +8,38 @@ GOOPTIONS="-mod=vendor"
SRCFILES=cmd/weather/*.go SRCFILES=cmd/weather/*.go
build() { build() {
echo "Begin of build"
if [[ ! -z $DRONE_TAG ]] if [[ ! -z $DRONE_TAG ]]
then then
echo "Drone tag set, let's do a release"
VERSION=$DRONE_TAG VERSION=$DRONE_TAG
echo "${PROJECTNAME} ${VERSION}" > /build/VERSION
elif [[ ! -z $DRONE_TAG ]] elif [[ ! -z $DRONE_TAG ]]
then then
echo "Drone not set, let's only do a build"
VERSION=$DRONE_COMMIT VERSION=$DRONE_COMMIT
fi fi
if [[ ! -z $VERSION && ! -z $GOOS && ! -z $GOARCH ]] if [[ ! -z $VERSION && ! -z $GOOS && ! -z $GOARCH ]]
then then
echo "Let's set a release name"
RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH} RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH}
fi fi
echo "Building project"
go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES} go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES}
if [[ ! -z $DRONE_TAG ]] if [[ ! -z $DRONE_TAG ]]
then then
tar -czvf ${RELEASENAME}.tar.gz ${PROJECTNAME} echo "Let's make archives"
mkdir -p /build
tar -czvf /build/${RELEASENAME}.tar.gz ${PROJECTNAME}
fi fi
echo "Removing binary file"
rm ${PROJECTNAME} rm ${PROJECTNAME}
echo "End of build"
} }
clean() { clean() {
@ -40,5 +54,7 @@ case $1 in
clean clean
;; ;;
*) *)
echo "No options choosen"
exit 1
;; ;;
esac esac

View File

@ -11,6 +11,8 @@ import (
client "github.com/influxdata/influxdb1-client/v2" client "github.com/influxdata/influxdb1-client/v2"
) )
const url = "https://api.openweathermap.org/data/2.5/weather?q=%s&appid=%s&units=%s"
// FetchData fetch data from api // FetchData fetch data from api
func FetchData(c *config.Config, city string) (Data, error) { func FetchData(c *config.Config, city string) (Data, error) {
var d Data var d Data
@ -22,7 +24,7 @@ func FetchData(c *config.Config, city string) (Data, error) {
DisableCompression: false, DisableCompression: false,
}} }}
q := fmt.Sprintf("https://api.openweathermap.org/data/2.5/weather?q=%s&appid=%s&units=%s", city, c.WeatherAppID, c.WeatherUnits) q := fmt.Sprintf(url, city, c.WeatherAppID, c.WeatherUnits)
r, err := httpClient.Get(q) r, err := httpClient.Get(q)
if err != nil { if err != nil {