Improve CI
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing

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:
Melora Hugues 2023-02-02 20:20:43 +01:00
parent 2abc08d582
commit 9b5f33dece

View file

@ -1,16 +1,88 @@
---
# Test building the code and docker image
kind: pipeline
type: docker
name: Tests
name: test-build
steps:
- name: test
- name: go-test
image: golang
commands:
- cd tracker
- make build
- make test
- make -C tracker test
depends_on:
- 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:
event:
- push
- 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
...