hussar-lang/hussar

View on GitHub
.goreleaser.yml

Summary

Maintainability
Test Coverage
project_name: hussar

before:
  hooks:
    - go mod tidy
    - go generate ./...

builds:
  - env:
      - CGO_ENABLED=0
    id: "hussar-compiler"
    main: ./main.go # should be ./cmd/interpreter/main.go after tooling change
    binary: hussar
    goos:
      - darwin
      - linux
      - windows
    goarch:
      - amd64
      - arm
      - arm64
    goarm:
      - 6
      - 7

brews:
  - # GOARM to specify which 32-bit arm version to use if there are multiple versions
    # from the build section. Brew formulas support atm only one 32-bit version.
    # Default is 6 for all artifacts or each id if there a multiple versions.
    goarm: 6

    # Github repository to push the tap to.
    github:
      owner: hussar-lang
      name: homebrew-tap

    url_template: "https://github.com/hussar-lang/hussar/releases/download/{{ .Tag }}/{{ .ArtifactName }}"

    # Git author used to commit to the repository.
    commit_author:
      name: goreleaserbot
      email: goreleaser@hussar.io

    # Folder inside the repository to put the formula.
    # Default is the root folder.
    folder: Formula

    homepage: "https://hussar.io/"

    description: "Interpreter and tooling for the Hussar programming language."
    # 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

    # Custom block for brew.
    # Can be used to specify alternate downloads for devel or head releases.
    # Default is empty.
    custom_block: head "https://github.com/hussar-lang/hussar.git"

    # So you can `brew test` your formula.
    # Default is empty.
    test: system "#{bin}/hussar env"

archives:
  - replacements:
      darwin: MacOS
      linux: Linux
      windows: Windows
      amd64: x84_64
    wrap_in_directory: true
    format_overrides:
      - goos: windows
        format: zip
    files:
      - LICENSE
      - README.md
      - CHANGELOG.md # should generate this
      - examples/*
      - assets/*

checksum:
  name_template: "checksums.txt"

snapshot:
  name_template: "{{ .Tag }}-SNAPSHOT-{{ .ShortCommit }}"

release:
  github:
    owner: hussar-lang
    name: hussar
  prerelease: auto
  name_template: "{{.Tag}}"

changelog:
  sort: asc
  filters:
    exclude:
      - "^docs:"
      - "^test:"
      - "^build:"
      - "^cleanup:"
      - "^release:"
      - merge
      - typo