Skip to content

Commit

Permalink
Merge branch 'master' into schema/rules/ephys
Browse files Browse the repository at this point in the history
  • Loading branch information
sappelhoff authored Jun 5, 2024
2 parents 7890af3 + 70d7750 commit 9691e26
Show file tree
Hide file tree
Showing 162 changed files with 4,823 additions and 2,031 deletions.
60 changes: 58 additions & 2 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,13 @@
"login": "ali_khan",
"name": "Ali Khan"
},
{
"contributions": [
"tool"
],
"login": "alizee_wickenheiser",
"name": "Alizee Wickenheiser"
},
{
"contributions": [
"userTesting"
Expand Down Expand Up @@ -443,6 +450,14 @@
"login": "carlo_miniussi",
"name": "Carlo Miniussi"
},
{
"contributions": [
"data",
"tool"
],
"login": "cecile_madjar",
"name": "Cecile Madjar"
},
{
"contributions": [
"doc"
Expand Down Expand Up @@ -1002,7 +1017,8 @@
"tool",
"eventOrganizing",
"fundingFinding",
"infra"
"infra",
"talk"
],
"login": "francopestilli",
"name": "Franco Pestilli",
Expand Down Expand Up @@ -1461,6 +1477,13 @@
"name": "Jeanette Mumford",
"profile": "https://jeanettemumford.org/"
},
{
"contributions": [
"tool"
],
"login": "jefferson_casimir",
"name": "Jefferson Casimir"
},
{
"contributions": [
"doc"
Expand Down Expand Up @@ -1799,6 +1822,13 @@
"name": "Kurt Schilling",
"profile": "https://github.com/schillkg"
},
{
"contributions": [
"tool"
],
"login": "laetitia_fesselier",
"name": "Laetitia Fesselier"
},
{
"contributions": [
"financial"
Expand Down Expand Up @@ -2728,6 +2758,17 @@
"login": "stephan_bickel",
"name": "Stephan Bickel"
},
{
"contributions": [
"bug",
"code",
"question",
"tool",
"userTesting"
],
"login": "smeisler",
"name": "Steven Meisler"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/11152799?v=4",
"contributions": [
Expand Down Expand Up @@ -2987,6 +3028,14 @@
"name": "Tristan Glatard",
"profile": "https://github.com/glatard"
},
{
"contributions": [
"data",
"tool"
],
"login": "tyler_collins",
"name": "Tyler Collins"
},
{
"contributions": [
"doc"
Expand Down Expand Up @@ -3091,7 +3140,14 @@
"tool",
"question",
"bug",
"code"
"code",
"data",
"fundingFinding",
"ideas",
"plugin",
"review",
"userTesting",
"infra"
],
"login": "yarikoptic",
"name": "Yaroslav O. Halchenko",
Expand Down
128 changes: 4 additions & 124 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2.1
jobs:
build_docs:
docker:
- image: cimg/python:3.8
- image: cimg/python:3.12-node
steps:
# checkout code to default ~/project
- checkout
Expand All @@ -21,14 +21,15 @@ jobs:
- persist_to_workspace:
# the mkdocs build outputs are in ~/project/site
root: ~/project
paths: site
paths:
- site
- store_artifacts:
path: ~/project/site/
destination: dev_docs

check_links:
docker:
- image: cimg/python:3.8
- image: cimg/python:3.12
steps:
# checkout code to default ~/project
- checkout
Expand Down Expand Up @@ -92,132 +93,11 @@ jobs:
- store_artifacts:
path: bids-spec.pdf

# Automatically generate a changelog since migration from Google Docs to GitHub
github_changelog_generator:
docker:
- image: ferrarimarco/github-changelog-generator:1.14.3
steps:
- setup_remote_docker:
version: 18.06.0-ce
# checkout code to default ~/project
- checkout
- run:
name: Build changelog
# $CHANGE_TOKEN is generated via the GitHub web UI, and then securely stored within CircleCI web UI
command: |
mkdir ~/changelog_build
git status
if (git log -1 --pretty=%s | grep Merge*) && (! git log -1 --pretty=%b | grep REL:) ; then
github_changelog_generator \
--exclude-tags-regex "^(?!v).*?$" \
--user bids-standard \
--project bids-specification \
--token ${CHANGE_TOKEN} \
--output ~/changelog_build/CHANGES.md \
--base ~/project/src/pregh-changes.md \
--header-label "# Changelog" \
--release-branch master \
--no-issues \
--no-filter-by-milestone \
--no-compare-link \
--pr-label "" \
--enhancement-label "" \
--bugs-label "" \
--exclude-labels "exclude-from-changelog"
cat ~/changelog_build/CHANGES.md
else
echo "Commit or Release, do nothing"
fi
- persist_to_workspace:
# raw generated changelog in ~/changelog_build/CHANGES.md
root: ~/.
paths: changelog_build

# Lint and fix the auto generated changes.md file
lint_generated_changelog:
docker:
- image: cimg/node:lts
steps:
# checkout code to default ~/project
- checkout
- attach_workspace:
# the freshly built CHANGES.md will be in ~/changelog_build/CHANGES.md
at: ~/.
- run:
name: install remark and extensions
command: npm install `cat npm-requirements.txt`
- run:
name: remark on autogenerated CHANGES.md
# format changelog, then use sed to change * to -, then lint changelog
command: |
git status
if (git log -1 --pretty=%s | grep Merge*) && (! git log -1 --pretty=%b | grep REL:) ; then
head -n 100 ~/changelog_build/CHANGES.md
npx remark-cli ~/changelog_build/CHANGES.md --rc-path ~/project/.remarkrc --output ~/changelog_build/CHANGES.md
head -n 100 ~/changelog_build/CHANGES.md
sed -i 's/* /- /' ~/changelog_build/CHANGES.md
head -n 100 ~/changelog_build/CHANGES.md
npx remark-cli ~/changelog_build/CHANGES.md --frail --rc-path ~/project/.remarkrc
else
echo "Commit or Release, do nothing"
fi
- persist_to_workspace:
# linted and fixed changelog in ~/changelog_build/CHANGES.md
root: ~/.
paths: changelog_build

# Push built changelog to repo
commit_generated_changelog:
docker:
- image: cimg/base:stable
steps:
- setup_remote_docker:
version: 17.11.0-ce
# checkout code to default ~/project
- checkout
- attach_workspace:
# fixed+linted changelog in ~/changelog_build/CHANGES.md
at: ~/.
- deploy:
name: Changelog deployment
# $CHANGE_TOKEN is generated via the GitHub web UI, and then securely stored within CircleCI web UI
command: |
if (git log -1 --pretty=%s | grep Merge*) && (! git log -1 --pretty=%b | grep REL:) ; then
mv ~/changelog_build/CHANGES.md ~/project/src/CHANGES.md
merge_message=$(git log -1 | grep Merge | grep "pull")
PR_number=$(echo $merge_message | cut -d ' ' -f 4)
git config credential.helper 'cache --timeout=120'
git config user.email "[email protected]"
git config user.name "bids-maintenance"
git add ~/project/src/CHANGES.md
git commit -m "[DOC] Auto-generate changelog entry for PR ${PR_number}"
git push https://${CHANGE_TOKEN}@github.com/bids-standard/bids-specification.git master
else
echo "Commit or Release, do nothing"
fi
workflows:
version: 2
search_build:
jobs:
- build_docs
- check_links:
requires:
- build_docs
- github_changelog_generator:
filters:
branches:
only: master
- lint_generated_changelog:
requires:
- github_changelog_generator
filters:
branches:
only: master
- commit_generated_changelog:
requires:
- lint_generated_changelog
filters:
branches:
only: master
- build_docs_pdf
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[codespell]
skip = *.js,*.svg,*.eps,.git,node_modules,env,venv,.mypy_cache,package-lock.json,CITATION.cff,tools/new_contributors.tsv,./tools/schemacode/docs/build
ignore-words-list = fo,te,als,Acknowledgements,acknowledgements,weill,bu,winn
ignore-words-list = fo,te,als,Acknowledgements,acknowledgements,weill,bu,winn,manuel
builtin = clear,rare,en-GB_to_en-US
# this overloads default dictionaries and I have not yet figured out
# how to have multiple https://github.com/codespell-project/codespell/issues/2727
Expand Down
57 changes: 41 additions & 16 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,52 @@

See the [CONTRIBUTING](https://github.com/bids-standard/bids-specification/blob/master/CONTRIBUTING.md) guide. Specifically:

- Please keep the title of your Pull Request (PR) short but informative - it will
appear in the changelog.
- Please keep the title of your Pull Request (PR) short but informative - it will appear in the changelog.
- If you do **not** want a PR to appear in the changelog, it must receive the `exclude-from-changelog` label.
- Please ensure your name is credited on our [Contributors appendix](https://github.com/bids-standard/bids-specification/blob/master/src/appendices/contributors.md).
To add your name, please edit our [Contributors wiki](https://github.com/bids-standard/bids-specification/wiki/Contributors) and add your name with the type of contribution.

- Please ensure your name is credited
on our [Contributors appendix](https://github.com/bids-standard/bids-specification/blob/master/src/appendices/contributors.md).
To add your name, please edit our [Contributors wiki](https://github.com/bids-standard/bids-specification/wiki/Contributors)
and add your name with the type of contribution.
For assistance, please tag @bids-standard/maintainers.

- Use one of the following prefixes in the title of your PR:
- `[ENH]` - enhancement of the specification that adds a new feature or
support for a new data type
- `[ENH]` - enhancement of the specification that adds a new feature or support for a new data type
- `[FIX]` - fix of a typo or language clarification
- `[INFRA]` - changes to the infrastructure automating the specification
release (for example building HTML docs)
- `[INFRA]` - changes to the infrastructure automating the specification release (for example building HTML docs)
- `[SCHEMA]` - changes to the BIDS schema and/or related code
- `[MISC]` - everything else including changes to the file listing
contributors
- If you are opening a PR to obtain early feedback, but the changes
are not ready to be merged (also known as a "Work in Progress" PR), please
use a [Draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/).
- After opening the PR, our continuous integration services will automatically check your contribution for formatting errors and render a preview of the BIDS specification with your changes.
- `[MISC]` - everything else including changes to the file listing contributors

- If you are opening a PR to obtain early feedback,
but the changes are not ready to be merged (also known as a "Work in Progress" PR),
please use a [Draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/).

- After opening the PR, our continuous integration services will automatically check your contribution
for formatting errors and render a preview of the BIDS specification with your changes.
To see the checks and preview, scroll down and click on the `show all checks` link.
From the list, select the `Details` link of the `ci/circleci: build_docs artifact` check to see the preview of the BIDS specification.
- If you are updating the schema *and* you need to subsequently make changes to the bidsschematools code (validation, tests, rendering), this means your PR probably introduces a compatibility breaking change and you should increment the minor version (the second number) in `bids-specification/src/schema/SCHEMA_VERSION`.
From the list:
- select the `Details` link of the `docs/readthedocs.org:bids-specification` check to see the HTML preview of the BIDS specification.
- select the `Details` link of the `Check the rendered PDF version here! ` check to see the PDF preview of the BIDS specification.

- If you are updating the schema *and* you need to subsequently make changes to the bidsschematools code (validation, tests, rendering),
this means your PR probably introduces a compatibility breaking change
and you should increment the minor version (the second number) in `bids-specification/src/schema/SCHEMA_VERSION`.

- If you are opening a PR for a BIDS extension proposal (BEP),
make sure that your top message contains the following notes

> [!Note]
>
> **We meet regularly to discuss this BEP**
>
> Next meeting: **insert date** on **URL to join**
>
> Communication channel on github repo / matrix / slack / discord : **insert URL to join**
>
> [!Tip]
>
> [**HTML preview of this BEP**](insert URL to HTML preview once available)
>
--- PLEASE READ AND DELETE THE TEXT ABOVE BEFORE OPENING THE PULL REQUEST ---
Loading

0 comments on commit 9691e26

Please sign in to comment.