mirror of
https://github.com/thegeeklab/drone-github-comment.git
synced 2024-11-22 10:40:42 +00:00
build binaries
This commit is contained in:
parent
5dd7085ada
commit
7563aa52ed
@ -70,6 +70,56 @@ local PipelineTest = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
local PipelineBuildBinaries = {
|
||||||
|
kind: 'pipeline',
|
||||||
|
name: 'build-binaries',
|
||||||
|
platform: {
|
||||||
|
os: 'linux',
|
||||||
|
arch: 'amd64',
|
||||||
|
},
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
name: 'build',
|
||||||
|
image: 'techknowlogick/xgo:latest',
|
||||||
|
commands: [
|
||||||
|
'[ -z "${DRONE_TAG}" ] && BUILD_VERSION=${DRONE_COMMIT_SHA:0:8} || BUILD_VERSION=${DRONE_TAG##v}',
|
||||||
|
"xgo -ldflags \"-s -w -X main.Version=$BUILD_VERSION\" -tags netgo -targets 'linux/amd64,linux/arm-6,linux/arm64' -out /drone/src/release/drone-github-comment ./cmd/drone-github-comment",
|
||||||
|
'tree',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'executable',
|
||||||
|
image: 'alpine',
|
||||||
|
commands: [
|
||||||
|
'$(find release/ -executable -type f | grep drone-github-comment-linux-amd64) --help',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'compress',
|
||||||
|
image: 'alpine',
|
||||||
|
commands: [
|
||||||
|
'apk add upx',
|
||||||
|
'find release/ -maxdepth 1 -executable -type f -exec upx {} ;',
|
||||||
|
'ls -lh release/',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'checksum',
|
||||||
|
image: 'alpine',
|
||||||
|
commands: [
|
||||||
|
'cd release/ && sha256sum * > sha256sum.txt',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
depends_on: [
|
||||||
|
'test',
|
||||||
|
],
|
||||||
|
trigger: {
|
||||||
|
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
local PipelineBuildContainer(arch='amd64') = {
|
local PipelineBuildContainer(arch='amd64') = {
|
||||||
kind: 'pipeline',
|
kind: 'pipeline',
|
||||||
name: 'build-container-' + arch,
|
name: 'build-container-' + arch,
|
||||||
@ -82,7 +132,7 @@ local PipelineBuildContainer(arch='amd64') = {
|
|||||||
name: 'build',
|
name: 'build',
|
||||||
image: 'golang:1.14',
|
image: 'golang:1.14',
|
||||||
commands: [
|
commands: [
|
||||||
'go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/drone-github-comment ./cmd/drone-github-comment',
|
'go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/' + arch + 'drone-github-comment ./cmd/drone-github-comment',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -90,7 +140,7 @@ local PipelineBuildContainer(arch='amd64') = {
|
|||||||
image: 'plugins/docker:18-linux-' + arch,
|
image: 'plugins/docker:18-linux-' + arch,
|
||||||
settings: {
|
settings: {
|
||||||
dry_run: true,
|
dry_run: true,
|
||||||
dockerfile: 'docker/Dockerfile',
|
dockerfile: 'docker/Dockerfile.' + arch,
|
||||||
repo: 'thegeeklab/${DRONE_REPO_NAME}',
|
repo: 'thegeeklab/${DRONE_REPO_NAME}',
|
||||||
username: { from_secret: 'docker_username' },
|
username: { from_secret: 'docker_username' },
|
||||||
password: { from_secret: 'docker_password' },
|
password: { from_secret: 'docker_password' },
|
||||||
@ -106,7 +156,7 @@ local PipelineBuildContainer(arch='amd64') = {
|
|||||||
settings: {
|
settings: {
|
||||||
auto_tag: true,
|
auto_tag: true,
|
||||||
auto_tag_suffix: arch,
|
auto_tag_suffix: arch,
|
||||||
dockerfile: 'docker/Dockerfile',
|
dockerfile: 'docker/Dockerfile.' + arch,
|
||||||
repo: 'thegeeklab/${DRONE_REPO_NAME}',
|
repo: 'thegeeklab/${DRONE_REPO_NAME}',
|
||||||
username: { from_secret: 'docker_username' },
|
username: { from_secret: 'docker_username' },
|
||||||
password: { from_secret: 'docker_password' },
|
password: { from_secret: 'docker_password' },
|
||||||
@ -135,7 +185,7 @@ local PipelineBuildContainer(arch='amd64') = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
depends_on: [
|
depends_on: [
|
||||||
'test',
|
'build-binaries',
|
||||||
],
|
],
|
||||||
trigger: {
|
trigger: {
|
||||||
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
|
ref: ['refs/heads/master', 'refs/tags/**', 'refs/pull/**'],
|
||||||
@ -240,6 +290,7 @@ local PipelineNotifications = {
|
|||||||
|
|
||||||
[
|
[
|
||||||
PipelineTest,
|
PipelineTest,
|
||||||
|
PipelineBuildBinaries,
|
||||||
PipelineBuildContainer(arch='amd64'),
|
PipelineBuildContainer(arch='amd64'),
|
||||||
PipelineBuildContainer(arch='arm64'),
|
PipelineBuildContainer(arch='arm64'),
|
||||||
PipelineBuildContainer(arch='arm'),
|
PipelineBuildContainer(arch='arm'),
|
||||||
|
68
.drone.yml
68
.drone.yml
@ -49,6 +49,48 @@ trigger:
|
|||||||
- refs/tags/**
|
- refs/tags/**
|
||||||
- refs/pull/**
|
- refs/pull/**
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: build-binaries
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: techknowlogick/xgo:latest
|
||||||
|
commands:
|
||||||
|
- "[ -z \"${DRONE_TAG}\" ] && BUILD_VERSION=${DRONE_COMMIT_SHA:0:8} || BUILD_VERSION=${DRONE_TAG##v}"
|
||||||
|
- xgo -ldflags "-s -w -X main.Version=$BUILD_VERSION" -tags netgo -targets 'linux/amd64,linux/arm-6,linux/arm64' -out /drone/src/release/drone-github-comment ./cmd/drone-github-comment
|
||||||
|
- tree
|
||||||
|
|
||||||
|
- name: executable
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- $(find release/ -executable -type f | grep drone-github-comment-linux-amd64) --help
|
||||||
|
|
||||||
|
- name: compress
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- apk add upx
|
||||||
|
- find release/ -maxdepth 1 -executable -type f -exec upx {} ;
|
||||||
|
- ls -lh release/
|
||||||
|
|
||||||
|
- name: checksum
|
||||||
|
image: alpine
|
||||||
|
commands:
|
||||||
|
- cd release/ && sha256sum * > sha256sum.txt
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
ref:
|
||||||
|
- refs/heads/master
|
||||||
|
- refs/tags/**
|
||||||
|
- refs/pull/**
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: build-container-amd64
|
name: build-container-amd64
|
||||||
@ -61,12 +103,12 @@ steps:
|
|||||||
- name: build
|
- name: build
|
||||||
image: golang:1.14
|
image: golang:1.14
|
||||||
commands:
|
commands:
|
||||||
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/drone-github-comment ./cmd/drone-github-comment
|
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/amd64drone-github-comment ./cmd/drone-github-comment
|
||||||
|
|
||||||
- name: dryrun
|
- name: dryrun
|
||||||
image: plugins/docker:18-linux-amd64
|
image: plugins/docker:18-linux-amd64
|
||||||
settings:
|
settings:
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.amd64
|
||||||
dry_run: true
|
dry_run: true
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
@ -84,7 +126,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: amd64
|
auto_tag_suffix: amd64
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.amd64
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: thegeeklab/${DRONE_REPO_NAME}
|
repo: thegeeklab/${DRONE_REPO_NAME}
|
||||||
@ -123,7 +165,7 @@ trigger:
|
|||||||
- refs/pull/**
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- test
|
- build-binaries
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -137,12 +179,12 @@ steps:
|
|||||||
- name: build
|
- name: build
|
||||||
image: golang:1.14
|
image: golang:1.14
|
||||||
commands:
|
commands:
|
||||||
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/drone-github-comment ./cmd/drone-github-comment
|
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/arm64drone-github-comment ./cmd/drone-github-comment
|
||||||
|
|
||||||
- name: dryrun
|
- name: dryrun
|
||||||
image: plugins/docker:18-linux-arm64
|
image: plugins/docker:18-linux-arm64
|
||||||
settings:
|
settings:
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.arm64
|
||||||
dry_run: true
|
dry_run: true
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
@ -160,7 +202,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: arm64
|
auto_tag_suffix: arm64
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.arm64
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: thegeeklab/${DRONE_REPO_NAME}
|
repo: thegeeklab/${DRONE_REPO_NAME}
|
||||||
@ -199,7 +241,7 @@ trigger:
|
|||||||
- refs/pull/**
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- test
|
- build-binaries
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -213,12 +255,12 @@ steps:
|
|||||||
- name: build
|
- name: build
|
||||||
image: golang:1.14
|
image: golang:1.14
|
||||||
commands:
|
commands:
|
||||||
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/drone-github-comment ./cmd/drone-github-comment
|
- go build -v -ldflags "-X main.version=${DRONE_TAG:-latest}" -a -tags netgo -o release/armdrone-github-comment ./cmd/drone-github-comment
|
||||||
|
|
||||||
- name: dryrun
|
- name: dryrun
|
||||||
image: plugins/docker:18-linux-arm
|
image: plugins/docker:18-linux-arm
|
||||||
settings:
|
settings:
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.arm
|
||||||
dry_run: true
|
dry_run: true
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
@ -236,7 +278,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: arm
|
auto_tag_suffix: arm
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile.arm
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: thegeeklab/${DRONE_REPO_NAME}
|
repo: thegeeklab/${DRONE_REPO_NAME}
|
||||||
@ -275,7 +317,7 @@ trigger:
|
|||||||
- refs/pull/**
|
- refs/pull/**
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- test
|
- build-binaries
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -373,6 +415,6 @@ depends_on:
|
|||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 49ac4d5dbe243dec7b576714870117cb0c4a1faef2cdaa1f2202464b0229727a
|
hmac: 359b44f4a22939e189ecd48556204f22a49fd1983d14bde32a942e5f123195db
|
||||||
|
|
||||||
...
|
...
|
||||||
|
9
docker/Dockerfile.amd64
Normal file
9
docker/Dockerfile.amd64
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM plugins/base:multiarch
|
||||||
|
|
||||||
|
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" \
|
||||||
|
org.label-schema.name="Drone GitHub Comment" \
|
||||||
|
org.label-schema.vendor="Robert Kaussow" \
|
||||||
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
ADD release/amd64/drone-github-comment /bin/
|
||||||
|
ENTRYPOINT [ "/bin/drone-github-comment" ]
|
@ -5,5 +5,5 @@ LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" \
|
|||||||
org.label-schema.vendor="Robert Kaussow" \
|
org.label-schema.vendor="Robert Kaussow" \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
ADD release/drone-github-comment /bin/
|
ADD release/arm/drone-github-comment /bin/
|
||||||
ENTRYPOINT [ "/bin/drone-github-comment" ]
|
ENTRYPOINT [ "/bin/drone-github-comment" ]
|
9
docker/Dockerfile.arm64
Normal file
9
docker/Dockerfile.arm64
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM plugins/base:multiarch
|
||||||
|
|
||||||
|
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" \
|
||||||
|
org.label-schema.name="Drone GitHub Comment" \
|
||||||
|
org.label-schema.vendor="Robert Kaussow" \
|
||||||
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
ADD release/arm64/drone-github-comment /bin/
|
||||||
|
ENTRYPOINT [ "/bin/drone-github-comment" ]
|
Loading…
Reference in New Issue
Block a user