This project is mirrored from https://gitee.com/mirrors/nomad.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 20 Sep, 2021 1 commit
  2. 01 Sep, 2021 1 commit
    • Mahmood Ali's avatar
      Format Terraform files (#11099) · cd591721
      Mahmood Ali authored
      Also format terraform scripts with hclfmt, equivalent to terraform fmt.
      
      I opted not to use terraform fmt, because I didn't want to introduce dev dependency on the terraform CLI.
      
      Also, I've optimized the find command to ignore spurious directories (e.g. .git, node_modules) that seem to be populated with too many files! make hclfmt takes 0.3s on my mac down from 7 seconds!
      cd591721
  3. 31 Aug, 2021 1 commit
  4. 09 Aug, 2021 1 commit
  5. 29 Jul, 2021 1 commit
  6. 14 Jul, 2021 1 commit
    • Seth Hoenig's avatar
      build: no longer use vendor directory · 8869c4dd
      Seth Hoenig authored
      This PR removes the vendor directory from the Nomad repository.
      Contributers will no longer need to deal with our `make sync`
      step when working on Nomad, which was suprising when making changes
      to the api. It also causes huge diffs in PRs that nobody looks at.
      8869c4dd
  7. 06 Jul, 2021 1 commit
    • Mahmood Ali's avatar
      Adopt go-changelog in Nomad (#10825) · 18d359f7
      Mahmood Ali authored
      Adopts [`go-changelog`](https://github.com/hashicorp/go-changelog) for managing Nomad's changelog. `go-changelog` is becoming the HashiCorp defacto standard tool for managing changelog, e.g. [Consul](https://github.com/hashicorp/consul/pull/8387), [Vault](https://github.com/hashicorp/vault/pull/10363), [Waypoint](https://github.com/hashicorp/waypoint/pull/1179). [Consul](https://github.com/hashicorp/consul/pull/8387) seems to be the first product to adopt it, and its PR has the most context - though I've updated `.changelog/README.md` with the relevant info here.
      
      ## Changes to developers workflow
      
      When opening PRs, developers should add a changelog entry in `.changelog/<PR#>.txt`. Check [`.changelog/README.md`](https://github.com/hashicorp/nomad/blob/docs-adopt-gochangelog/.changelog/README.md#developer-guide). 
      
      For the WIP release, entries can be amended even after the PR merged, and new files may be added post-hoc (e.g. during transition period, missed accidentally, community PRs, etc).
      
      ### Transitioning
      
      Pending PRs can start including the changelog entry files immediately.
      
      For 1.1.3/1.0.9 cycle, the release coordinator should create the entries for any PR that gets merged without a changelog entry file. They should also move any 1.1.3 entry in CHANGELOG.md to a changelog entry file, as this PR done for GH-10818.
      
      ## Changes to release process
      
      Before cutting a release, release coordinator should update the changelog by inserting the output of `make changelog` to CHANGELOG.md with appropriate headers. See [`.changelog/README.md`](https://github.com/hashicorp/nomad/blob/docs-adopt-gochangelog/.changelog/README.md#how-to-generate-changelog-entries-for-release) for more details.
      
      
      ## Details
      
      go-changelog is a basic templating engine for maintaining changelog in HashiCorp environment.
      
      It expects the changelog entries as files indexed by their PR number. The CLI generates the changelog section for a release by comparing two git references (e.g. `HEAD` and the latest release, e.g. `v1.1.2`), and still requires manual process for updating CHANGELOG.md and final formatting.
      
      The approach has many nice advantages:
      * Avoids changelog related merge conflicts: Each PR touches different file!
      * Copes with amendments and post-PR updates: Just add or update a changelog entry file using the original PR numbers.
      * Addresses the release backporting scenario: Cherry-picking PRs will cherry-pick the relevant changelog entry automatically!
      * Only relies on data available through `git` - no reliance on GitHub metadata or require GitHub credentials
      
      The approach has few downsides though:
      * CHANGELOG.md going stale during development and must be updated manually before cutting the release
        * Repository watchers can no longer glance at the CHANGELOG.md to see upcoming changes
        * We can periodically update the file, but `go-changelog` tool does not aid with that
      * `go-changelog` tool does not offer good error reporting. If an entry is has an invalid tag (e.g. uses `release-note:bugfix` instead of `release-note:bug`), the entry will be dropped silently
        * We should update go-changelog to warn against unexpected entry tags
        * TODO: Meanwhile, PR reviewers and release coordinators should watch out
      
      ## Potential follow ups
      
      We should follow up with CI checks to ensure PR changes include a warning. I've opted not to include that now. We still make many non-changelog-worth PRs for website/docs, for large features that get merged in multiple small PRs. I did not want to include a check that fails often.
      
      Also, we should follow up to have `go-changelog` emit better warnings on unexpected tag.
      18d359f7
  8. 06 Apr, 2021 1 commit
    • Seth Hoenig's avatar
      build: install buf during bootstrap · c85bbbee
      Seth Hoenig authored
      Previously installing buf was left out of `make bootstrap` because it
      had conflicts with the `tools/go.mod` file and dependencies used by
      other tools. With Go 1.16 we eliminated that `go.mod` file, and can
      now just install `buf` with `go install` like everything else.
      c85bbbee
  9. 03 Apr, 2021 1 commit
  10. 02 Apr, 2021 1 commit
    • Mahmood Ali's avatar
      Tweak cross compilation Make · caaeaa02
      Mahmood Ali authored
      Only use cross compile if not compiling in target architecture.
      
      Also, use the latest gcc for cross compilation.
      caaeaa02
  11. 01 Apr, 2021 1 commit
    • Mahmood Ali's avatar
      dev: ignore msgpack codegen code in dev by default · c868444b
      Mahmood Ali authored
      This change disables using msgpack generated serializers in dev by
      default.
      
      In released binaries, we use code-generated msgpack serializers to
      improve performance.  However, in development, code generated
      serializers are a pain. If a developer forgets to re-generate code, the
      code generated gets out of sync with the go structs, and result into
      subtle bugs where some values appear not to persist as expected.
      
      The CI and release scripts will continue to use the msgpack
      code-generation. Devs who want to test locally can set
      `GO_TAGS=codegen_generated` as well.
      c868444b
  12. 09 Mar, 2021 1 commit
  13. 01 Feb, 2021 2 commits
  14. 12 Jan, 2021 2 commits
  15. 18 Dec, 2020 1 commit
    • Kris Hicks's avatar
      makefile: Re-scope VERBOSE=true, update build warnings (#9675) · 19d5cd02
      Kris Hicks authored
      * Set 'only' ALL_TARGETS rather than append
      
      This is functionally no different than before, but it's more correct.
      
      * Re-scope VERBOSE=true
      
      Previously this was only set when the OS was Linux; this was added in
      805ade7d.
      
      * Warn about unsupported OS rather than error
      
      Also:
      
      * Only print the warning when trying to build Nomad
      * Print correct list of supported OSes
      19d5cd02
  16. 16 Dec, 2020 1 commit
  17. 15 Dec, 2020 1 commit
    • Seth Hoenig's avatar
      build: add build target for darwin/arm64 · 25cf8b26
      Seth Hoenig authored
      Add a build target for Apple Silicon (m1) macs.
      
      Note that Go must have been built with c4f497da6f for
      Nomad to work on darwin/arm64 (i.e. wait for go1.16).
      
      Closes #9408
      25cf8b26
  18. 14 Dec, 2020 2 commits
  19. 23 Nov, 2020 1 commit
  20. 20 Nov, 2020 2 commits
    • Mahmood Ali's avatar
      lint protobuf files · dbf201b2
      Mahmood Ali authored
      dbf201b2
    • Mahmood Ali's avatar
      Parameterize buf compatibility target · c4a83f79
      Mahmood Ali authored
      Parameterize it so we can arbitrary target other versions, if we
      are doing some manual checking, specially in the beginning when we may
      want to validate compatibilities for skip release upgrades.
      
      Also, introduce `checkbuf` target so we can run buf linter without the
      rest.
      
      use beta
      c4a83f79
  21. 17 Nov, 2020 1 commit
  22. 10 Nov, 2020 1 commit
    • Kris Hicks's avatar
      protos: Update .proto files not to use Go package name (#9301) · b3825e74
      Kris Hicks authored
      Previously, it was required that you `go get github.com/hashicorp/nomad` to be
      able to build protos, as the protoc invocation added an include directive that
      pointed to `$GOPATH/src`, which is how dependent protos were discovered. As
      Nomad now uses Go modules, it won't necessarily be cloned to `$GOPATH`.
      (Additionally, if you _had_ go-gotten Nomad at some point, protoc compilation
      would have possibly used the _wrong_ protos, as those wouldn't necessarily be
      the most up-to-date ones.)
      
      This change modifies the proto files and the `protoc` invocation to handle
      discovering dependent protos via protoc plugin modifier statements that are
      specific to the protoc plugin being used.
      
      In this change, `make proto` was run to recompile the protos, which results in
      changes only to the gzipped `FileDescriptorProto`.
      b3825e74
  23. 26 Oct, 2020 1 commit
  24. 15 Oct, 2020 1 commit
    • Ben Buzbee's avatar
      Use GOPATH/src explicitly in proto build target · d341c463
      Ben Buzbee authored
      -I ../../.. is meant to navigate from `GOPATH/src/github.com/hashicorp/nomad` to `GOPATH/src`
      
      This is fine but it assumes a few things about how the dev has setup nomad, which is also fine if that is the expected dev environment, however the `../../..` is not as explicit as "GOPATH/src" and it would also enable a few more scenarios so it seems strictly better to me.
      
      Random example: nomad is a subrepo of ours, but with this change we can symlink from GOPATH/src/github.com/hashicorp/nomad and `make proto` will work.
      d341c463
  25. 14 Oct, 2020 2 commits
  26. 31 Aug, 2020 1 commit
  27. 27 Aug, 2020 1 commit
  28. 01 Jul, 2020 2 commits
  29. 18 Jun, 2020 1 commit
    • Seth Hoenig's avatar
      deps: remove tidy from dev makefile target · 37835d64
      Seth Hoenig authored
      With Go modules, `go mod tidy` supplants `vendorfmt`. Unfortunately,
      `tidy` will try to reach out to the network and download modules, and
      there is no way to disable that behavior (e.g. the -mod=vendor) option
      does not apply. This means we cannot use the `tidy` target in nomad
      enterprise, which will be unable to reach private repositories like
      consul-enterprise.
      
      This isn't a big deal, since `vendorfmt` served the purpose of rewriting
      the output of `govendor`, wheras `tidy` is a part of the `sync` target
      that is required to be run when modifying dependencies anyway.
      37835d64
  30. 04 Jun, 2020 1 commit
  31. 03 Jun, 2020 1 commit
  32. 02 Jun, 2020 1 commit
    • Seth Hoenig's avatar
      deps: Switch to Go modules for dependency management · 15fb4c99
      Seth Hoenig authored
      This PR switches the Nomad repository from using govendor to Go modules
      for managing dependencies. Aspects of the Nomad workflow remain pretty
      much the same. The usual Makefile targets should continue to work as
      they always did. The API submodule simply defers to the parent Nomad
      version on the repository, keeping the semantics of API versioning that
      currently exists.
      15fb4c99
  33. 24 May, 2020 1 commit
    • Seth Hoenig's avatar
      build: use hashicorp hclfmt · 051e387d
      Seth Hoenig authored
      We have been using fatih/hclfmt which is long abandoned. Instead, switch
      to HashiCorp's own hclfmt implementation. There are some trivial changes in
      behavior around whitespace.
      051e387d
  34. 15 May, 2020 1 commit