migrated to woodpecker

This commit is contained in:
Samuel Philipp 2021-11-05 00:14:26 +01:00
parent 9d524eee44
commit 6c79d79a00
4 changed files with 37 additions and 170 deletions

View file

@ -1,138 +0,0 @@
kind: pipeline
type: docker
name: linux-amd64
platform:
os: linux
arch: amd64
steps:
- name: docker
image: plugins/docker
settings:
purge: true
no_cache: true
auto_tag: true
auto_tag_suffix: linux-amd64
repo: spcodes/filtron
build_args:
- ARCH=amd64
username:
from_secret: USERNAME
password:
from_secret: PASSWORD
trigger:
branch:
- main
event:
- push
# disable temporarily
#---
#kind: pipeline
#type: docker
#name: linux-arm
#
#platform:
# os: linux
# arch: arm
#
#steps:
# - name: docker
# image: plugins/docker
# settings:
# purge: true
# no_cache: true
# auto_tag: true
# auto_tag_suffix: linux-arm
# repo: spcodes/filtron
# build_args:
# - ARCH=arm
# username:
# from_secret: USERNAME
# password:
# from_secret: PASSWORD
#
#trigger:
# branch:
# - main
# event:
# - push
---
kind: pipeline
type: docker
name: linux-arm64
platform:
os: linux
arch: arm64
steps:
- name: docker
image: plugins/docker
settings:
purge: true
no_cache: true
auto_tag: true
auto_tag_suffix: linux-arm64
repo: spcodes/filtron
build_args:
- ARCH=arm64
username:
from_secret: USERNAME
password:
from_secret: PASSWORD
trigger:
branch:
- main
event:
- push
---
kind: pipeline
type: docker
name: manifest
steps:
- name: publish-version
image: plugins/manifest
settings:
ignore_missing: true
target: spcodes/filtron:v0.2.0
template: spcodes/filtron:OS-ARCH
platforms:
- linux/amd64
- linux/arm64
- linux/arm
username:
from_secret: USERNAME
password:
from_secret: PASSWORD
- name: publish-latest
image: plugins/manifest
settings:
ignore_missing: true
target: spcodes/filtron
template: spcodes/filtron:OS-ARCH
platforms:
- linux/amd64
- linux/arm64
# - linux/arm
username:
from_secret: USERNAME
password:
from_secret: PASSWORD
depends_on:
- linux-amd64
- linux-arm64
# - linux-arm
trigger:
branch:
- main
event:
- push

32
.woodpecker.yml Normal file
View file

@ -0,0 +1,32 @@
pipeline:
docker:
image: plugins/docker
secrets:
- DOCKER_USERNAME
- DOCKER_PASSWORD
repo: spcodes/filtron
tags:
- v0.2.0
- latest
when:
branch:
- main
event:
- push
cr:
image: plugins/docker
secrets:
- source: CR_USERNAME
target: DOCKER_USERNAME
- source: CR_PASSWORD
target: DOCKER_PASSWORD
registry: cr.sp-codes.de
repo: cr.sp-codes.de/filtron
tags:
- v0.2.0
- latest
when:
branch:
- main
event:
- push

View file

@ -1,10 +1,5 @@
ARG ARCH
# STEP 1 build executable binary
FROM golang:1.17.1-alpine3.13@sha256:bd3c3710755f637c6ec64b317a22e58f048ddefe622fb03073935ee9073ff99f AS builder-amd64
FROM arm32v7/golang:1.17.1-alpine3.13@sha256:750b25e1c177d21746b2f4eeac941175d44b762fdad0f73b4b51a54ea572fab0 AS builder-arm
FROM arm64v8/golang:1.17.1-alpine3.13@sha256:cef4bfe0462ac7d15bf38c5297d501833c66e0fca1549582c9a02e6e5c11d111 AS builder-arm64
FROM builder-${ARCH} AS builder
FROM golang:1.17.1-alpine3.13@sha256:bd3c3710755f637c6ec64b317a22e58f048ddefe622fb03073935ee9073ff99f AS builder
ENV FILTRON_VERSION="v0.2.0"
@ -17,12 +12,9 @@ RUN apk upgrade --no-cache && \
RUN go get -d -v && gofmt -l ./ && go build .
# STEP 2 build the image including only the binary
FROM alpine:3.14.2@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a AS base-amd64
FROM arm32v7/alpine:3.14.2@sha256:e12ff876f0075740ed3d7bdf788107ae84c1b3dd6dc98b3baea41088aba5236f AS base-arm
FROM arm64v8/alpine:3.14.2@sha256:b06a5cf61b2956088722c4f1b9a6f71dfe95f0b1fe285d44195452b8a1627de7 AS base-arm64
FROM base-${ARCH}
FROM alpine:3.14.2@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
RUN apk --no-cache add ca-certificates="20191127-r5" && \
RUN apk --no-cache add ca-certificates && \
adduser -D -h /usr/local/filtron -s /bin/false filtron filtron
COPY --from=builder /go/src/github.com/asciimoo/filtron/example_rules.json /etc/filtron/rules.json

View file

@ -11,26 +11,15 @@
{
"fileMatch": [
"^Dockerfile$",
"^.drone.yml$"
"^.woodpecker.yml$"
],
"matchStrings": [
"\\s+ENV\\s*FILTRON_VERSION=\"(?<currentValue>.*?)\"\\s+",
"\\s+target:\\s*spcodes\\/filtron:(?<currentValue>.*?)\\s+"
"\\s+repo:\\s*\\S*\\/filtron\\s+tags:[-\\s]+(?<currentValue>.*?)\\s+"
],
"versioningTemplate": "loose",
"depNameTemplate": "asciimoo/filtron",
"datasourceTemplate": "github-releases"
},
{
"fileMatch": [
"^Dockerfile$"
],
"matchStrings": [
"\\s+(?<depName>[a-z0-9\\-]+?)=\"(?<currentValue>.*?)\""
],
"lookupNameTemplate": "alpine_3_14/{{{depName}}}",
"versioningTemplate": "loose",
"datasourceTemplate": "repology"
}
],
"packageRules": [
@ -42,14 +31,6 @@
"filtron"
]
},
{
"datasources": [
"repology"
],
"groupName": [
"base dependencies"
]
},
{
"datasources": [
"docker"