Skip to content

Commit f6e10ba

Browse files
authored
Introduce GoReleaser action (meltwater#110)
* Introduce GoReleaser action * Separate flows
1 parent a78c55e commit f6e10ba

14 files changed

+185
-583
lines changed

.dockerignore

+6
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,10 @@
77
.github
88
vendor
99
backup
10+
bin
11+
tmp
12+
test
13+
docs
14+
site
15+
scripts
1016
LICENSE

.drone.yml

-289
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@ clone:
1010
depth: 50
1111

1212
steps:
13-
- name: fetch
14-
image: docker:git
15-
commands:
16-
- git fetch --tags
17-
1813
- name: configure-buckets
1914
image: minio/mc:RELEASE.2018-09-26T00-42-43Z
2015
commands:
@@ -53,37 +48,6 @@ steps:
5348
- name: testdata
5449
path: /drone/src/tmp/testdata/cache
5550

56-
- name: release-snapshot-dev
57-
image: goreleaser/goreleaser:v0.131.1
58-
commands:
59-
- apk add --update make upx
60-
- goreleaser release --rm-dist --snapshot
61-
- echo "$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)" > .tags
62-
environment:
63-
GITHUB_TOKEN:
64-
from_secret: github_token
65-
66-
- name: release-docker-dev
67-
image: plugins/docker
68-
settings:
69-
build_args_from_env:
70-
- BUILD_DATE
71-
- DOCKERFILE_PATH
72-
- VCS_REF
73-
- VERSION
74-
dockerfile: docker/Dockerfile.linux.386
75-
environment:
76-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
77-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.386\""
78-
- VCS_REF=$(git rev-parse --short HEAD)
79-
- VERSION=$(git describe --always --tags --dirty)
80-
password:
81-
from_secret: docker_password
82-
repo: meltwater/drone-cache
83-
tags: dev
84-
username:
85-
from_secret: docker_username
86-
8751
- name: rebuild-cache
8852
image: meltwater/drone-cache:dev
8953
pull: always
@@ -150,47 +114,6 @@ steps:
150114
- name: cache
151115
path: /tmp/cache
152116

153-
- name: release-snapshot
154-
image: goreleaser/goreleaser:v0.131.1
155-
commands:
156-
- apk add --update make upx
157-
- goreleaser release --rm-dist --snapshot
158-
- echo "$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)" > .tags
159-
environment:
160-
GITHUB_TOKEN:
161-
from_secret: github_token
162-
when:
163-
branch:
164-
- master
165-
event:
166-
- push
167-
168-
- name: release-docker-vsc-ref
169-
image: plugins/docker
170-
settings:
171-
build_args_from_env:
172-
- BUILD_DATE
173-
- DOCKERFILE_PATH
174-
- VCS_REF
175-
- VERSION
176-
dockerfile: docker/Dockerfile.linux.386
177-
environment:
178-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
179-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.386\""
180-
- VCS_REF=$(git rev-parse --short HEAD)
181-
- VERSION=$(git describe --always --tags --dirty)
182-
password:
183-
from_secret: docker_password
184-
repo: meltwater/drone-cache
185-
# tags: this releases with tags in .tags
186-
username:
187-
from_secret: docker_username
188-
when:
189-
branch:
190-
- master
191-
event:
192-
- push
193-
194117
- name: restore-cache-with-key
195118
image: meltwater/drone-cache:dev
196119
pull: always
@@ -266,12 +189,6 @@ steps:
266189
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
267190
AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
268191

269-
- name: build-after
270-
image: golang:1.14.1-alpine3.11
271-
commands:
272-
- apk add --update make git
273-
- make drone-cache
274-
275192
services:
276193
- name: minio
277194
image: minio/minio:RELEASE.2020-03-05T01-04-19Z
@@ -315,210 +232,4 @@ trigger:
315232
- push
316233
- pull_request
317234

318-
---
319-
kind: pipeline
320-
name: release
321-
322-
platform:
323-
os: linux
324-
arch: amd64
325-
326-
steps:
327-
- name: fetch
328-
image: docker:git
329-
commands:
330-
- git fetch --tags
331-
332-
- name: release
333-
image: goreleaser/goreleaser:v0.131.1
334-
commands:
335-
- apk add --update make upx
336-
- make release
337-
environment:
338-
GITHUB_TOKEN:
339-
from_secret: github_token
340-
341-
- name: release-docker-latest
342-
image: plugins/docker
343-
settings:
344-
build_args_from_env:
345-
- BUILD_DATE
346-
- DOCKERFILE_PATH
347-
- VCS_REF
348-
- VERSION
349-
dockerfile: docker/Dockerfile.linux.386
350-
environment:
351-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
352-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.386\""
353-
- VCS_REF=$(git rev-parse --short HEAD)
354-
- VERSION=$(git describe --always --tags --dirty)
355-
password:
356-
from_secret: docker_password
357-
repo: meltwater/drone-cache
358-
tags: latest
359-
username:
360-
from_secret: docker_username
361-
when:
362-
branch:
363-
- master
364-
event:
365-
- push
366-
367-
- name: release-docker
368-
image: plugins/docker
369-
settings:
370-
auto_tag: true
371-
build_args_from_env:
372-
- BUILD_DATE
373-
- DOCKERFILE_PATH
374-
- VCS_REF
375-
- VERSION
376-
dockerfile: docker/Dockerfile.linux.386
377-
environment:
378-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
379-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.386\""
380-
- VCS_REF=$(git rev-parse --short HEAD)
381-
- VERSION=$(git describe --always --tags --dirty)
382-
password:
383-
from_secret: docker_password
384-
repo: meltwater/drone-cache
385-
username:
386-
from_secret: docker_username
387-
388-
- name: release-docker-linux-386
389-
image: plugins/docker
390-
settings:
391-
auto_tag: true
392-
auto_tag_suffix: linux-386
393-
build_args_from_env:
394-
- BUILD_DATE
395-
- DOCKERFILE_PATH
396-
- VCS_REF
397-
- VERSION
398-
dockerfile: docker/Dockerfile.linux.386
399-
environment:
400-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
401-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.386\""
402-
- VCS_REF=$(git rev-parse --short HEAD)
403-
- VERSION=$(git describe --always --tags --dirty)
404-
password:
405-
from_secret: docker_password
406-
repo: meltwater/drone-cache
407-
username:
408-
from_secret: docker_username
409-
410-
- name: release-docker-linux-amd64
411-
image: plugins/docker
412-
settings:
413-
auto_tag: true
414-
auto_tag_suffix: linux-amd64
415-
build_args_from_env:
416-
- BUILD_DATE
417-
- DOCKERFILE_PATH
418-
- VCS_REF
419-
- VERSION
420-
dockerfile: docker/Dockerfile.linux.amd64
421-
environment:
422-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
423-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.amd64\""
424-
- VCS_REF=$(git rev-parse --short HEAD)
425-
- VERSION=$(git describe --always --tags --dirty)
426-
password:
427-
from_secret: docker_password
428-
repo: meltwater/drone-cache
429-
username:
430-
from_secret: docker_username
431-
432-
- name: release-docker-linux-arm_5
433-
image: plugins/docker
434-
settings:
435-
auto_tag: true
436-
auto_tag_suffix: linux-arm_5
437-
build_args_from_env:
438-
- BUILD_DATE
439-
- DOCKERFILE_PATH
440-
- VCS_REF
441-
- VERSION
442-
dockerfile: docker/Dockerfile.linux.arm_5
443-
environment:
444-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
445-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.arm_5\""
446-
- VCS_REF=$(git rev-parse --short HEAD)
447-
- VERSION=$(git describe --always --tags --dirty)
448-
password:
449-
from_secret: docker_password
450-
repo: meltwater/drone-cache
451-
username:
452-
from_secret: docker_username
453-
454-
- name: release-docker-linux-arm_6
455-
image: plugins/docker
456-
settings:
457-
auto_tag: true
458-
auto_tag_suffix: linux-arm_6
459-
build_args_from_env:
460-
- BUILD_DATE
461-
- DOCKERFILE_PATH
462-
- VCS_REF
463-
- VERSION
464-
dockerfile: docker/Dockerfile.linux.arm_6
465-
environment:
466-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
467-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.arm_6\""
468-
- VCS_REF=$(git rev-parse --short HEAD)
469-
- VERSION=$(git describe --always --tags --dirty)
470-
password:
471-
from_secret: docker_password
472-
repo: meltwater/drone-cache
473-
username:
474-
from_secret: docker_username
475-
476-
- name: release-docker-linux-arm_7
477-
image: plugins/docker
478-
settings:
479-
auto_tag: true
480-
auto_tag_suffix: linux-arm_7
481-
build_args_from_env:
482-
- BUILD_DATE
483-
- DOCKERFILE_PATH
484-
- VCS_REF
485-
- VERSION
486-
dockerfile: docker/Dockerfile.linux.arm_7
487-
environment:
488-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
489-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.arm_7\""
490-
- VCS_REF=$(git rev-parse --short HEAD)
491-
- VERSION=$(git describe --always --tags --dirty)
492-
password:
493-
from_secret: docker_password
494-
repo: meltwater/drone-cache
495-
username:
496-
from_secret: docker_username
497-
498-
- name: release-docker-linux-arm64
499-
image: plugins/docker
500-
settings:
501-
auto_tag: true
502-
auto_tag_suffix: linux-arm64
503-
build_args_from_env:
504-
- BUILD_DATE
505-
- DOCKERFILE_PATH
506-
- VCS_REF
507-
- VERSION
508-
dockerfile: docker/Dockerfile.linux.arm64
509-
environment:
510-
- "BUILD_DATE=$(date -u +\"%Y-%m-%dT%H:%M:%S%Z\")"
511-
- "DOCKERFILE_PATH=\"/docker/Dockerfile.linux.arm64\""
512-
- VCS_REF=$(git rev-parse --short HEAD)
513-
- VERSION=$(git describe --always --tags --dirty)
514-
password:
515-
from_secret: docker_password
516-
repo: meltwater/drone-cache
517-
username:
518-
from_secret: docker_username
519-
520-
trigger:
521-
event:
522-
- tag
523-
524235
...

.github/workflows/release.yaml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: release
2+
3+
on:
4+
push:
5+
branches:
6+
- "!*"
7+
tags:
8+
- "v*.*.*"
9+
10+
jobs:
11+
goreleaser:
12+
runs-on: ubuntu-latest
13+
steps:
14+
-
15+
name: Checkout
16+
uses: actions/checkout@v2
17+
-
18+
name: Unshallow
19+
run: git fetch --prune --unshallow
20+
-
21+
name: Set up Go
22+
uses: actions/setup-go@v1
23+
with:
24+
go-version: 1.14.x
25+
-
26+
name: Set up UPX
27+
run: sudo apt-get update && sudo apt-get install upx-ucl
28+
-
29+
name: Run GoReleaser for Release
30+
uses: goreleaser/goreleaser-action@v1
31+
with:
32+
version: v0.131.1
33+
args: release --rm-dist
34+
key: ${{ secrets.GORELEASER_PRIVATE_KEY }}
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37+
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
38+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

0 commit comments

Comments
 (0)