Improve CI
Add more tests to the CI, including a docker build test, and add the generation and publication of a new docker image on master and tags
This commit is contained in:
parent
2abc08d582
commit
9b5f33dece
1 changed files with 77 additions and 5 deletions
82
.drone.yml
82
.drone.yml
|
@ -1,16 +1,88 @@
|
||||||
|
---
|
||||||
|
# Test building the code and docker image
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: Tests
|
name: test-build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: test
|
- name: go-test
|
||||||
image: golang
|
image: golang
|
||||||
commands:
|
commands:
|
||||||
- cd tracker
|
- make -C tracker test
|
||||||
- make build
|
depends_on:
|
||||||
- make test
|
|
||||||
|
- name: go-build
|
||||||
|
image: golang
|
||||||
|
commands:
|
||||||
|
- make -C tracker build
|
||||||
|
depends_on:
|
||||||
|
|
||||||
|
- name: docker-build-only
|
||||||
|
image: thegeeklab/drone-docker-buildx
|
||||||
|
privileged: true
|
||||||
|
settings:
|
||||||
|
repo: git.faercol.me/faercol/public-ip-tracker
|
||||||
|
tags: latest
|
||||||
|
dry_run: true
|
||||||
|
platforms:
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm64
|
||||||
|
depends_on:
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
exclude:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
- name: docker-build-push
|
||||||
|
image: thegeeklab/drone-docker-buildx
|
||||||
|
privileged: true
|
||||||
|
settings:
|
||||||
|
repo: git.faercol.me/faercol/public-ip-tracker
|
||||||
|
registry: git.faercol.me
|
||||||
|
tags: latest
|
||||||
|
username:
|
||||||
|
from_secret: GIT_USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: GIT_PASSWORD
|
||||||
|
depends_on:
|
||||||
|
- go-test
|
||||||
|
- go-build
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
|
---
|
||||||
|
# On a tag, only build the related docker image
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: tag-release
|
||||||
|
depends_on:
|
||||||
|
- test-build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: docker-push-tag
|
||||||
|
image: thegeeklab/drone-docker-buildx
|
||||||
|
privileged: true
|
||||||
|
settings:
|
||||||
|
registry: git.faercol.me
|
||||||
|
repo: git.faercol.me/faercol/public-ip-tracker
|
||||||
|
auto_tag: true
|
||||||
|
username:
|
||||||
|
from_secret: GIT_USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: GIT_PASSWORD
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
...
|
Loading…
Reference in a new issue