project_name: flux builds: - <<: &build_defaults binary: flux main: ./cmd/flux ldflags: - -s -w -X main.VERSION={{ .Version }} env: - CGO_ENABLED=0 id: linux goos: - linux goarch: - amd64 - arm64 - arm goarm: - 7 - <<: *build_defaults id: darwin goos: - darwin goarch: - amd64 - arm64 - <<: *build_defaults id: windows goos: - windows archives: - name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" id: nix builds: [linux, darwin] format: tar.gz files: - none* - name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" id: windows builds: [windows] format: zip files: - none* sboms: - artifacts: archive brews: - name: flux tap: owner: fluxcd name: homebrew-tap token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" folder: Formula homepage: "https://fluxcd.io/" description: "Flux CLI" install: | bin.install "flux" bash_output = Utils.safe_popen_read(bin/"flux", "completion", "bash") (bash_completion/"flux").write bash_output zsh_output = Utils.safe_popen_read(bin/"flux", "completion", "zsh") (zsh_completion/"_flux").write zsh_output fish_output = Utils.safe_popen_read(bin/"flux", "completion", "fish") (fish_completion/"flux.fish").write fish_output test: | system "#{bin}/flux --version" publishers: - name: aur-pkg-bin env: - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }} cmd: | .github/aur/flux-bin/publish.sh {{ .Version }} - name: aur-pkg-scm env: - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }} cmd: | .github/aur/flux-scm/publish.sh {{ .Version }} - name: aur-pkg-go env: - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }} cmd: | .github/aur/flux-go/publish.sh {{ .Version }} release: extra_files: - glob: ./output/crd-schemas.tar.gz - glob: ./output/manifests.tar.gz - glob: ./output/install.yaml dockers: - image_templates: - 'fluxcd/flux-cli:{{ .Tag }}-amd64' - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-amd64' dockerfile: Dockerfile use_buildx: true goos: linux goarch: amd64 build_flag_templates: - "--pull" - "--build-arg=ARCH=linux/amd64" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/amd64" - image_templates: - 'fluxcd/flux-cli:{{ .Tag }}-arm64' - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-arm64' dockerfile: Dockerfile use_buildx: true goos: linux goarch: arm64 build_flag_templates: - "--pull" - "--build-arg=ARCH=linux/arm64" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/arm64" - image_templates: - 'fluxcd/flux-cli:{{ .Tag }}-arm' - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-arm' dockerfile: Dockerfile use_buildx: true goos: linux goarch: arm goarm: 7 build_flag_templates: - "--pull" - "--build-arg=ARCH=linux/arm" - "--label=org.opencontainers.image.created={{ .Date }}" - "--label=org.opencontainers.image.name={{ .ProjectName }}" - "--label=org.opencontainers.image.revision={{ .FullCommit }}" - "--label=org.opencontainers.image.version={{ .Version }}" - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--platform=linux/arm/v7" docker_manifests: - name_template: 'fluxcd/flux-cli:{{ .Tag }}' image_templates: - 'fluxcd/flux-cli:{{ .Tag }}-amd64' - 'fluxcd/flux-cli:{{ .Tag }}-arm64' - 'fluxcd/flux-cli:{{ .Tag }}-arm' - name_template: 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}' image_templates: - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-amd64' - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-arm64' - 'ghcr.io/fluxcd/flux-cli:{{ .Tag }}-arm'