diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index babc858e538..74278869124 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,20 +107,6 @@ jobs: version: latest args: check --config .goreleaser.yaml - - name: Run GoReleaser .goreleaser-cli.yaml check - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - version: latest - args: check --config .goreleaser-cli.yaml - - - name: Run GoReleaser .goreleaser-editor.yaml check - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - version: latest - args: check --config .goreleaser-editor.yaml - integration-tests: name: Integration Tests runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f5a740b3a4..e298d3b6279 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,6 @@ jobs: exit 1 fi - integration-tests: name: Integration Tests needs: @@ -36,7 +35,6 @@ jobs: maven-version: 3.8.2 - run: make vendor - run: make provider-tests - goreleaser: needs: integration-tests runs-on: ubuntu-latest @@ -72,82 +70,8 @@ jobs: uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser - version: ~> v2 - args: release --clean --timeout 60m --config .goreleaser.yaml - env: - GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }} - - goreleaser-lint: - needs: integration-tests - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Fetch all tags - run: git fetch --force --tags - - - name: Setup go - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Docker login - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - run: | - echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - version: ~> v2 - args: release --clean --timeout 60m --config .goreleaser-cli.yaml - env: - GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }} - - goreleaser-editor: - needs: integration-tests - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Fetch all tags - run: git fetch --force --tags - - - name: Setup go - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Docker login - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - run: | - echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v6 - with: - distribution: goreleaser - version: ~> v2 - args: release --clean --timeout 60m --config .goreleaser-editor.yaml + version: latest + args: release --clean --timeout 60m env: GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }} @@ -156,8 +80,6 @@ jobs: name: Upload dockerhub readme needs: - goreleaser - - goreleaser-editor - - goreleaser-lint steps: - name: Checkout uses: actions/checkout@v4 @@ -187,8 +109,6 @@ jobs: name: Upload dockerhub readme needs: - goreleaser - - goreleaser-editor - - goreleaser-lint steps: - name: Checkout uses: actions/checkout@v4 @@ -208,8 +128,6 @@ jobs: name: Upload dockerhub readme needs: - goreleaser - - goreleaser-editor - - goreleaser-lint steps: - name: Checkout uses: actions/checkout@v4 @@ -229,8 +147,6 @@ jobs: name: Upload dockerhub readme needs: - goreleaser - - goreleaser-editor - - goreleaser-lint steps: - name: Checkout uses: actions/checkout@v4 @@ -266,8 +182,6 @@ jobs: name: Create new documentation tag needs: - goreleaser - - goreleaser-editor - - goreleaser-lint steps: - name: Checkout uses: actions/checkout@v4 @@ -329,8 +243,6 @@ jobs: name: Bump Relay Proxy Helm Chart appVersion needs: - goreleaser - - goreleaser-editor - - goreleaser-lint env: CHART_YAML_FILE_LOCATION: cmd/relayproxy/helm-charts/relay-proxy/Chart.yaml MAIN_BRANCH_NAME: main @@ -385,8 +297,6 @@ jobs: name: Release jsonschema needs: - goreleaser - - goreleaser-editor - - goreleaser-lint env: SCHEMA_LOCATION: .schema/flag-schema.json MAIN_BRANCH_NAME: main diff --git a/.goreleaser-cli.yaml b/.goreleaser-cli.yaml deleted file mode 100644 index 083968ded88..00000000000 --- a/.goreleaser-cli.yaml +++ /dev/null @@ -1,330 +0,0 @@ -version: 2 -before: - hooks: - - go mod tidy - - go generate ./... - -dist: release - -builds: - - id: go-feature-flag-lint - main: ./cmd/lint - binary: go-feature-flag-lint - env: - - CGO_ENABLED=0 - goos: - - darwin - - linux - - windows - goarch: - - 386 - - amd64 - - arm64 - - arm - goarm: - - 6 - - 7 - ignore: - - goos: darwin - goarch: 386 - - goos: linux - goarch: arm - goarm: 6 - - - id: go-feature-flag-cli - main: ./cmd/cli - binary: go-feature-flag-cli - env: - - CGO_ENABLED=0 - goos: - - darwin - - linux - - windows - goarch: - - 386 - - amd64 - - arm64 - - arm - goarm: - - 6 - - 7 - ignore: - - goos: darwin - goarch: 386 - - goos: linux - goarch: arm - goarm: 6 - -archives: - - id: go-feature-flag-lint - name_template: "go-feature-flag-lint_\ - {{ .Version }}_\ - {{- title .Os }}_\ - {{- if eq .Arch \"amd64\" }}x86_64\ - {{- else if eq .Arch \"386\" }}i386\ - {{- else }}{{ .Arch }}{{ end }}\ - {{- with .Arm }}v{{ . }}{{ end }}\ - {{- with .Mips }}_{{ . }}{{ end }}\ - {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" - builds: - - go-feature-flag-lint - - - id: go-feature-flag-cli - name_template: "go-feature-flag-cli_\ - {{ .Version }}_\ - {{- title .Os }}_\ - {{- if eq .Arch \"amd64\" }}x86_64\ - {{- else if eq .Arch \"386\" }}i386\ - {{- else }}{{ .Arch }}{{ end }}\ - {{- with .Arm }}v{{ . }}{{ end }}\ - {{- with .Mips }}_{{ . }}{{ end }}\ - {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" - builds: - - go-feature-flag-cli - -checksum: - name_template: 'checksums-cli.txt' - -changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' - - '^testdata:' - - '^.github' - - '^examples' - - 'vendor' - -dockers: - # lint - - use: buildx - goos: linux - goarch: amd64 - ids: - - go-feature-flag-lint - dockerfile: ./cmd/lint/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - build_flag_templates: - - "--platform=linux/amd64" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-lint" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" - - "--label=org.opencontainers.image.version={{ .Version }}" - - use: buildx - goos: linux - goarch: arm64 - ids: - - go-feature-flag-lint - dockerfile: ./cmd/lint/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - build_flag_templates: - - "--platform=linux/arm64/v8" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-lint" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" - - "--label=org.opencontainers.image.version={{ .Version }}" - - use: buildx - goos: linux - goarch: arm - goarm: 7 - ids: - - go-feature-flag-lint - dockerfile: ./cmd/lint/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - build_flag_templates: - - "--platform=linux/arm/v7" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-lint" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" - - "--label=org.opencontainers.image.version={{ .Version }}" - - # cli - - use: buildx - goos: linux - goarch: amd64 - ids: - - go-feature-flag-cli - dockerfile: ./cmd/cli/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 - build_flag_templates: - - "--platform=linux/amd64" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-cli" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" - - "--label=org.opencontainers.image.version={{ .Version }}" - - use: buildx - goos: linux - goarch: arm64 - ids: - - go-feature-flag-cli - dockerfile: ./cmd/cli/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 - build_flag_templates: - - "--platform=linux/arm64/v8" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-cli" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" - - "--label=org.opencontainers.image.version={{ .Version }}" - - use: buildx - goos: linux - goarch: arm - goarm: 7 - ids: - - go-feature-flag-cli - dockerfile: ./cmd/cli/Dockerfile - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 - build_flag_templates: - - "--platform=linux/arm/v7" - - "--label=org.opencontainers.image.created={{ .Date }}" - - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" - - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" - - "--label=org.opencontainers.image.title=go-feature-flag-cli" - - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" - - "--label=org.opencontainers.image.version={{ .Version }}" - -docker_manifests: - # lint-legacy - - name_template: thomaspoignant/go-feature-flag-lint:latest - id: go-feature-flag-lint-latest-legacy - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }} - id: go-feature-flag-lint-tag-legacy - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: thomaspoignant/go-feature-flag-lint:v{{ .Major }} - id: go-feature-flag-lint-major-legacy - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: thomaspoignant/go-feature-flag-lint:v{{ .Major }}.{{ .Minor }} - id: go-feature-flag-lint-major-minor-legacy - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - # lint - - name_template: gofeatureflag/go-feature-flag-lint:latest - id: go-feature-flag-lint-latest - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-lint:v{{ .RawVersion }} - id: go-feature-flag-lint-tag - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-lint:v{{ .Major }} - id: go-feature-flag-lint-major - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-lint:v{{ .Major }}.{{ .Minor }} - id: go-feature-flag-lint-major-minor - image_templates: - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 - # cli - - name_template: gofeatureflag/go-feature-flag-cli:latest - id: go-feature-flag-cli-latest - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-cli:v{{ .RawVersion }} - id: go-feature-flag-cli-tag - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-cli:v{{ .Major }} - id: go-feature-flag-cli-major - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 - - name_template: gofeatureflag/go-feature-flag-cli:v{{ .Major }}.{{ .Minor }} - id: go-feature-flag-cli-major-minor - image_templates: - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 - - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 -brews: - - ids: - - go-feature-flag-lint - name: go-feature-flag-lint - repository: - owner: thomaspoignant - name: homebrew-tap - branch: master - caveats: "A command line tool to lint your feature flag configuration file" - homepage: "https://gofeatureflag.org/docs/tooling/linter" - description: "A command line tool to lint your feature flag configuration file" - skip_upload: auto - - ids: - - go-feature-flag-cli - name: go-feature-flag-cli - repository: - owner: thomaspoignant - name: homebrew-tap - branch: master - caveats: "A command line tool to manage GO Feature Flag from your terminal" - homepage: "https://gofeatureflag.org/docs/tooling/cli" - description: "A command line tool to manage GO Feature Flag from your terminal" - skip_upload: auto - -scoops: - - url_template: https://github.com/thomaspoignant/go-feature-flag/releases/download/{{ .Tag }}/{{ .ArtifactName }} - ids: [ go-feature-flag-lint ] - name: go-feature-flag-lint - repository: - owner: go-feature-flag - name: scoop - commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" - homepage: "https://gofeatureflag.org/docs/tooling/linter" - license: MIT - - - url_template: https://github.com/thomaspoignant/go-feature-flag/releases/download/{{ .Tag }}/{{ .ArtifactName }} - ids: [ go-feature-flag-cli ] - name: go-feature-flag-cli - repository: - owner: go-feature-flag - name: scoop - commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" - homepage: "https://gofeatureflag.org/docs/tooling/cli" - license: MIT - -snapshot: - version_template: "{{ incpatch .Version }}-next" diff --git a/.goreleaser-editor.yaml b/.goreleaser-editor.yaml deleted file mode 100644 index 51df0da78f9..00000000000 --- a/.goreleaser-editor.yaml +++ /dev/null @@ -1,58 +0,0 @@ -version: 2 -before: - hooks: - - go mod tidy - - go generate ./... - -dist: release - -builds: - - id: go-feature-flag-editor - main: ./cmd/editor - binary: go-feature-flag-editor - env: - - CGO_ENABLED=0 - goos: - - linux - goarch: - - arm64 - goarm: - - 6 - - 7 - ignore: - - goos: darwin - goarch: 386 - - goos: linux - goarch: arm - goarm: 6 - -archives: - - id: go-feature-flag-editor - name_template: "go-feature-flag-editor_\ - {{ .Version }}_\ - {{- title .Os }}_\ - {{- if eq .Arch \"amd64\" }}x86_64\ - {{- else if eq .Arch \"386\" }}i386\ - {{- else }}{{ .Arch }}{{ end }}\ - {{- with .Arm }}v{{ . }}{{ end }}\ - {{- with .Mips }}_{{ . }}{{ end }}\ - {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" - builds: - - go-feature-flag-editor - -checksum: - name_template: 'checksums-editor.txt' - -changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' - - '^testdata:' - - '^.github' - - '^examples' - - 'vendor' - -snapshot: - version_template: "{{ incpatch .Version }}-next" diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 0f84a14497b..06e311c52d2 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -57,6 +57,73 @@ builds: goarch: arm goarm: 6 + - id: go-feature-flag-lint + main: ./cmd/lint + binary: go-feature-flag-lint + env: + - CGO_ENABLED=0 + goos: + - darwin + - linux + - windows + goarch: + - 386 + - amd64 + - arm64 + - arm + goarm: + - 6 + - 7 + ignore: + - goos: darwin + goarch: 386 + - goos: linux + goarch: arm + goarm: 6 + + - id: go-feature-flag-cli + main: ./cmd/cli + binary: go-feature-flag-cli + env: + - CGO_ENABLED=0 + goos: + - darwin + - linux + - windows + goarch: + - 386 + - amd64 + - arm64 + - arm + goarm: + - 6 + - 7 + ignore: + - goos: darwin + goarch: 386 + - goos: linux + goarch: arm + goarm: 6 + + - id: go-feature-flag-editor + main: ./cmd/editor + binary: go-feature-flag-editor + env: + - CGO_ENABLED=0 + goos: + - linux + goarch: + - arm64 + goarm: + - 6 + - 7 + ignore: + - goos: darwin + goarch: 386 + - goos: linux + goarch: arm + goarm: 6 + # Build an AWS lambda compatible binary - id: go-feature-flag-lambda main: ./cmd/relayproxy @@ -71,6 +138,19 @@ builds: - "7" archives: + - id: go-feature-flag-editor + name_template: "go-feature-flag-editor_\ + {{ .Version }}_\ + {{- title .Os }}_\ + {{- if eq .Arch \"amd64\" }}x86_64\ + {{- else if eq .Arch \"386\" }}i386\ + {{- else }}{{ .Arch }}{{ end }}\ + {{- with .Arm }}v{{ . }}{{ end }}\ + {{- with .Mips }}_{{ . }}{{ end }}\ + {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" + builds: + - go-feature-flag-editor + # DEPRECATED: check go-feature-flag - id: go-feature-flag-relay-proxy name_template: "go-feature-flag-relay-proxy_\ @@ -97,6 +177,31 @@ archives: {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" builds: - go-feature-flag + - id: go-feature-flag-lint + name_template: "go-feature-flag-lint_\ + {{ .Version }}_\ + {{- title .Os }}_\ + {{- if eq .Arch \"amd64\" }}x86_64\ + {{- else if eq .Arch \"386\" }}i386\ + {{- else }}{{ .Arch }}{{ end }}\ + {{- with .Arm }}v{{ . }}{{ end }}\ + {{- with .Mips }}_{{ . }}{{ end }}\ + {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" + builds: + - go-feature-flag-lint + + - id: go-feature-flag-cli + name_template: "go-feature-flag-cli_\ + {{ .Version }}_\ + {{- title .Os }}_\ + {{- if eq .Arch \"amd64\" }}x86_64\ + {{- else if eq .Arch \"386\" }}i386\ + {{- else }}{{ .Arch }}{{ end }}\ + {{- with .Arm }}v{{ . }}{{ end }}\ + {{- with .Mips }}_{{ . }}{{ end }}\ + {{- if not (eq .Amd64 \"v1\") }}{{ .Amd64 }}{{ end }}" + builds: + - go-feature-flag-cli - id: goff-lambda name_template: "go-feature-flag-aws-lambda_{{ .Version }}" @@ -290,6 +395,115 @@ dockers: - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/relay_proxy" - "--label=org.opencontainers.image.version={{ .Version }}" + # lint + - use: buildx + goos: linux + goarch: amd64 + ids: + - go-feature-flag-lint + dockerfile: ./cmd/lint/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + build_flag_templates: + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-lint" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" + - "--label=org.opencontainers.image.version={{ .Version }}" + - use: buildx + goos: linux + goarch: arm64 + ids: + - go-feature-flag-lint + dockerfile: ./cmd/lint/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + build_flag_templates: + - "--platform=linux/arm64/v8" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-lint" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" + - "--label=org.opencontainers.image.version={{ .Version }}" + - use: buildx + goos: linux + goarch: arm + goarm: 7 + ids: + - go-feature-flag-lint + dockerfile: ./cmd/lint/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + build_flag_templates: + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to lint your feature flag configuration file" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-lint" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/linter" + - "--label=org.opencontainers.image.version={{ .Version }}" + + # cli + - use: buildx + goos: linux + goarch: amd64 + ids: + - go-feature-flag-cli + dockerfile: ./cmd/cli/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 + build_flag_templates: + - "--platform=linux/amd64" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-cli" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" + - "--label=org.opencontainers.image.version={{ .Version }}" + - use: buildx + goos: linux + goarch: arm64 + ids: + - go-feature-flag-cli + dockerfile: ./cmd/cli/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 + build_flag_templates: + - "--platform=linux/arm64/v8" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-cli" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" + - "--label=org.opencontainers.image.version={{ .Version }}" + - use: buildx + goos: linux + goarch: arm + goarm: 7 + ids: + - go-feature-flag-cli + dockerfile: ./cmd/cli/Dockerfile + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 + build_flag_templates: + - "--platform=linux/arm/v7" + - "--label=org.opencontainers.image.created={{ .Date }}" + - "--label=org.opencontainers.image.description=A command line tool to manage GO Feature Flag from your terminal" + - "--label=org.opencontainers.image.revision={{ .FullCommit }}" + - "--label=org.opencontainers.image.source=https://github.com/thomaspoignant/go-feature-flag" + - "--label=org.opencontainers.image.title=go-feature-flag-cli" + - "--label=org.opencontainers.image.url=https://gofeatureflag.org/docs/tooling/cli" + - "--label=org.opencontainers.image.version={{ .Version }}" + + docker_manifests: # DEPRECATED: check go-feature-flag - name_template: thomaspoignant/go-feature-flag-relay-proxy:latest @@ -394,7 +608,82 @@ docker_manifests: - thomaspoignant/go-feature-flag-bookworm:v{{ .RawVersion }}-arm64v8 - thomaspoignant/go-feature-flag-bookworm:v{{ .RawVersion }}-armv7 - thomaspoignant/go-feature-flag-bookworm:v{{ .RawVersion }}-amd64 + # lint-legacy + - name_template: thomaspoignant/go-feature-flag-lint:latest + id: go-feature-flag-lint-latest-legacy + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }} + id: go-feature-flag-lint-tag-legacy + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: thomaspoignant/go-feature-flag-lint:v{{ .Major }} + id: go-feature-flag-lint-major-legacy + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: thomaspoignant/go-feature-flag-lint:v{{ .Major }}.{{ .Minor }} + id: go-feature-flag-lint-major-minor-legacy + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + # lint + - name_template: gofeatureflag/go-feature-flag-lint:latest + id: go-feature-flag-lint-latest + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-lint:v{{ .RawVersion }} + id: go-feature-flag-lint-tag + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-lint:v{{ .Major }} + id: go-feature-flag-lint-major + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-lint:v{{ .Major }}.{{ .Minor }} + id: go-feature-flag-lint-major-minor + image_templates: + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-lint:v{{ .RawVersion }}-amd64 + # cli + - name_template: gofeatureflag/go-feature-flag-cli:latest + id: go-feature-flag-cli-latest + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-cli:v{{ .RawVersion }} + id: go-feature-flag-cli-tag + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-cli:v{{ .Major }} + id: go-feature-flag-cli-major + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 + - name_template: gofeatureflag/go-feature-flag-cli:v{{ .Major }}.{{ .Minor }} + id: go-feature-flag-cli-major-minor + image_templates: + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-arm64v8 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-armv7 + - thomaspoignant/go-feature-flag-cli:v{{ .RawVersion }}-amd64 brews: # DEPRECATED: check go-feature-flag - ids: @@ -419,6 +708,28 @@ brews: homepage: "https://gofeatureflag.org/docs/relay_proxy" description: "A stand alone server to run GO Feature Flag" skip_upload: auto + - ids: + - go-feature-flag-lint + name: go-feature-flag-lint + repository: + owner: thomaspoignant + name: homebrew-tap + branch: master + caveats: "A command line tool to lint your feature flag configuration file" + homepage: "https://gofeatureflag.org/docs/tooling/linter" + description: "A command line tool to lint your feature flag configuration file" + skip_upload: auto + - ids: + - go-feature-flag-cli + name: go-feature-flag-cli + repository: + owner: thomaspoignant + name: homebrew-tap + branch: master + caveats: "A command line tool to manage GO Feature Flag from your terminal" + homepage: "https://gofeatureflag.org/docs/tooling/cli" + description: "A command line tool to manage GO Feature Flag from your terminal" + skip_upload: auto scoops: # DEPRECATED: check go-feature-flag @@ -442,5 +753,25 @@ scoops: homepage: "https://gofeatureflag.org/docs/relay_proxy" license: MIT + - url_template: https://github.com/thomaspoignant/go-feature-flag/releases/download/{{ .Tag }}/{{ .ArtifactName }} + ids: [ go-feature-flag-lint ] + name: go-feature-flag-lint + repository: + owner: go-feature-flag + name: scoop + commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" + homepage: "https://gofeatureflag.org/docs/tooling/linter" + license: MIT + + - url_template: https://github.com/thomaspoignant/go-feature-flag/releases/download/{{ .Tag }}/{{ .ArtifactName }} + ids: [ go-feature-flag-cli ] + name: go-feature-flag-cli + repository: + owner: go-feature-flag + name: scoop + commit_msg_template: "Scoop update for {{ .ProjectName }} version {{ .Tag }}" + homepage: "https://gofeatureflag.org/docs/tooling/cli" + license: MIT + snapshot: version_template: "{{ incpatch .Version }}-next"