diff --git a/.drone.yml b/.drone.yml index 087a749..be7b0fb 100644 --- a/.drone.yml +++ b/.drone.yml @@ -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 + +... \ No newline at end of file