Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into update-terms-types
Browse files Browse the repository at this point in the history
# By Matti Schneider (58) and others
# Via GitHub (15) and others
* upstream/main: (100 commits)
  Update changelog
  Add changelog entry
  Add Service Level Agreement
  Update changelog
  Update CHANGELOG
  Describe community feedback method
  Update changelog
  Improve template
  Improve wording
  Provide <suggested new type name> details
  Simplify final review
  Reintroduced the notice on the service-specific types
  Improve wording
  Fix title size
  Update changelog
  Document addition process
  Update changelog
  Update changelog
  Update changelog
  Update lockfile
  ...

# Conflicts:
#	termsTypes.json
  • Loading branch information
Ndpnt committed Nov 4, 2024
2 parents bf17ddf + 721b740 commit 5795c96
Show file tree
Hide file tree
Showing 14 changed files with 1,878 additions and 2,284 deletions.
26 changes: 26 additions & 0 deletions .all-contributors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
This file is required by [All Contributors](https://allcontributors.org/) to work properly and must not be deleted. Although it is automatically updated with the list of contributors, the actual output used in production is in JSON format and located in the `.all-contributorsrc` file.

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AaronjSugarman"><img src="https://avatars.githubusercontent.com/u/82889095?v=4?s=100" width="100px;" alt="Aaron Sugarman"/><br /><sub><b>Aaron Sugarman</b></sub></a><br /><a href="#data-AaronjSugarman" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AdrienFines"><img src="https://avatars.githubusercontent.com/u/41912392?v=4?s=100" width="100px;" alt="Adrien Fines"/><br /><sub><b>Adrien Fines</b></sub></a><br /><a href="#data-AdrienFines" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://clementbiron.com/"><img src="https://avatars.githubusercontent.com/u/364319?v=4?s=100" width="100px;" alt="Clément Biron"/><br /><sub><b>Clément Biron</b></sub></a><br /><a href="#data-clementbiron" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/LVerneyPEReN"><img src="https://avatars.githubusercontent.com/u/58298410?v=4?s=100" width="100px;" alt="Lucas Verney"/><br /><sub><b>Lucas Verney</b></sub></a><br /><a href="#data-LVerneyPEReN" title="Data">🔣</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://bit.ly/work-with-martin"><img src="https://avatars.githubusercontent.com/u/4191809?v=4?s=100" width="100px;" alt="Martin Ratinaud"/><br /><sub><b>Martin Ratinaud</b></sub></a><br /><a href="https://github.com/OpenTermsArchive/terms-types/commits?author=martinratinaud" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://mattischneider.fr/"><img src="https://avatars.githubusercontent.com/u/222463?v=4?s=100" width="100px;" alt="Matti Schneider"/><br /><sub><b>Matti Schneider</b></sub></a><br /><a href="#data-MattiSG" title="Data">🔣</a> <a href="https://github.com/OpenTermsArchive/terms-types/commits?author=MattiSG" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Ndpnt"><img src="https://avatars.githubusercontent.com/u/1098708?v=4?s=100" width="100px;" alt="Nicolas Dupont"/><br /><sub><b>Nicolas Dupont</b></sub></a><br /><a href="#data-Ndpnt" title="Data">🔣</a> <a href="https://github.com/OpenTermsArchive/terms-types/commits?author=Ndpnt" title="Documentation">📖</a> <a href="https://github.com/OpenTermsArchive/terms-types/commits?author=Ndpnt" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://michielbdejong.com/"><img src="https://avatars.githubusercontent.com/u/408412?v=4?s=100" width="100px;" alt="Michiel de Jong"/><br /><sub><b>Michiel de Jong</b></sub></a><br /><a href="#data-michielbdejong" title="Data">🔣</a></td>
</tr>
</tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->
90 changes: 90 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"projectName": "terms-types",
"projectOwner": "OpenTermsArchive",
"files": [
".all-contributors.md"
],
"contributors": [
{
"login": "AaronjSugarman",
"name": "Aaron Sugarman",
"avatar_url": "https://avatars.githubusercontent.com/u/82889095?v=4",
"profile": "https://github.com/AaronjSugarman",
"contributions": [
"data"
]
},
{
"login": "AdrienFines",
"name": "Adrien Fines",
"avatar_url": "https://avatars.githubusercontent.com/u/41912392?v=4",
"profile": "https://github.com/AdrienFines",
"contributions": [
"data"
]
},
{
"login": "clementbiron",
"name": "Clément Biron",
"avatar_url": "https://avatars.githubusercontent.com/u/364319?v=4",
"profile": "https://clementbiron.com/",
"contributions": [
"data",
"review"
]
},
{
"login": "LVerneyPEReN",
"name": "Lucas Verney",
"avatar_url": "https://avatars.githubusercontent.com/u/58298410?v=4",
"profile": "https://github.com/LVerneyPEReN",
"contributions": [
"data"
]
},
{
"login": "martinratinaud",
"name": "Martin Ratinaud",
"avatar_url": "https://avatars.githubusercontent.com/u/4191809?v=4",
"profile": "http://bit.ly/work-with-martin",
"contributions": [
"code"
]
},
{
"login": "MattiSG",
"name": "Matti Schneider",
"avatar_url": "https://avatars.githubusercontent.com/u/222463?v=4",
"profile": "https://mattischneider.fr/",
"contributions": [
"data",
"doc",
"code",
"review"
]
},
{
"login": "Ndpnt",
"name": "Nicolas Dupont",
"avatar_url": "https://avatars.githubusercontent.com/u/1098708?v=4",
"profile": "https://github.com/Ndpnt",
"contributions": [
"data",
"doc",
"code"
]
},
{
"login": "michielbdejong",
"name": "Michiel de Jong",
"avatar_url": "https://avatars.githubusercontent.com/u/408412?v=4",
"profile": "https://michielbdejong.com/",
"contributions": [
"data"
]
}
],
"repoType": "github",
"commitConvention": "none",
"contributorsPerLine": 7
}
59 changes: 59 additions & 0 deletions .github/DISCUSSION_TEMPLATE/submitted.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
title: "<suggested new type name>"
labels: ["New type"]
body:
- type: markdown
attributes:
value: |
## Thank you for suggesting a new type!
**Terms types** enable discovering terms and comparing them across services. Once a type is in use, it is there to stay. It is therefore critical to ensure that each type is well defined and has actual uses. The questions below will help define the type and enable the Open Terms Archive community to discuss its relevance to the wider ecosystem.
### If no existing [implemented or suggested type](https://github.com/OpenTermsArchive/terms-types/discussions) matches your suggestion, fill in the fields below to start a discussion!
#### Title
The `<suggested new type name>` should be the most commonly used and most internationally understandable for this type. It doesn't have to match the service-provided name. Use tools such as Google Trends, Linguee and thesaurus to find the name that balances out best generality, precision and multilingualism.
> For example, the “Imprint” type is [called this way](https://github.com/OpenTermsArchive/engine/issues/801) as a balance between the French “mentions légales”, the German “impressum”, and usage statistics.
- type: textarea
id: examples
attributes:
label: What are some documents containing these terms?
description: |
Examples of documents that contain terms of the suggested type, in the form `Service name - URL - Document title - Jurisdiction`, one per line. Provide the URL address at which the document can be accessed; the title of the document provided at this URL; and, if possible, the jurisdiction to which the document refers.
placeholder: |
WhatsApp - https://www.whatsapp.com/legal/privacy-policy-eea?lang=en - Privacy Policy - European Economic Area
validations:
required: true
- type: textarea
id: alternative-type-names
attributes:
label: What could be some alternative names for this type?
description: Known synonyms or other ideas you have for this same terms type.
placeholder: |
Business Users Privacy Policy
Commercial Privacy Policy
- type: input
id: audience
attributes:
label: Whose rights and duties are defined in these terms?
description: The entities targeted by these terms.
placeholder: business user
- type: input
id: object
attributes:
label: What is the object of commitment in these terms?
description: The information handling or interaction that is constrained by the associated terms.
placeholder: personal data of business users
- type: textarea
id: references
attributes:
label: Are there any relevant references for this type?
description: |
Related resources such as legal definitions, or the discussions that led to the choice of this name.
placeholder: "Digital Service Act: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32022R2065"
- type: textarea
id: comments
attributes:
label: Do you have any additional comments or information?
description: That may help to understand the purpose of this type.
28 changes: 18 additions & 10 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
name: Check changelog
name: Changelog

on:
push:
branches-ignore:
- main
- push-action/** # Temporary branches created by CasperWA/push-protected@v2 action on release workflow
pull_request:
types: [ opened, reopened ]
push:
branches: [ 'push-action/**' ] # enable testing required checks, see https://github.com/CasperWA/push-protected?tab=readme-ov-file#update-your-workflow
workflow_call:
outputs:
release_type:
release-type:
description: The release type extracted from changelog
value: ${{ jobs.check_changelog.outputs.release_type }}
value: ${{ jobs.validate-changelog.outputs.release-type }}

jobs:
check_changelog:
uses: OpenTermsArchive/engine/.github/workflows/changelog.yml@main
validate-changelog:
if: github.base_ref == 'main' || github.base_ref == 'test-main' # check that changelog has valid unreleased changes only in PRs that could trigger a release
runs-on: [ ubuntu-latest ]
outputs:
release-type: ${{ steps.validate-changelog.outputs.release-type }}
steps:
- uses: actions/checkout@v4

- name: Validate changelog
id: validate-changelog
uses: OpenTermsArchive/changelog-action/[email protected]
with:
funders: true
84 changes: 35 additions & 49 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,78 +1,64 @@
name: Release

on:
pull_request:
branches:
- main
pull_request_target:
branches: [ main, test-main ]
types: [ closed ]


jobs:
changelog:
uses: ./.github/workflows/changelog.yml

test:
uses: ./.github/workflows/test.yml

release:
if: github.event.pull_request.merged == true
needs: [ changelog, test ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}

- name: Configure Git author
run: |
git config --global user.name "Open Terms Archive Release Bot"
git config --global user.email "[email protected]"
uses: actions/checkout@v4

- name: Bump package version
run: |
echo "Release type obtained from the previous job: '${{ needs.changelog.outputs.release_type }}'"
echo "NEW_VERSION=$(npm --no-git-tag-version version ${{ needs.changelog.outputs.release_type }})" >> $GITHUB_ENV
- name: Update changelog
id: update-changelog
uses: OpenTermsArchive/changelog-action/[email protected]

- name: Update changelog unreleased section with new version
uses: superfaceai/release-changelog-action@v2
with:
version: ${{ env.NEW_VERSION }}
operation: release
format: markdownlint
- name: Update package version
run: npm --no-git-tag-version --allow-same-version version ${{ steps.update-changelog.outputs.version }}

- name: Commit CHANGELOG.md and package.json changes and create tag
- name: Update repository
run: |
git add "package.json"
git add "package-lock.json"
git add "CHANGELOG.md"
git commit -m "Release ${{ env.NEW_VERSION }}"
git tag ${{ env.NEW_VERSION }}
git config user.name "Open Terms Archive Release Bot"
git config user.email "[email protected]"
git commit --message="Update changelog" CHANGELOG.md package.json package-lock.json
- name: Run status checks for release commit on temporary branch # Use temporary branch to enable pushing commits to this branch protected by required status checks
uses: CasperWA/push-protected@v2
- name: Run status checks for release commit on temporary branch # use temporary branch to enable pushing commits to this branch protected by required status checks
uses: CasperWA/push-protected@v2.16.0 # 2.16 minimum is required to benefit from updated defaults
with:
token: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
branch: main
unprotect_reviews: true
branch: ${{ github.base_ref }}
interval: 10 # seconds between checks
pre_sleep: 15
fail_fast: true

- name: Push changes to repository
run: git push origin && git push --tags
- name: Publish Git tag
if: needs.changelog.outputs.release-type != 'no-release'
run: |
git tag v${{ steps.update-changelog.outputs.version }}
git push --tags
- name: Read version changelog
uses: superfaceai/release-changelog-action@v2
id: get-changelog
- name: Publish to NPM public repository
if: needs.changelog.outputs.release-type != 'no-release'
uses: JS-DevTools/npm-publish@v3
with:
version: ${{ env.NEW_VERSION }}
operation: read
token: ${{ secrets.NPMJS_ACCESS_TOKEN }}
dry-run: ${{ github.base_ref != 'main' }}

- name: Create GitHub release
uses: softprops/action-gh-release@v1
- name: Publish GitHub release
if: needs.changelog.outputs.release-type != 'no-release'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.NEW_VERSION }}
body: ${{ steps.get-changelog.outputs.changelog }}
tag_name: v${{ steps.update-changelog.outputs.version }}
body: ${{ steps.update-changelog.outputs.content }}
token: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}

- name: Publish to NPM public repository
uses: JS-DevTools/npm-publish@v1
with:
token: ${{ secrets.NPMJS_ACCESS_TOKEN }}
access: public
16 changes: 9 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@ name: Validate document types

on:
push:
pull_request:
types: [ opened, reopened ]
branches-ignore: [ main, test-main ] # will be called from workflow call
workflow_call:

jobs:
validate:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- run: npm install
- uses: actions/checkout@v4

- uses: actions/setup-node@v4

- run: npm ci

- run: npm test
6 changes: 6 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CONTRIBUTING.md
CODE_OF_CONDUCT.md
.all-contributors*
.eslintrc.yml
.github/*
test/*
Loading

0 comments on commit 5795c96

Please sign in to comment.