--- kind: pipeline type: docker name: build-amd64 platform: os: linux arch: amd64 workspace: base: /go path: src/srs.epita.fr/fic-server steps: - name: get deps image: golang:alpine commands: - apk --no-cache add git - go get -v -d srs.epita.fr/fic-server/admin - go get -v -d srs.epita.fr/fic-server/backend - go get -v -d srs.epita.fr/fic-server/frontend - go get -v -d srs.epita.fr/fic-server/dashboard - go get -v -d srs.epita.fr/fic-server/repochecker - go get -v -d srs.epita.fr/fic-server/qa - mkdir deploy - name: vet image: golang:alpine commands: - apk --no-cache add build-base - go vet -v srs.epita.fr/fic-server/admin - go vet -v srs.epita.fr/fic-server/backend - go vet -v srs.epita.fr/fic-server/frontend - go vet -v srs.epita.fr/fic-server/dashboard - go vet -v srs.epita.fr/fic-server/repochecker - go vet -v srs.epita.fr/fic-server/qa - name: build admin image: golang:alpine commands: - go build -v -o deploy/admin-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/admin - name: build backend image: golang:alpine commands: - go build -v -o deploy/backend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/backend - name: build frontend image: golang:alpine commands: - go build -v -o deploy/frontend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/frontend - name: build dashboard image: golang:alpine commands: - go build -v -o deploy/dashboard-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/dashboard - name: build repochecker image: golang:alpine commands: - go build -v -o deploy/repochecker-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/repochecker - grep "const version" repochecker/update.go | sed -r 's/^.*=\s*(\S.*)$/\1/' > deploy/repochecker.version - name: build repochecker for macOS image: golang:alpine commands: - go build -v -o deploy/repochecker-darwin-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/repochecker environment: GOOS: darwin GOARCH: amd64 - name: build qa image: golang:alpine commands: - go build -v -o deploy/qa-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/qa - name: deploy image: appleboy/drone-scp settings: tar_tmp_path: /tmp/ host: srs.nemunai.re target: /var/www/nemunai.re/srs/fic-binaries/${DRONE_BRANCH//\//-} source: deploy/* strip_components: 1 username: from_secret: ssh_username key: from_secret: deploy_key port: from_secret: ssh_port --- kind: pipeline type: docker name: build-arm64 platform: os: linux arch: arm64 workspace: base: /go path: src/srs.epita.fr/fic-server steps: - name: get deps image: golang:alpine commands: - apk --no-cache add git - go get -v -d srs.epita.fr/fic-server/admin - go get -v -d srs.epita.fr/fic-server/backend - go get -v -d srs.epita.fr/fic-server/frontend - go get -v -d srs.epita.fr/fic-server/dashboard - name: build admin image: golang:alpine commands: - go build -v -o deploy/admin-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/admin - name: build backend image: golang:alpine commands: - go build -v -o deploy/backend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/backend - name: build frontend image: golang:alpine commands: - go build -v -o deploy/frontend-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/frontend - name: build dashboard image: golang:alpine commands: - go build -v -o deploy/dashboard-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/dashboard - name: build repochecker image: golang:alpine commands: - go build -v -o deploy/repochecker-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/repochecker - name: build qa image: golang:alpine commands: - go build -v -o deploy/qa-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH} srs.epita.fr/fic-server/qa - name: deploy image: appleboy/drone-scp settings: tar_tmp_path: /tmp/ host: srs.nemunai.re target: /var/www/nemunai.re/srs/fic-binaries/${DRONE_BRANCH//\//-} source: deploy/* strip_components: 1 username: from_secret: ssh_username key: from_secret: deploy_key port: from_secret: ssh_port - name: docker admin image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password repo: nemunaire/fic-admin tags: latest dockerfile: Dockerfile-admin when: branch: - master - name: docker backend image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password repo: nemunaire/fic-backend tags: latest dockerfile: Dockerfile-backend when: branch: - master - name: docker frontend image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password repo: nemunaire/fic-frontend tags: latest dockerfile: Dockerfile-frontend when: branch: - master - name: docker dashboard image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password repo: nemunaire/fic-dashboard tags: latest dockerfile: Dockerfile-dashboard when: branch: - master - name: docker qa image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password repo: nemunaire/fic-qa tags: latest dockerfile: Dockerfile-qa when: branch: - master