--- kind: pipeline name: default steps: - name: tags image: alpine/git commands: - git fetch --tags - name: lint image: golangci/golangci-lint:v1.39.0 commands: - make install-tools - make lint depends_on: - tags - name: test image: golang:1.16 privileged: true volumes: - name: dockersock path: /var/run environment: RASPBIAN_IMAGE: /tmp/2021-05-07-raspios-buster-armhf-lite.img commands: - apt update - apt install -y multipath-tools unzip - (cd /tmp; wget -4 https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-lite.zip) - (cd /tmp; unzip 2021-05-07-raspios-buster-armhf-lite.zip) - make build-image - make test-all depends_on: - tags - lint - name: build image: goreleaser/goreleaser:v0.162.0 commands: - make build depends_on: - tags - lint - test when: event: exclude: - tag - name: release image: goreleaser/goreleaser:v0.162.0 volumes: - name: dockersock path: /var/run environment: GITHUB_TOKEN: from_secret: github_token DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: github_token DOCKER_REGISTRY: ghcr.io commands: - sleep 5 - > echo $DOCKER_PASSWORD | docker login $DOCKER_REGISTRY -u $DOCKER_USERNAME --password-stdin - goreleaser release --rm-dist depends_on: - tags - lint - test - docker when: event: - tag services: - name: docker image: docker:dind privileged: true volumes: - name: dockersock path: /var/run when: event: - tag volumes: - name: dockersock temp: {}