diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..bd1e77cb --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,101 @@ +version: 2 +jobs: + build: + docker: + - image: martinthomson/i-d-template:latest + resource_class: small + working_directory: ~/draft + + steps: + - run: + name: "Print Configuration" + command: | + xml2rfc --version + gem list -q kramdown-rfc + echo -n 'mmark '; mmark --version + + - restore_cache: + name: "Restoring cache - Git" + keys: + - v2-cache-git-{{ .Branch }}-{{ .Revision }} + - v2-cache-git-{{ .Branch }} + - v2-cache-git- + + - restore_cache: + name: "Restoring cache - References" + keys: + - v1-cache-references-{{ epoch }} + - v1-cache-references- + + # Workaround for https://discuss.circleci.com/t/22437 + - run: + name: Tag Checkout + command: | + if [ -n "$CIRCLE_TAG" ] && [ -d .git ]; then + remote=$(echo "$CIRCLE_REPOSITORY_URL" | \ + sed -e 's,/^git.github.com:,https://github.com/,') + git fetch -f "$remote" "refs/tags/$CIRCLE_TAG:refs/tags/$CIRCLE_TAG" || \ + (echo 'Removing .git cache for tag build'; rm -rf .git) + fi + + - checkout + + # Build txt and html versions of drafts + - run: + name: "Build Drafts" + command: make + + # Update editor's copy on gh-pages + - run: + name: "Update GitHub Pages" + command: | + if [ "${CIRCLE_TAG#draft-}" == "$CIRCLE_TAG" ]; then + make gh-pages + fi + + # For tagged builds, upload to the datatracker. + - deploy: + name: "Upload to Datatracker" + command: | + if [ "${CIRCLE_TAG#draft-}" != "$CIRCLE_TAG" ]; then + make upload + fi + + # Archive GitHub Issues + - run: + name: "Archive GitHub Issues" + command: "make archive || make archive DISABLE_ARCHIVE_FETCH=true && make gh-archive" + + # Create and store artifacts + - run: + name: "Create Artifacts" + command: "make artifacts CI_ARTIFACTS=/tmp/artifacts" + + - store_artifacts: + path: /tmp/artifacts + + - run: + name: "Prepare for Caching" + command: "git reflog expire --expire=now --all && git gc --prune=now" + + - save_cache: + name: "Saving Cache - Git" + key: v2-cache-git-{{ .Branch }}-{{ .Revision }} + paths: + - ~/draft/.git + + - save_cache: + name: "Saving Cache - Drafts" + key: v1-cache-references-{{ epoch }} + paths: + - ~/.cache/xml2rfc + + +workflows: + version: 2 + build: + jobs: + - build: + filters: + tags: + only: /.*?/ diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..8682023d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +# See http://editorconfig.org + +root = true + +[*.{md,xml,org}] +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ccfba20b..a016f9ff 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,3 @@ -# Automatically generated CODEOWNERS file. -draft-ppm-protocol.md over@therainbow.net +# Automatically generated CODEOWNERS +# Regenerate with `make update-codeowners` +draft-ietf-ppm-dap.md timgeog+ietf@gmail.com chrispatton+ietf@gmail.com ekr@rtfm.com caw@heapingbits.net diff --git a/.github/workflows/archive.yml b/.github/workflows/archive.yml new file mode 100644 index 00000000..bfad0949 --- /dev/null +++ b/.github/workflows/archive.yml @@ -0,0 +1,33 @@ +name: "Archive Issues and Pull Requests" + +on: + schedule: + - cron: '0 0 * * 0,2,4' + repository_dispatch: + types: [archive] + workflow_dispatch: + +jobs: + build: + name: "Archive Issues and Pull Requests" + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Update Archive" + uses: martinthomson/i-d-template@v1 + with: + make: archive + token: ${{ github.token }} + + - name: "Update GitHub Pages" + uses: martinthomson/i-d-template@v1 + with: + make: gh-archive + token: ${{ github.token }} + + - name: "Save Archive" + uses: actions/upload-artifact@v2 + with: + path: archive.json diff --git a/.github/workflows/ghpages.yml b/.github/workflows/ghpages.yml index ec040bd3..118cb529 100644 --- a/.github/workflows/ghpages.yml +++ b/.github/workflows/ghpages.yml @@ -42,13 +42,15 @@ jobs: - name: "Build Drafts" uses: martinthomson/i-d-template@v1 + with: + token: ${{ github.token }} - name: "Update GitHub Pages" uses: martinthomson/i-d-template@v1 if: ${{ github.event_name == 'push' }} with: make: gh-pages - token: ${{ secrets.LE_AUTOMATON_TOKEN }} + token: ${{ github.token }} - name: "Archive Built Drafts" uses: actions/upload-artifact@v2 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f9dbcabb..dd94df93 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -37,6 +37,8 @@ jobs: - name: "Build Drafts" uses: martinthomson/i-d-template@v1 + with: + token: ${{ github.token }} - name: "Upload to Datatracker" uses: martinthomson/i-d-template@v1 diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 00000000..7a670078 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,36 @@ +name: "Update Generated Files" +# This rule is not run automatically. +# It can be run manually to update all of the files that are part +# of the template, specifically: +# - README.md +# - CONTRIBUTING.md +# - .note.xml +# - .github/CODEOWNERS +# - Makefile +# +# +# This might be useful if you have: +# - added, removed, or renamed drafts (including after adoption) +# - added, removed, or changed draft editors +# - changed the title of drafts +# +# Note that this removes any customizations you have made to +# the affected files. +on: workflow_dispatch + +jobs: + build: + name: "Update Files" + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Update Generated Files" + uses: martinthomson/i-d-template@v1 + with: + make: update-files + token: ${{ github.token }} + + - name: "Push Update" + run: git push diff --git a/.gitignore b/.gitignore index 2b39bb41..1943c96a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,16 +10,7 @@ .targets.mk /*-[0-9][0-9].xml archive.json +draft-ietf-ppm-dap.xml +lib report.xml venv/ -lib -draft-ietf-ppm-dap.xml -*.aux -*.bbl -*.blg -*.nav -*.out -*.snm -*.toc -*.vrb -.DS_Store diff --git a/.note.xml b/.note.xml index 010148b8..c355de8a 100644 --- a/.note.xml +++ b/.note.xml @@ -1,7 +1,7 @@ Discussion of this document takes place on the - mailing list (), - which is archived at . + Privacy Preserving Measurement Working Group mailing list (ppm@ietf.org), + which is archived at . Source for this draft and an issue tracker can be found at - . + . diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2bb80b9d..daabbb62 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,16 +16,17 @@ You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. +## Working Group Information -## Other Resources - -Discussion of this work occurs on the -[protocol working group mailing list](https://mailarchive.ietf.org/arch/browse/protocol/) -([subscribe](https://www.ietf.org/mailman/listinfo/protocol)). In addition to -contributions in GitHub, you are encouraged to participate in discussions there. +Discussion of this work occurs on the [Privacy Preserving Measurement +Working Group mailing list](mailto:ppm@ietf.org) +([archive](https://mailarchive.ietf.org/arch/browse/ppm/), +[subscribe](https://www.ietf.org/mailman/listinfo/ppm)). +In addition to contributions in GitHub, you are encouraged to participate in +discussions there. **Note**: Some working groups adopt a policy whereby substantive discussion of technical issues needs to occur on the mailing list. You might also like to familiarize yourself with other -[working group documents](https://datatracker.ietf.org/wg/protocol/documents/). +[Working Group documents](https://datatracker.ietf.org/wg/ppm/documents/). diff --git a/LICENSE.md b/LICENSE.md index 2ffe646e..d6523f23 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ # License See the -[guidelines for contributions](https://github.com/ietf-wg-ppm/ppm-specification/blob/i-d-format/CONTRIBUTING.md). +[guidelines for contributions](https://github.com/ietf-wg-ppm/draft-ietf-ppm-dap/blob/main/CONTRIBUTING.md). diff --git a/README.md b/README.md index 591ab80a..580687e5 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,23 @@ # Distributed Aggregation Protocol for Privacy Preserving Measurement -This is the working area for the individual Internet-Draft, "Distributed Aggregation Protocol for Privacy Preserving Measurement". +This is the working area for the IETF [PPM Working Group](https://datatracker.ietf.org/wg/ppm/documents/) Internet-Draft, "Distributed Aggregation Protocol for Privacy Preserving Measurement". -* [Editor's Copy](https://ietf-wg-ppm.github.io/ppm-specification/#go.draft-ietf-ppm-dap.html) -* [Individual Draft](https://datatracker.ietf.org/doc/html/draft-ietf-ppm-dap) -* [Compare Editor's Copy to Individual Draft](https://ietf-wg-ppm.github.io/ppm-specification/#go.draft-ietf-ppm-dap.diff) +* [Editor's Copy](https://ietf-wg-ppm.github.io/draft-ietf-ppm-dap/#go.draft-ietf-ppm-dap.html) +* [Datatracker Page](https://datatracker.ietf.org/doc/draft-ietf-ppm-dap) +* [Working Group Draft](https://datatracker.ietf.org/doc/html/draft-ietf-ppm-dap) +* [Compare Editor's Copy to Working Group Draft](https://ietf-wg-ppm.github.io/draft-ietf-ppm-dap/#go.draft-ietf-ppm-dap.diff) -## Building the Draft + +## Contributing + +See the +[guidelines for contributions](https://github.com/ietf-wg-ppm/draft-ietf-ppm-dap/blob/main/CONTRIBUTING.md). + +Contributions can be made by creating pull requests. +The GitHub interface supports creating pull requests using the Edit (✏) button. + + +## Command Line Usage Formatted text and HTML versions of the draft can be built using `make`. @@ -14,11 +25,6 @@ Formatted text and HTML versions of the draft can be built using `make`. $ make ``` -This requires that you have the necessary software installed. See -[the instructions](https://github.com/martinthomson/i-d-template/blob/master/doc/SETUP.md). - +Command line usage requires that you have the necessary software installed. See +[the instructions](https://github.com/martinthomson/i-d-template/blob/main/doc/SETUP.md). -## Contributing - -See the -[guidelines for contributions](https://github.com/ietf-wg-ppm/ppm-specification/blob/i-d-format/CONTRIBUTING.md).