* Provenance generation fixes * try sbom flags * remove unwanted changes * add container sbom support * Fix more labels * Fix env variable * revert local changes --------- Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
340 lines
14 KiB
YAML
340 lines
14 KiB
YAML
version: 2
|
|
|
|
env:
|
|
- GHCR_REPO=ghcr.io/fission
|
|
|
|
project_name: fission
|
|
release:
|
|
github:
|
|
owner: fission
|
|
name: fission
|
|
prerelease: "true"
|
|
draft: true
|
|
header: |
|
|
Release Highlights: https://fission.io/docs/releases/{{ .Tag }}/
|
|
Install Guide: https://fission.io/docs/installation/
|
|
extra_files:
|
|
- glob: ./manifest/charts/*
|
|
- glob: ./manifest/yamls/*
|
|
|
|
before:
|
|
hooks:
|
|
- go mod tidy
|
|
snapshot:
|
|
version_template: "{{ .Tag }}"
|
|
builds:
|
|
- &build-linux
|
|
id: builder
|
|
ldflags:
|
|
- -s -w
|
|
- -X github.com/fission/fission/pkg/info.GitCommit={{.ShortCommit}}
|
|
- -X github.com/fission/fission/pkg/info.BuildDate={{.Date}}
|
|
- -X github.com/fission/fission/pkg/info.Version={{.Tag}}
|
|
gcflags:
|
|
- all=-trimpath={{ if index .Env "GITHUB_WORKSPACE"}}{{ .Env.GITHUB_WORKSPACE }}{{ else }}{{ .Env.PWD }}{{ end }}
|
|
asmflags:
|
|
- all=-trimpath={{ if index .Env "GITHUB_WORKSPACE"}}{{ .Env.GITHUB_WORKSPACE }}{{ else }}{{ .Env.PWD }}{{ end }}
|
|
env:
|
|
- CGO_ENABLED=0
|
|
goos:
|
|
- linux
|
|
goarch:
|
|
- amd64
|
|
- arm64
|
|
binary: builder
|
|
dir: ./cmd/builder
|
|
- <<: *build-linux
|
|
id: fetcher
|
|
binary: fetcher
|
|
dir: ./cmd/fetcher
|
|
- <<: *build-linux
|
|
id: fission-bundle
|
|
binary: fission-bundle
|
|
dir: ./cmd/fission-bundle
|
|
- <<: *build-linux
|
|
id: fission-cli
|
|
goos:
|
|
- linux
|
|
- windows
|
|
- darwin
|
|
binary: fission
|
|
dir: ./cmd/fission-cli
|
|
ignore:
|
|
- goos: windows
|
|
goarch: arm64
|
|
- <<: *build-linux
|
|
id: pre-upgrade-checks
|
|
binary: pre-upgrade-checks
|
|
dir: ./cmd/preupgradechecks
|
|
- <<: *build-linux
|
|
id: reporter
|
|
binary: reporter
|
|
dir: ./cmd/reporter
|
|
dockers:
|
|
- &docker-amd64
|
|
use: buildx
|
|
goos: linux
|
|
goarch: amd64
|
|
ids:
|
|
- builder
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/builder:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-amd64"
|
|
dockerfile: cmd/builder/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-amd64
|
|
ids:
|
|
- fetcher
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-amd64"
|
|
dockerfile: cmd/fetcher/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-amd64
|
|
ids:
|
|
- fission-bundle
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-amd64"
|
|
dockerfile: cmd/fission-bundle/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-amd64
|
|
ids:
|
|
- pre-upgrade-checks
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-amd64"
|
|
dockerfile: cmd/preupgradechecks/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-amd64
|
|
ids:
|
|
- reporter
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/reporter:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-amd64"
|
|
dockerfile: cmd/reporter/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- &docker-arm64
|
|
use: buildx
|
|
goos: linux
|
|
goarch: arm64
|
|
ids:
|
|
- builder
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/builder:latest-arm64"
|
|
- "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-arm64"
|
|
dockerfile: cmd/builder/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-arm64
|
|
ids:
|
|
- fetcher
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:latest-arm64"
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-arm64"
|
|
dockerfile: cmd/fetcher/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-arm64
|
|
ids:
|
|
- fission-bundle
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:latest-arm64"
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-arm64"
|
|
dockerfile: cmd/fission-bundle/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-arm64
|
|
ids:
|
|
- pre-upgrade-checks
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-arm64"
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-arm64"
|
|
dockerfile: cmd/preupgradechecks/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
- <<: *docker-arm64
|
|
ids:
|
|
- reporter
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/reporter:latest-arm64"
|
|
- "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-arm64"
|
|
dockerfile: cmd/reporter/Dockerfile
|
|
build_flag_templates:
|
|
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Tag}}"
|
|
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
|
|
- "--label=org.opencontainers.image.vendor=Fission"
|
|
- "--label=org.opencontainers.image.url=https://fission.io/"
|
|
docker_manifests:
|
|
- name_template: "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/builder:latest"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/builder:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/builder:latest-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/fetcher:latest"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fetcher:latest-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/fission-bundle:latest"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/fission-bundle:latest-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-arm64"
|
|
- name_template: "{{ .Env.GHCR_REPO }}/reporter:latest"
|
|
image_templates:
|
|
- "{{ .Env.GHCR_REPO }}/reporter:latest-amd64"
|
|
- "{{ .Env.GHCR_REPO }}/reporter:latest-arm64"
|
|
changelog:
|
|
disable: true
|
|
archives:
|
|
- id: fission
|
|
builds:
|
|
- fission-cli
|
|
name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
|
format: binary
|
|
checksum:
|
|
name_template: "checksums.txt"
|
|
algorithm: sha256
|
|
|
|
# signs the checksum file
|
|
# https://goreleaser.com/customization/sign
|
|
signs:
|
|
- id: cosign-binary
|
|
env:
|
|
- COSIGN_EXPERIMENTAL=1
|
|
certificate: "${artifact}.pem"
|
|
cmd: cosign
|
|
artifacts: binary
|
|
args:
|
|
- sign-blob
|
|
- "--output-signature=${signature}"
|
|
- "--output-certificate=${certificate}"
|
|
- "${artifact}"
|
|
- "--yes" # needed for cosign 2.0.0+
|
|
|
|
# signs our docker image
|
|
# https://goreleaser.com/customization/docker_sign
|
|
docker_signs:
|
|
- cmd: cosign
|
|
env:
|
|
- COSIGN_EXPERIMENTAL=1
|
|
artifacts: all
|
|
args:
|
|
- sign
|
|
- "${artifact}"
|
|
- "--yes" # needed for cosign 2.0.0+
|
|
|
|
sboms:
|
|
- artifacts: archive
|
|
id: archive
|
|
- artifacts: source
|
|
id: source
|
|
- artifacts: binary
|
|
id: binary
|
|
- artifacts: package
|
|
id: package
|