mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-21 16:55:38 +03:00
[chore] Create modernc sqlite builds alongside default wasm; add openbsd builds (#3413)
This commit is contained in:
parent
a69142a403
commit
a504d8a105
2 changed files with 219 additions and 8 deletions
14
.drone.yml
14
.drone.yml
|
@ -94,7 +94,7 @@ steps:
|
|||
- pull_request
|
||||
|
||||
- name: snapshot
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.1 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
||||
volumes:
|
||||
- name: go-build-cache
|
||||
path: /root/.cache/go-build
|
||||
|
@ -123,6 +123,12 @@ steps:
|
|||
- docker push superseriousbusiness/gotosocial:snapshot-amd64
|
||||
- docker manifest create superseriousbusiness/gotosocial:snapshot superseriousbusiness/gotosocial:snapshot-armv6 superseriousbusiness/gotosocial:snapshot-armv7 superseriousbusiness/gotosocial:snapshot-amd64 superseriousbusiness/gotosocial:snapshot-arm64v8
|
||||
- docker manifest push superseriousbusiness/gotosocial:snapshot
|
||||
- docker push superseriousbusiness/gotosocial:snapshot-armv6-moderncsqlite
|
||||
- docker push superseriousbusiness/gotosocial:snapshot-armv7-moderncsqlite
|
||||
- docker push superseriousbusiness/gotosocial:snapshot-arm64v8-moderncsqlite
|
||||
- docker push superseriousbusiness/gotosocial:snapshot-amd64-moderncsqlite
|
||||
- docker manifest create superseriousbusiness/gotosocial:snapshot-moderncsqlite superseriousbusiness/gotosocial:snapshot-armv6-moderncsqlite superseriousbusiness/gotosocial:snapshot-armv7-moderncsqlite superseriousbusiness/gotosocial:snapshot-amd64-moderncsqlite superseriousbusiness/gotosocial:snapshot-arm64v8-moderncsqlite
|
||||
- docker manifest push superseriousbusiness/gotosocial:snapshot-moderncsqlite
|
||||
|
||||
# Publish binary .tar.gz snapshots to S3.
|
||||
- /go/snapshot_publish.sh
|
||||
|
@ -135,7 +141,7 @@ steps:
|
|||
- main
|
||||
|
||||
- name: release
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.0 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.1 # https://github.com/superseriousbusiness/gotosocial-drone-build
|
||||
volumes:
|
||||
- name: go-build-cache
|
||||
path: /root/.cache/go-build
|
||||
|
@ -194,7 +200,7 @@ clone:
|
|||
|
||||
steps:
|
||||
- name: mirror
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.0
|
||||
image: superseriousbusiness/gotosocial-drone-build:0.6.1
|
||||
environment:
|
||||
ORIGIN_REPO: https://github.com/superseriousbusiness/gotosocial
|
||||
TARGET_REPO: https://codeberg.org/superseriousbusiness/gotosocial
|
||||
|
@ -207,6 +213,6 @@ steps:
|
|||
|
||||
---
|
||||
kind: signature
|
||||
hmac: f4008d87e4e5b67251eb89f255c1224e6ab5818828cab24fc319b8f829176058
|
||||
hmac: 475acfffed0cc2d45304f253cc8e57c6c19b8437571ec7e343a2ef85a7a270b8
|
||||
|
||||
...
|
||||
|
|
213
.goreleaser.yml
213
.goreleaser.yml
|
@ -12,7 +12,9 @@ before:
|
|||
- yarn --cwd ./web/source build
|
||||
builds:
|
||||
# https://goreleaser.com/customization/build/
|
||||
# DEFAULT WASM SQLITE BINARY BUILDS
|
||||
-
|
||||
id: gotosocial
|
||||
main: ./cmd/gotosocial
|
||||
binary: gotosocial
|
||||
ldflags:
|
||||
|
@ -29,13 +31,12 @@ builds:
|
|||
- timetzdata
|
||||
- >-
|
||||
{{ if and (index .Env "DEBUG") (.Env.DEBUG) }}debugenv{{ end }}
|
||||
- >-
|
||||
{{ if and (index .Env "MODERNCSQLITE3") (.Env.MODERNCSQLITE3) }}moderncsqlite3{{ end }}
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- freebsd
|
||||
- openbsd
|
||||
goarch:
|
||||
- 386
|
||||
- amd64
|
||||
|
@ -45,20 +46,79 @@ builds:
|
|||
- 6
|
||||
- 7
|
||||
ignore:
|
||||
# build freebsd only for amd64
|
||||
# build freebsd + openbsd only for amd64
|
||||
- goos: freebsd
|
||||
goarch: arm64
|
||||
- goos: freebsd
|
||||
goarch: arm
|
||||
- goos: freebsd
|
||||
goarch: 386
|
||||
- goos: openbsd
|
||||
goarch: arm64
|
||||
- goos: openbsd
|
||||
goarch: arm
|
||||
- goos: openbsd
|
||||
goarch: 386
|
||||
mod_timestamp: "{{ .CommitTimestamp }}"
|
||||
# MODERNC SQLITE BINARY BUILDS
|
||||
-
|
||||
id: gotosocial_moderncsqlite
|
||||
main: ./cmd/gotosocial
|
||||
binary: gotosocial
|
||||
ldflags:
|
||||
- -s
|
||||
- -w
|
||||
- -extldflags
|
||||
- -static
|
||||
- -X main.Version={{.Version}}
|
||||
tags:
|
||||
- netgo
|
||||
- osusergo
|
||||
- static_build
|
||||
- kvformat
|
||||
- timetzdata
|
||||
- >-
|
||||
{{ if and (index .Env "DEBUG") (.Env.DEBUG) }}debugenv{{ end }}
|
||||
- moderncsqlite3
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- freebsd
|
||||
- openbsd
|
||||
goarch:
|
||||
- 386
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- 6
|
||||
- 7
|
||||
ignore:
|
||||
# build freebsd + openbsd only for amd64
|
||||
- goos: freebsd
|
||||
goarch: arm64
|
||||
- goos: freebsd
|
||||
goarch: arm
|
||||
- goos: freebsd
|
||||
goarch: 386
|
||||
- goos: openbsd
|
||||
goarch: arm64
|
||||
- goos: openbsd
|
||||
goarch: arm
|
||||
- goos: openbsd
|
||||
goarch: 386
|
||||
mod_timestamp: "{{ .CommitTimestamp }}"
|
||||
dockers:
|
||||
# https://goreleaser.com/customization/docker/
|
||||
# DEFAULT WASM SQLITE DOCKER BUILDS
|
||||
-
|
||||
use: buildx
|
||||
goos: linux
|
||||
goarch: amd64
|
||||
id: amd64
|
||||
ids:
|
||||
- gotosocial
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-amd64"
|
||||
|
@ -79,6 +139,9 @@ dockers:
|
|||
use: buildx
|
||||
goos: linux
|
||||
goarch: arm64
|
||||
id: arm64v8
|
||||
ids:
|
||||
- gotosocial
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-arm64v8"
|
||||
|
@ -100,6 +163,9 @@ dockers:
|
|||
goos: linux
|
||||
goarch: arm
|
||||
goarm: 6
|
||||
id: armv6
|
||||
ids:
|
||||
- gotosocial
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv6"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-armv6"
|
||||
|
@ -121,6 +187,9 @@ dockers:
|
|||
goos: linux
|
||||
goarch: arm
|
||||
goarm: 7
|
||||
id: armv7
|
||||
ids:
|
||||
- gotosocial
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv7"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-armv7"
|
||||
|
@ -137,7 +206,103 @@ dockers:
|
|||
- go.sum
|
||||
- cmd
|
||||
- internal
|
||||
# MODERNC SQLITE DOCKER BUILDS
|
||||
-
|
||||
use: buildx
|
||||
goos: linux
|
||||
goarch: amd64
|
||||
id: amd64-moderncsqlite
|
||||
ids:
|
||||
- gotosocial_moderncsqlite
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64-moderncsqlite"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-amd64-moderncsqlite"
|
||||
- "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-amd64-moderncsqlite{{ end }}"
|
||||
build_flag_templates:
|
||||
- "--platform=linux/amd64"
|
||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||
extra_files:
|
||||
- web
|
||||
- go.mod
|
||||
- go.sum
|
||||
- cmd
|
||||
- internal
|
||||
-
|
||||
use: buildx
|
||||
goos: linux
|
||||
goarch: arm64
|
||||
id: arm64v8-moderncsqlite
|
||||
ids:
|
||||
- gotosocial_moderncsqlite
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8-moderncsqlite"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-arm64v8-moderncsqlite"
|
||||
- "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-arm64v8-moderncsqlite{{ end }}"
|
||||
build_flag_templates:
|
||||
- "--platform=linux/arm64/v8"
|
||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||
extra_files:
|
||||
- web
|
||||
- go.mod
|
||||
- go.sum
|
||||
- cmd
|
||||
- internal
|
||||
-
|
||||
use: buildx
|
||||
goos: linux
|
||||
goarch: arm
|
||||
goarm: 6
|
||||
id: armv6-moderncsqlite
|
||||
ids:
|
||||
- gotosocial_moderncsqlite
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv6-moderncsqlite"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-armv6-moderncsqlite"
|
||||
- "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-armv6-moderncsqlite{{ end }}"
|
||||
build_flag_templates:
|
||||
- "--platform=linux/arm/v6"
|
||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||
extra_files:
|
||||
- web
|
||||
- go.mod
|
||||
- go.sum
|
||||
- cmd
|
||||
- internal
|
||||
-
|
||||
use: buildx
|
||||
goos: linux
|
||||
goarch: arm
|
||||
goarm: 7
|
||||
id: armv7-moderncsqlite
|
||||
ids:
|
||||
- gotosocial_moderncsqlite
|
||||
image_templates:
|
||||
- "superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv7-moderncsqlite"
|
||||
- "superseriousbusiness/{{ .ProjectName }}:latest-armv7-moderncsqlite"
|
||||
- "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-armv7-moderncsqlite{{ end }}"
|
||||
build_flag_templates:
|
||||
- "--platform=linux/arm/v7"
|
||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||
extra_files:
|
||||
- web
|
||||
- go.mod
|
||||
- go.sum
|
||||
- cmd
|
||||
- internal
|
||||
docker_manifests:
|
||||
# DEFAULT WASM SQLITE BUILDS
|
||||
- name_template: superseriousbusiness/{{ .ProjectName }}:{{ .Version }}
|
||||
image_templates:
|
||||
- superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64
|
||||
|
@ -156,10 +321,32 @@ docker_manifests:
|
|||
- superseriousbusiness/{{ .ProjectName }}:snapshot-arm64v8
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-armv6
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-armv7
|
||||
# MODERNC SQLITE BUILDS
|
||||
- name_template: superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-moderncsqlite
|
||||
image_templates:
|
||||
- superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-amd64-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-arm64v8-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv6-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:{{ .Version }}-armv7-moderncsqlite
|
||||
- name_template: superseriousbusiness/{{ .ProjectName }}:latest-moderncsqlite
|
||||
image_templates:
|
||||
- superseriousbusiness/{{ .ProjectName }}:latest-amd64-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:latest-arm64v8-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:latest-armv6-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:latest-armv7-moderncsqlite
|
||||
- name_template: "{{ if .IsSnapshot }}superseriousbusiness/{{ .ProjectName }}:snapshot-moderncsqlite{{ end }}"
|
||||
image_templates:
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-amd64-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-arm64v8-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-armv6-moderncsqlite
|
||||
- superseriousbusiness/{{ .ProjectName }}:snapshot-armv7-moderncsqlite
|
||||
archives:
|
||||
# https://goreleaser.com/customization/archive/
|
||||
# DEFAULT WASM SQLITE BUILD
|
||||
-
|
||||
id: binary-release
|
||||
id: gotosocial
|
||||
builds:
|
||||
- gotosocial
|
||||
files:
|
||||
# standard release files
|
||||
- LICENSE
|
||||
|
@ -171,6 +358,24 @@ archives:
|
|||
# example config files
|
||||
- example/config.yaml
|
||||
- example/gotosocial.service
|
||||
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}"
|
||||
# MODERNC SQLITE BUILD
|
||||
-
|
||||
id: gotosocial_moderncsqlite
|
||||
builds:
|
||||
- gotosocial_moderncsqlite
|
||||
files:
|
||||
# standard release files
|
||||
- LICENSE
|
||||
- README.md
|
||||
- CHANGELOG*
|
||||
# web stuff minus source
|
||||
- web/assets
|
||||
- web/template
|
||||
# example config files
|
||||
- example/config.yaml
|
||||
- example/gotosocial.service
|
||||
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}_moderncsqlite"
|
||||
-
|
||||
id: web-assets
|
||||
files:
|
||||
|
|
Loading…
Reference in a new issue