Skip to content

Commit

Permalink
Move GitHub repository to MultiQC organisation (#2243)
Browse files Browse the repository at this point in the history
* ewels/MultiQC_TestData -> MultiQC/test-data

* ewels/MultiQC -> MultiQC/MultiQC

* Rename the docker image too

* [automated] Update CHANGELOG.md

* Don't update repo name in the changelog

* [automated] Update CHANGELOG.md

* Rename branch 'master' to 'main'

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
  • Loading branch information
ewels and multiqc-bot committed Dec 18, 2023
1 parent 3f91853 commit c0fe1ab
Show file tree
Hide file tree
Showing 40 changed files with 105 additions and 103 deletions.
4 changes: 2 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ If you'd like to write some code for MultiQC, the standard workflow
is as follows:

1. Check that there isn't already an issue about your idea in the
[MultiQC issues](https://github.com/ewels/MultiQC/issues) to avoid
[MultiQC issues](https://github.com/MultiQC/MultiQC/issues) to avoid
duplicating work.
- Feel free to add a new issue here for the same reason.
2. Fork the MultiQC repository to your GitHub account
Expand All @@ -37,7 +37,7 @@ A few pointers to bear in mind:
Once you've submitted a new pull request, here's what you can expect from me:

- I usually don't look at your code at all until the automated tests pass
- The tests use example data in the [MultiQC_TestData](https://github.com/ewels/MultiQC_TestData) repository, so you'll need some files there before the PR will go any further.
- The tests use example data in the [test-data](https://github.com/MultiQC/test-data) repository, so you'll need some files there before the PR will go any further.
- The tests use [GitHub Actions](https://github.com/features/actions) so should also run automatically on your fork.
- First pass - I go through and give feedback just by reading the code
- Second pass - I download and run your code, usually more feedback
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Please fill in the appropriate checklist below (delete whatever is not relevant)

<!-- If this PR is for a NEW module - delete if not -->

- [ ] There is example tool output for tools in the <https://github.com/ewels/MultiQC_TestData> repository or attached to this PR
- [ ] There is example tool output for tools in the <https://github.com/MultiQC/test-data> repository or attached to this PR
- [ ] Code is tested and works locally (including with `--strict` flag)
- [ ] `docs/README.md` is updated with link to below
- [ ] `docs/modulename.md` is created
Expand Down
12 changes: 6 additions & 6 deletions .github/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ This checklist is for my own reference, as I forget the steps every time.
8. Commit and push version updates
9. Generate new rich-codex screenshots
- On github.com, make a new branch using the branch dropdown called `rich-codex` (or whatever).
- Go to _Actions_ and then [_Docs screenshots_](https://github.com/ewels/MultiQC/actions/workflows/screenshots.yml)
- Go to _Actions_ and then [_Docs screenshots_](https://github.com/MultiQC/MultiQC/actions/workflows/screenshots.yml)
- Click _Run Workflow_ top right, and **select your new branch**
- Click Run. Wait for the action to complete.
- Make a PR from this branch to `master` and check that the new screenshot looks ok. Merge if so.
- Make a PR from this branch to `main` and check that the new screenshot looks ok. Merge if so.
10. Make sure that all tests are passing
11. Make a [release](https://github.com/ewels/MultiQC/releases) on GitHub - paste changelog section.
11. Make a [release](https://github.com/MultiQC/MultiQC/releases) on GitHub - paste changelog section.
12. Check that [PyPI listing page](https://pypi.python.org/pypi/multiqc/) looks sane
13. Update version numbers to new dev version in `setup.py` + a new section in the changelog for the development version
14. Commit and push version bump
Expand All @@ -76,8 +76,8 @@ Instructions for complete rebuild of BioConda:
```bash
# Update to latest bioconda
cd ../bioconda-recipes
git checkout master
git pull upstream master
git checkout main
git pull upstream main
git push
git branch -D multiqc
# Build new conda recipe from PyPI to automatically collect new dependencies
Expand All @@ -88,7 +88,7 @@ conda skeleton pypi multiqc
# Update with new release header - see https://goo.gl/ZfRnmj
cd ../multiqc && code .
# Get the sha256sum of the release
curl -OL https://github.com/ewels/MultiQC/archive/v1.5.tar.gz
curl -OL https://github.com/MultiQC/MultiQC/archive/v1.5.tar.gz
shasum --algorithm 256 v1.5.tar.gz
# Switch out download for GitHub release and remove all other cruft
# commit changes
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
Adds a line into the CHANGELOG.md:
* If a PR title starts with "New module: ", checks that a single module is added,
and appends an entry under the ""### New modules" section.
and appends an entry under the ""### New modules" section.
* If a single module was modified, checks that the PR starts with a name of the
modified module (e.g. "FastQC: new stuff") and adds a line under "### Module updates".
* All other change will go under the "### MultiQC updates" section.
* If an entry for the PR is already added, will replace it.
Other assumptions:
- CHANGELOG.md has a running section for an ongoing "dev" version
- CHANGELOG.md has a running section for an ongoing "dev" version
(i.e. titled "## MultiQC vX.Ydev").
- Under that section, there are sections "### MultiQC updates", "### New modules"
- Under that section, there are sections "### MultiQC updates", "### New modules"
and "### Module updates".
- For module's info, checks the file multiqc/modules/<module_name>/<module_name>.py.
"""
Expand All @@ -26,7 +26,7 @@

import yaml

REPO_URL = "https://github.com/ewels/MultiQC"
REPO_URL = "https://github.com/MultiQC/MultiQC"
MODULES_DIR = Path("multiqc/modules")

# Assumes the environment is set by the GitHub action.
Expand Down Expand Up @@ -161,7 +161,7 @@ def _load_file_content_after_pr(path) -> str:
_run_cmd(f"cd {workspace_path} && gh pr checkout {pr_number}")
with (workspace_path / path).open() as f:
text = f.read()
_run_cmd(f"cd {workspace_path} && git checkout master")
_run_cmd(f"cd {workspace_path} && git checkout main")
return text


Expand Down Expand Up @@ -329,7 +329,7 @@ def _skip_existing_entry_for_this_pr(line, same_section=True):
updated_lines.append(line)

# Parse version from the line ## MultiQC v1.10dev or
# ## [MultiQC v1.15](https://github.com/ewels/MultiQC/releases/tag/v1.15) ...
# ## [MultiQC v1.15](https://github.com/MultiQC/MultiQC/releases/tag/v1.15) ...
if not (m := re.match(r".*MultiQC (v\d+\.\d+(dev)?).*", line)):
print(f"Cannot parse version from line {line.strip()}.", file=sys.stderr)
sys.exit(1)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
# Run if comment is on a PR with the main repo, and if it contains the magic keywords.
# Or run on PR creation, unless asked otherwise in the title.
if: |
github.repository_owner == 'ewels' && (
github.repository_owner == 'MultiQC' && (
github.event_name == 'pull_request_target' ||
github.event.issue.pull_request && startsWith(github.event.comment.body, '@multiqc-bot changelog')
)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ jobs:
run: python setup.py sdist bdist_wheel

- name: Publish MultiQC to PyPI
if: github.repository == 'ewels/MultiQC'
if: github.repository == 'MultiQC/MultiQC'
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
# - name: Tweet
# if: github.repository == 'ewels/MultiQC'
# if: github.repository == 'MultiQC/MultiQC'
# uses: snow-actions/tweet@v1.3.0
# with:
# status: |
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: Publish Docker image

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

jobs:
push_to_registry:
if: github.repository == 'ewels/MultiQC'
if: github.repository == 'MultiQC/MultiQC'
name: Build + Push Docker image
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -47,8 +47,8 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ewels/multiqc:dev
ghcr.io/ewels/multiqc:dev
multiqc/multiqc:dev
ghcr.io/multiqc/multiqc:dev
- name: Push release image
uses: docker/build-push-action@v3
Expand All @@ -60,7 +60,7 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ewels/multiqc:${{ github.event.release.tag_name }}
ewels/multiqc:latest
ghcr.io/ewels/multiqc:${{ github.event.release.tag_name }}
ghcr.io/ewels/multiqc:latest
multiqc/multiqc:${{ github.event.release.tag_name }}
multiqc/multiqc:latest
ghcr.io/multiqc/multiqc:${{ github.event.release.tag_name }}
ghcr.io/multiqc/multiqc:latest
4 changes: 2 additions & 2 deletions .github/workflows/docs_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Docs - Netlify deploy
on:
push:
branches:
- master
- main
paths:
- "docs/**"
- ".github/workflows/docs_deploy.yml"
Expand All @@ -15,7 +15,7 @@ jobs:
deploy:
name: "Request deployment"
runs-on: ubuntu-latest
if: github.repository == 'ewels/MultiQC'
if: github.repository == 'MultiQC/MultiQC'
steps:
- name: Curl request
run: curl -X POST -d {} ${{ secrets.NETLIFY_BUILD_HOOK }}
2 changes: 1 addition & 1 deletion .github/workflows/docs_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
deploy:
name: "Deploy preview"
runs-on: ubuntu-latest
if: github.repository == 'ewels/MultiQC'
if: github.repository == 'MultiQC/MultiQC'
defaults:
run:
working-directory: ./MultiQC_website
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fix-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
# Only run if comment is on a PR with the main repo, and if it contains the magic keywords
if: >
github.repository_owner == 'ewels' &&
github.repository_owner == 'MultiQC' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '@multiqc-bot fix linting')
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint_code.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Lint Code Base
on:
push:
branches: [master]
branches: [main]
pull_request:

jobs:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/multiqc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: "MultiQC"
on:
push:
branches:
- master
- main
paths-ignore:
- "docs/**"
- "*.md"
Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
- name: Download test data
uses: actions/checkout@v3
with:
repository: ewels/MultiQC_TestData
repository: MultiQC/test-data
path: test_data

# Run all of the tests!
Expand Down Expand Up @@ -179,10 +179,10 @@ jobs:
# NB: Download zip file instead of git clone, as Windows complains about reserved filenames and certain characters
- name: Download test data
run: |
curl -fsSL https://github.com/ewels/MultiQC_TestData/archive/master.zip -o test_data.zip
curl -fsSL https://github.com/MultiQC/test-data/archive/main.zip -o test_data.zip
7z x test_data.zip -y -o"test_data"
dir test_data\MultiQC_TestData-master
dir test_data\test-data-main
# Run all of the tests! Remember the BACKslash path separator!
- name: All modules / Custom report filename
run: multiqc ${{ needs.changes.outputs.single_module }} --strict test_data\MultiQC_TestData-master\data\modules\ --filename full_report.html
run: multiqc ${{ needs.changes.outputs.single_module }} --strict test_data\test-data-main\data\modules\ --filename full_report.html
6 changes: 3 additions & 3 deletions .github/workflows/screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:

- name: Download test data
run: |
wget https://github.com/ewels/MultiQC_TestData/archive/refs/heads/master.zip
unzip master.zip
mv MultiQC_TestData-master/ test_data/
wget https://github.com/MultiQC/test-data/archive/refs/heads/main.zip
unzip main.zip
mv test-data-main/ test_data/
- name: Generate terminal images with rich-codex
uses: ewels/rich-codex@v1
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "tests"]
path = tests
url = https://github.com/ewels/MultiQC_TestData.git
url = https://github.com/MultiQC/test-data.git
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

### MultiQC updates

- Move GitHub repository to `MultiQC` organisation ([#2243](https://github.com/MultiQC/MultiQC/pull/2243))

### New modules

### Module updates
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ title: "MultiQC: summarize analysis results for multiple tools and samples in a
version: 1.12
doi: 10.1093/bioinformatics/btw354
date-released: 2022-02-08
url: "https://github.com/ewels/MultiQC"
url: "https://github.com/MultiQC/MultiQC"
preferred-citation:
type: article
authors:
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ A very large number of Bioinformatics tools are supported by MultiQC. Please see
MultiQC can also easily parse data from custom scripts, if correctly formatted / configured - a feature called [Custom Content](https://multiqc.info/docs/custom_content/).

More modules are being written all of the time. Please suggest any ideas as a new
[issue](https://github.com/ewels/MultiQC/issues) _(please include example log files)_.
[issue](https://github.com/MultiQC/MultiQC/issues) _(please include example log files)_.

## Installation

Expand All @@ -46,7 +46,7 @@ conda install multiqc
If you would like the development version from GitHub instead, you can install it with `pip`:

```bash
pip install --upgrade --force-reinstall git+https://github.com/ewels/MultiQC.git
pip install --upgrade --force-reinstall git+https://github.com/MultiQC/MultiQC.git
```

MultiQC is also available via Docker and Singularity images, Galaxy wrappers, and
Expand Down Expand Up @@ -104,10 +104,10 @@ Please consider citing MultiQC if you use it in your analysis.
## Contributions & Support

Contributions and suggestions for new features are welcome, as are bug reports!
Please create a new [issue](https://github.com/ewels/MultiQC/issues) for any
Please create a new [issue](https://github.com/MultiQC/MultiQC/issues) for any
of these, including example reports where possible.
Pull-requests for fixes and additions are very welcome.
Please see the [contributing notes](https://github.com/ewels/MultiQC/blob/master/.github/CONTRIBUTING.md) for more information about how the process works.
Please see the [contributing notes](https://github.com/MultiQC/MultiQC/blob/main/.github/CONTRIBUTING.md) for more information about how the process works.

MultiQC has extensive [documentation](http://multiqc.info/docs/development/)
describing how to write new modules, plugins and templates.
Expand All @@ -121,6 +121,6 @@ MultiQC is developed and maintained by Phil Ewels ([@ewels](https://github.com/e
It was originally written at the [National Genomics Infrastructure](https://ngisweden.scilifelab.se/), part of [SciLifeLab](https://www.scilifelab.se/) in Sweden.

A huge thank you to all code contributors - there are a lot of you!
See the [Contributors Graph](https://github.com/ewels/MultiQC/graphs/contributors) for details.
See the [Contributors Graph](https://github.com/MultiQC/MultiQC/graphs/contributors) for details.

MultiQC is released under the GPL v3 or later licence.
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ of common tools.
These docs can be read in any of three ways:

- On the MultiQC Website: <http://multiqc.info>
- On GitHub: <https://github.com/ewels/MultiQC/>
- On GitHub: <https://github.com/MultiQC/MultiQC/>
- As part of the distributed source code (in `/docs/`)

If you're curious how the website works, check out the
Expand All @@ -19,4 +19,4 @@ If you write a module which could be of use to others, it would be great to
merge those changes back into the core MultiQC project.

For instructions on how best to do this, please see the
[contributing instructions](https://github.com/ewels/MultiQC/blob/master/.github/CONTRIBUTING.md).
[contributing instructions](https://github.com/MultiQC/MultiQC/blob/main/.github/CONTRIBUTING.md).
12 changes: 6 additions & 6 deletions docs/core/custom_content/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Custom content parsing is a little more restricted than standard modules. Specif
- Plot customisation is more limited

All plot types can be generated using custom content - see the
[test files](https://github.com/ewels/MultiQC_TestData/tree/master/data/custom_content)
[test files](https://github.com/MultiQC/test-data/tree/main/data/custom_content)
for examples of how data should be structured.

:::note
Expand Down Expand Up @@ -147,7 +147,7 @@ description: 'This section is created using a custom HTML file'

If no configuration is given, MultiQC will do its best to guess how to visualise your data appropriately.
To see examples of typical file structures which are understood, see the
[test data](https://github.com/ewels/MultiQC_TestData/tree/master/data/custom_content/no_config)
[test data](https://github.com/MultiQC/test-data/tree/main/data/custom_content/no_config)
used to develop this code. Something will be probably be shown, but it may produce unexpected results.

:::note
Expand Down Expand Up @@ -257,7 +257,7 @@ custom_data:
example_files:
file_format: "tsv"
section_name: "Coverage Decay"
description: "This plot comes from files acommpanied by a mutliqc_config.yaml file for configuration"
description: "This plot comes from files acommpanied by a multiqc_config.yaml file for configuration"
plot_type: "linegraph"
pconfig:
id: "example_coverage_lineplot"
Expand Down Expand Up @@ -294,7 +294,7 @@ custom_data:

If no configuration is given, MultiQC will do its best to guess how to visualise
your data appropriately. To see examples of typical file structures which are understood, see the
[test data](https://github.com/ewels/MultiQC_TestData/tree/master/data/custom_content/no_config)
[test data](https://github.com/MultiQC/test-data/tree/main/data/custom_content/no_config)
used to develop this code.

# Configuration
Expand Down Expand Up @@ -446,7 +446,7 @@ Probably the best way to get to grips with Custom Content is to see some example
The MultiQC automated testing runs with a bunch of different files, and I try to add to
these all the time.

You can see these examples here: <https://github.com/ewels/MultiQC_TestData/tree/master/data/custom_content>
You can see these examples here: <https://github.com/MultiQC/test-data/tree/main/data/custom_content>

For example, to see a file which generates a table in a report by itself, you can
have a look at `embedded_config/table_headers_mqc.txt` ([link](https://github.com/ewels/MultiQC_TestData/blob/master/data/custom_content/embedded_config/table_headers_mqc.txt)).
have a look at `embedded_config/table_headers_mqc.txt` ([link](https://github.com/MultiQC/test-data/blob/main/data/custom_content/embedded_config/table_headers_mqc.txt)).
2 changes: 1 addition & 1 deletion docs/core/development/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ to MultiQC:

Any python program can create entry points with the same name, once installed
MultiQC will find these and run them accordingly. For an example of this in
action, see the [MultiQC_NGI](https://github.com/ewels/MultiQC_NGI/blob/master/setup.py)
action, see the [MultiQC_NGI](https://github.com/MultiQC/MultiQC_NGI/blob/master/setup.py)
setup file:

```python
Expand Down

0 comments on commit c0fe1ab

Please sign in to comment.