Skip to content

Commit

Permalink
Add GH actions (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
tsalo authored Nov 27, 2024
1 parent 7747cd3 commit 5546b33
Show file tree
Hide file tree
Showing 10 changed files with 390 additions and 0 deletions.
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Bug Report
description: File a report of a problem you encountered.
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
# Thanks for taking the time to fill out this bug report!
### The following information will help us in getting your issue resolved.
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A short description of what went wrong.
validations:
required: true
- type: textarea
id: command
attributes:
label: What command did you use?
description: |
If you're using `fmriprep-docker`, please include the `RUNNING: ...` line that is printed first.
This helps us replicate the problem. This will be automatically formatted into code, so no need for backticks.
render: shell
validations:
required: true
- type: input
id: version
attributes:
label: What version of fMRIPost-template are you running?
validations:
required: true
- type: dropdown
id: environment
attributes:
label: How are you running fMRIPost-template?
options:
- Docker
- Singularity
- Local installation ("bare-metal")
- Other
validations:
required: true
- type: dropdown
id: bids-valid
attributes:
label: Is your data BIDS valid?
description: |
The BIDS validator can be found at: https://bids-standard.github.io/bids-validator/
Errors should not be present, but warnings are acceptable.
options:
- "Yes"
- "No"
validations:
required: true
- type: dropdown
id: reuse
attributes:
label: Are you reusing any previously computed results?
description: |
You can select multiple options.
We recommend using a fresh working directory when upgrading to a new fMRIPost-template minor series.
multiple: true
options:
- FreeSurfer
- Anatomical derivatives
- Work directory
- "No"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Please copy and paste any relevant log output.
description: |
Can you find some traces of the error reported in the visual report (at the bottom) or in *crashfiles*?
This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: addinfo
attributes:
label: Additional information / screenshots
description: |
If you would like to include any further information, such as any visual reports, please include them below.
Alternatively, you can privately share with us at <[email protected]>.
Reports do not contain data usable with personal identification or other research purposes.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Questions
url: https://neurostars.org/tag/fmripost-template
about: For general questions, please search Neurostars for existing posts before starting a new one.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Documentation improvement
about: Is the documentation of something missing, unclear, or lacking? This is the place.
title: ''
labels: 'documentation'
assignees: ''

---
<!--
For the Documentation request, please include the following:
------------------------
What would you like changed/added and why?
Do you have any suggestions for the new documents?
-->
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Feature Request
description: Suggest an idea for a new feature or a change to an existing one.
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
## Thank you for your suggestion!
We welcome any ideas about how to make *fMRIPost-template* better for the community.
Please keep in mind that features may not get implemented immediately.
- type: textarea
id: summary
attributes:
label: What would you like to see added in fMRIPost-template?
description: |
What are you trying to achieve with fMRIPost-template?
Is this a more convenient way to do something that is already possible, or is a workaround currently unfeasible?
Does this feature adhere to the [NiPreps driving principles](https://www.nipreps.org/community/CONTRIBUTING/#driving-principles)?
validations:
required: true
- type: dropdown
id: interest
attributes:
label: Do you have any interest in helping implement the feature?
description: |
We appreciate any help you can offer!
For information on how to contribute, please refer to our [contributing guidelines](https://www.nipreps.org/community/CONTRIBUTING/).
options:
- "Yes"
- Yes, but I would need guidance
- "No"
validations:
required: true
- type: textarea
id: addinfo
attributes:
label: Additional information / screenshots
description: Add any additional information or context about the feature request here.
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'monthly'
groups:
actions-infrastructure:
patterns:
- 'actions/*'
- package-ecosystem: 'pip'
directory: '/services/datalad'
schedule:
interval: 'monthly'
groups:
pipenv:
patterns:
- '*'
49 changes: 49 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!--
Text in these brackets are comments, and won't be visible when you submit your pull request.
If this is your first contribution, please take the time to read these, in particular the comment
beginning "Welcome, new contributors!".
-->

## Changes proposed in this pull request

<!--
Please describe here the main features / changes proposed for review and integration in fMRIPost-template
If this PR addresses some existing problem, please use GitHub's citing tools
(eg. ref #, closes # or fixes #).
If there is not an existing issue open describing the problem, please consider opening a new
issue first and then link it from here (so the *fMRIPost-template* community has a better understanding
of ongoing development efforts and possible overlaps between contributions).
-->


## Documentation that should be reviewed
<!--
Please summarize here the main changes to the documentation that the reviewers should be aware of.
-->



<!--
Welcome, new contributors!
We ask you to read through the Contributing Guide:
https://github.com/nipreps/fmripost-template/blob/main/CONTRIBUTING.md
These are guidelines intended to make communication easier by describing a consistent process, but
don't worry if you don't get it everything exactly "right" on the first try.
To boil it down, here are some highlights:
1) Consider starting a conversation in the issues list before submitting a pull request. The discussion might save you a
lot of time coding.
2) Please use descriptive prefixes in your pull request title, such as "ENH:" for an enhancement or "FIX:" for a bug fix.
(See the Contributing guide for the full set.) And consider adding a "WIP" tag for works-in-progress.
3) Any code you submit will be licensed under the same terms (Apache License 2.0) as the rest of fMRIPost-template.
4) We invite every contributor to add themselves to the `.zenodo.json` file
(https://github.com/nipreps/fmripost-template/blob/main/.zenodo.json), which will result in your being listed as an author
at the next release. Please add yourself as the next-to-last entry, just above Russ.
A pull request is a conversation. We may ask you to make some changes before accepting your PR,
and likewise, you should feel free to ask us any questions you have.
-->
20 changes: 20 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
changelog:
exclude:
labels:
- ignore-for-release
categories:
- title: 🛠 Breaking Changes
labels:
- breaking-change
- title: 🎉 Exciting New Features
labels:
- enhancement
- title: 👎 Deprecations
labels:
- deprecation
- title: 🐛 Bug Fixes
labels:
- bug
- title: Other Changes
labels:
- "*"
40 changes: 40 additions & 0 deletions .github/workflows/contrib.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Contribution checks

on:
push:
branches:
- main
- maint/*
pull_request:
branches:
- main
- maint/*

defaults:
run:
shell: bash

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pipx run ruff check .
- run: pipx run ruff format --diff .

codespell:
name: Check for spelling errors
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Codespell
uses: codespell-project/actions-codespell@v2
48 changes: 48 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Publish Docker image

on:
push:
branches: [main]
release:
types: [published]

jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
attestations: write
id-token: write

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/[email protected]

- name: Log in to Docker Hub
uses: docker/[email protected]
with:
username: niprepsbot
password: ${{ secrets.DOCKER_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/[email protected]
with:
images: nipreps/fmripost-template
# generate Docker tags based on the following events/attributes
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
- name: Build and push Docker image
uses: docker/[email protected]
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
71 changes: 71 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Tests

on:
push:
branches:
- main
- maint/*
pull_request:
branches:
- main
- maint/*
# Allow job to be triggered manually from GitHub interface
workflow_dispatch:

defaults:
run:
shell: bash

# Force tox and pytest to use color
env:
FORCE_COLOR: true

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
stable:
# Check each OS, all supported Python, minimum versions and latest releases
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest']
python-version: ['3.10', '3.11', '3.12']
dependencies: ['full', 'pre']
include:
- os: ubuntu-latest
python-version: '3.10'
dependencies: 'min'

env:
DEPENDS: ${{ matrix.dependencies }}

steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install tox
run: |
python -m pip install --upgrade pip
python -m pip install tox tox-gh-actions
- name: Show tox config
run: tox c
- name: Run tox
run: tox -v --exit-and-dump-after 1200
- uses: codecov/codecov-action@v4
if: ${{ always() }}
with:
files: cov.xml
token: ${{ secrets.CODECOV_TOKEN }}

0 comments on commit 5546b33

Please sign in to comment.