zitadel/.goreleaser.yaml

129 lines
3.7 KiB
YAML
Raw Normal View History

project_name: zitadel
release:
github:
2022-04-27 11:08:54 +02:00
owner: zitadel
name: zitadel
draft: false
# If set to auto, will mark the release as not ready for production
# in case there is an indicator for this in the tag e.g. v1.0.0-rc1
# If set to true, will mark the release as not ready for production.
# Default is false.
prerelease: auto
before:
hooks:
# this file would invalidate go source caches
- sh -c "rm openapi/statik/statik.go || true"
- docker build -f build/grpc/Dockerfile -t zitadel-base:local .
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-test --target go-codecov -o .artifacts/codecov
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-base --target go-copy -o .artifacts/grpc/go-client
- sh -c "cp -r .artifacts/grpc/go-client/* ."
- docker build -f build/console/Dockerfile . -t zitadel-npm-base --target npm-copy -o .artifacts/grpc/js-client
ci(e2e): Run Tests in Pipelines (#3903) * cy10 changes * test: setup local e2e env * test(e2e): migrate e2e setup * add more config * make e2e setup work * align variables * fix config * skip mfa * set user register to false * read ids from database if not provided * don't read ids withing env file * fix escaping in id queries * fix project root * export projectRoot path * export projectRoot * add e2e-setup.sh * specify GOOS and GOARCH for dockerfile compatible binary * add org default redirect uri * correctly initialize org policy * await ids * fix awaiting ids * fix cypress configuration * fix some tests * initial compose setup * fix working directory * fix references * make tests less flaky * run go tests * compose works until e2e-setup incl * pass created e2e sa key * make cypress run * derive e2e orgs domain from baseurl * use host from baseurl for setup ctx * move defaults.yaml back to cmd pkg * just create org owner * Don't render element if no roles are passed * use map instead of switchMap * fix e2e tests * added testdata for e3e * zipped dump * removed dumpDir * cypress workflow with compose * quote name * cleanup vars * eliminate need for e2e setup * compose has no builds anymore * use compose run and zitadel nw * test e2e on pr (#4114) * test e2e on pr * install goreleaser * install npm dev dependencies * run cypress wf * dynamic release version * skip flaky user tests * skip flaky permissions test * cache docker layers in pipeline * Update .github/workflows/cypress.yml Co-authored-by: Florian Forster <florian@caos.ch> * align goreleaser version * get rid of install.sh * remove cypress-terminal-report * Revert "remove cypress-terminal-report" This reverts commit 254b5a1f87be71c64c1289b12fc1bf23a401ea64. * just one npm e2e:build command * cache npm dependencies * install node modules using docker * dedicated e2e context * fix syntax * don't copy node modules from goreleaser * add npm-copy target * add tsconfig.json * remove docker caching * deleted unneeded shellscript * naming and cleanup Co-authored-by: Florian Forster <florian@caos.ch> Co-authored-by: Christian Jakob <christian@caos.ch> * cleanup Co-authored-by: Elio Bischof <eliobischof@gmail.com> Co-authored-by: Christian Jakob <christian@caos.ch> Co-authored-by: Florian Forster <florian@caos.ch>
2022-08-05 20:00:46 +02:00
- docker build -f build/console/Dockerfile . -t zitadel-npm-console --target angular-export -o .artifacts/console
- sh -c "cp -r .artifacts/console/* internal/api/ui/console/static/"
builds:
feat(database): support for postgres (#3998) * beginning with postgres statements * try pgx * use pgx * database * init works for postgres * arrays working * init for cockroach * init * start tests * tests * TESTS * ch * ch * chore: use go 1.18 * read stmts * fix typo * tests * connection string * add missing error handler * cleanup * start all apis * go mod tidy * old update * switch back to minute * on conflict * replace string slice with `database.StringArray` in db models * fix tests and start * update go version in dockerfile * setup go * clean up * remove notification migration * update * docs: add deploy guide for postgres * fix: revert sonyflake * use `database.StringArray` for daos * use `database.StringArray` every where * new tables * index naming, metadata primary key, project grant role key type * docs(postgres): change to beta * chore: correct compose * fix(defaults): add empty postgres config * refactor: remove unused code * docs: add postgres to self hosted * fix broken link * so? * change title * add mdx to link * fix stmt * update goreleaser in test-code * docs: improve postgres example * update more projections * fix: add beta log for postgres * revert index name change * prerelease * fix: add sequence to v1 "reduce paniced" * log if nil * add logging * fix: log output * fix(import): check if org exists and user * refactor: imports * fix(user): ignore malformed events * refactor: method naming * fix: test * refactor: correct errors.Is call * ci: don't build dev binaries on main * fix(go releaser): update version to 1.11.0 * fix(user): projection should not break * fix(user): handle error properly * docs: correct config example * Update .releaserc.js * Update .releaserc.js Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: Elio Bischof <eliobischof@gmail.com>
2022-08-31 09:52:43 +02:00
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
ldflags:
-s -w -X github.com/zitadel/zitadel/cmd/build.version={{.Version}} -X github.com/zitadel/zitadel/cmd/build.commit={{.Commit}} -X github.com/zitadel/zitadel/cmd/build.date={{.Date}}
feat(database): support for postgres (#3998) * beginning with postgres statements * try pgx * use pgx * database * init works for postgres * arrays working * init for cockroach * init * start tests * tests * TESTS * ch * ch * chore: use go 1.18 * read stmts * fix typo * tests * connection string * add missing error handler * cleanup * start all apis * go mod tidy * old update * switch back to minute * on conflict * replace string slice with `database.StringArray` in db models * fix tests and start * update go version in dockerfile * setup go * clean up * remove notification migration * update * docs: add deploy guide for postgres * fix: revert sonyflake * use `database.StringArray` for daos * use `database.StringArray` every where * new tables * index naming, metadata primary key, project grant role key type * docs(postgres): change to beta * chore: correct compose * fix(defaults): add empty postgres config * refactor: remove unused code * docs: add postgres to self hosted * fix broken link * so? * change title * add mdx to link * fix stmt * update goreleaser in test-code * docs: improve postgres example * update more projections * fix: add beta log for postgres * revert index name change * prerelease * fix: add sequence to v1 "reduce paniced" * log if nil * add logging * fix: log output * fix(import): check if org exists and user * refactor: imports * fix(user): ignore malformed events * refactor: method naming * fix: test * refactor: correct errors.Is call * ci: don't build dev binaries on main * fix(go releaser): update version to 1.11.0 * fix(user): projection should not break * fix(user): handle error properly * docs: correct config example * Update .releaserc.js * Update .releaserc.js Co-authored-by: Livio Amstutz <livio.a@gmail.com> Co-authored-by: Elio Bischof <eliobischof@gmail.com>
2022-08-31 09:52:43 +02:00
dist: .artifacts/goreleaser
dockers:
- image_templates:
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
feat: cloud-run compatibility (#3438) * ci: don't run on tags anymore * ci: also test docker builds * .releaserc.js entry and wf dispatch for prerel * .releaserc.js entry and wf dispatch for prerel * create prerelease * create prereleases * fix syntax * fix: release * test before tag * temporarily disable tests * fix: prerelease * fix: add --rm-dist flag * fix: push to zitadel-common * fix: gcr login * fix: release * fix: ignore generated assets.md * fix: don't use go-releaser before hooks * build grpc client before testing * fix: use docker buildkit * debug * debug * fix: debug * fix: debug * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * unignore * fix: unignore * fix: unignore * build base * fix: ignore * no mod proxy * fix: test using goreleaser before hook * fix: build without having a git tag * fix: build without having a git tag * fix: push to ghcr * fix: login to ghcr * fix: login to ghcr if releasing * fix: permit to write packages * fix: aesthetics * fix: login using base64 encoded key * fix: publish images with short sha and tag * fix: read masterkey from file for start-from-init * fix: release if workflow_dispatch or main * ci: only test before tag * fix: no workdir, login action for gcr * fix: review * fix: run on PR * push amd64 images to gcr
2022-04-12 16:44:49 +02:00
- europe-docker.pkg.dev/zitadel-common/zitadel-repo/zitadel:{{ .Tag }}-amd64
goarch: amd64
use: buildx
dockerfile: build/Dockerfile
build_flag_templates:
- "--platform=linux/amd64"
- image_templates:
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
- ghcr.io/zitadel/zitadel:{{ .ShortCommit }}-arm64
goarch: arm64
use: buildx
dockerfile: build/Dockerfile
build_flag_templates:
- "--platform=linux/arm64"
docker_manifests:
2022-08-03 12:55:54 +02:00
- id: zitadel-latest
name_template: ghcr.io/zitadel/zitadel:latest
image_templates:
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
# Skips can and shall be set for individual manifests same as in dockers
skip_push: auto
2022-08-03 12:55:54 +02:00
- id: zitadel-Tag
name_template: ghcr.io/zitadel/zitadel:{{ .Tag }}
image_templates:
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
archives:
2022-05-20 17:50:25 +02:00
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
files:
- README.md
- LICENSE
gomod:
feat: cloud-run compatibility (#3438) * ci: don't run on tags anymore * ci: also test docker builds * .releaserc.js entry and wf dispatch for prerel * .releaserc.js entry and wf dispatch for prerel * create prerelease * create prereleases * fix syntax * fix: release * test before tag * temporarily disable tests * fix: prerelease * fix: add --rm-dist flag * fix: push to zitadel-common * fix: gcr login * fix: release * fix: ignore generated assets.md * fix: don't use go-releaser before hooks * build grpc client before testing * fix: use docker buildkit * debug * debug * fix: debug * fix: debug * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * fix: run action steps in $GOPATH * unignore * fix: unignore * fix: unignore * build base * fix: ignore * no mod proxy * fix: test using goreleaser before hook * fix: build without having a git tag * fix: build without having a git tag * fix: push to ghcr * fix: login to ghcr * fix: login to ghcr if releasing * fix: permit to write packages * fix: aesthetics * fix: login using base64 encoded key * fix: publish images with short sha and tag * fix: read masterkey from file for start-from-init * fix: release if workflow_dispatch or main * ci: only test before tag * fix: no workdir, login action for gcr * fix: review * fix: run on PR * push amd64 images to gcr
2022-04-12 16:44:49 +02:00
proxy: false
checksum:
name_template: 'checksums.txt'
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
brews:
- tap:
owner: zitadel
name: homebrew-tap
token: "{{ .Env.GORELEASER_TOKEN_TAP }}"
folder: Formula
goarm: "7"
2022-05-20 16:32:06 +02:00
homepage: https://zitadel.com
description: Open source identity solution built for the container and cloud era
license: Apache 2.0
test: |
system "#{bin}/zitadel -v"
dependencies:
- name: go
type: optional
- name: git
install: |-
bin.install "zitadel"
# If set to auto, the release will not be uploaded to the homebrew tap
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
# Default is false.
skip_upload: auto
announce:
discord:
enabled: true
message_template: 'ZITADEL {{ .Tag }} is ready! Check the notes: https://github.com/zitadel/zitadel/releases/tag/{{ .Tag }}'