b817c08e752f979633f89078192d4d16f4add465 — Sam Whited 2 years ago c611ca1
.builds: add DCO check

Using a developer certificate of origin gives us a simple way to ask
people to assert that they have the rights to submit their code without
requiring cumbersome CLAs.

Signed-off-by: Sam Whited <sam@samwhited.com>
4 files changed, 83 insertions(+), 0 deletions(-)

R .builds/{freebsd.yml => ci.yml}
A .builds/dco.yml
R .builds/freebsd.yml => .builds/ci.yml +0 -0
A .builds/dco.yml => .builds/dco.yml +27 -0
@@ 0,0 1,27 @@
image: alpine/edge
  - git
  - https://github.com/mellium/xmpp
  - dco: |
      git version
      cd xmpp/
      function on_err {
        cat <<EOF
      Failed to sign the Developer Certificate of Origin (DCO)!
      Please read the file "DCO" and then, if you agree, sign each of your commits

          git commit -s

      Or quickly sign the previous commit with:

          git commit --amend -s --no-edit
      trap on_err ERR

      # Check that all commits that aren't in master are signed off by the same
      # committer (taken from the HEAD commit).
      [[ ! "$(git log --invert-grep --grep="Signed-off-by: $(git show -s --pretty="%cn <%ce>" HEAD)" master..)" ]]

@@ 83,6 83,23 @@ change and that it stands a good chance of being merged after the changes are

## Sign your work

All commits must be signed before they can be accepted. Your signature
indicates that you have the right to contribute the work and that it can be
contributed as open source. The exact rules can be viewed at
[developercertificate.org], or in the file [DCO].

To add your signature, add a line like the following to the end of your commit
message with your name and email:

    Signed-off-by: Andrew Aguecheek <aaguecheek@example.net>

You can add this line easily using Git by committing with `git commit -s`.
If you forget to add a signature to a commit, quickly add it to the latest
commit with `git commit --amend -s --no-edit`.

## License

The package may be used under the terms of the BSD 2-Clause License a copy of

@@ 99,4 116,6 @@ conditions.
[`starter`]: https://github.com/mellium/xmpp/labels/starter
[`security@mellium.im`]: mailto:security@mellium.im
[benchstat]: https://godoc.org/golang.org/x/perf/cmd/benchstat
[developercertificate.org]: https://developercertificate.org/
[DCO]: ./DCO

A DCO => DCO +37 -0
@@ 0,0 1,37 @@
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.