project_name: filebrowser

env:
  - GO111MODULE=on

build:
  env:
    - CGO_ENABLED=0
  ldflags:
    - -s -w -X github.com/filebrowser/filebrowser/v2/version.Version={{ .Version }} -X github.com/filebrowser/filebrowser/v2/version.CommitSHA={{ .ShortCommit }}
  main: main.go
  binary: filebrowser
  goos:
    - darwin
    - linux
    - windows
    - freebsd
  goarch:
    - amd64
    - 386
    - arm
    - arm64
  goarm:
    - 5
    - 6
    - 7
  ignore:
    - goos: darwin
      goarch: 386
    - goos: freebsd
      goarch: arm

archives:
  -
    name_template: "{{.Os}}-{{.Arch}}{{if .Arm}}v{{.Arm}}{{end}}-{{ .ProjectName }}"
    format: tar.gz
    format_overrides:
      - goos: windows
        format: zip

dockers:
  -
    dockerfile: Dockerfile
    use_buildx: true
    build_flag_templates:
      - "--pull"
      - "--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"
    goos: linux
    goarch: amd64
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-amd64"
      - "filebrowser/filebrowser:v{{ .Major }}-amd64"
    extra_files:
      - .docker.json
  -
    dockerfile: Dockerfile
    use_buildx: true
    build_flag_templates:
      - "--pull"
      - "--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"
    goos: linux
    goarch: arm64
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-arm64"
      - "filebrowser/filebrowser:v{{ .Major }}-arm64"
    extra_files:
      - .docker.json
  -
    dockerfile: Dockerfile
    use_buildx: true
    build_flag_templates:
      - "--pull"
      - "--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/v6"
    goos: linux
    goarch: arm
    goarm: '6'
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-armv6"
      - "filebrowser/filebrowser:v{{ .Major }}-armv6"
    extra_files:
      - .docker.json
  -
    dockerfile: Dockerfile
    use_buildx: true
    build_flag_templates:
      - "--pull"
      - "--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"
    goos: linux
    goarch: arm
    goarm: '7'
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-armv7"
      - "filebrowser/filebrowser:v{{ .Major }}-armv7"
    extra_files:
      - .docker.json
docker_manifests:
  - name_template: "filebrowser/filebrowser:latest"
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-amd64"
      - "filebrowser/filebrowser:{{ .Tag }}-arm64"
      - "filebrowser/filebrowser:{{ .Tag }}-armv6"
      - "filebrowser/filebrowser:{{ .Tag }}-armv7"
  - name_template: "filebrowser/filebrowser:{{ .Tag }}"
    image_templates:
      - "filebrowser/filebrowser:{{ .Tag }}-amd64"
      - "filebrowser/filebrowser:{{ .Tag }}-arm64"
      - "filebrowser/filebrowser:{{ .Tag }}-armv6"
      - "filebrowser/filebrowser:{{ .Tag }}-armv7"
  - name_template: "filebrowser/filebrowser:v{{ .Major }}"
    image_templates:
      - "filebrowser/filebrowser:v{{ .Major }}-amd64"
      - "filebrowser/filebrowser:v{{ .Major }}-arm64"
      - "filebrowser/filebrowser:v{{ .Major }}-armv6"
      - "filebrowser/filebrowser:v{{ .Major }}-armv7"
brews:
  - name: filebrowser
    tap:
      owner: filebrowser
      name: homebrew-tap
    folder: Formula
    homepage: https://filebrowser.org
    commit_author:
      name: FileBrowser Robot
      email: robot@filebrowser.org
    description: File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface
    license: "MIT"