-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into arc_corr_and_glob_check_fix
- Loading branch information
Showing
108 changed files
with
3,424 additions
and
4,252 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners | ||
|
||
# GLOBAL CODEOWNERS --- | ||
# These owners will be the default owners for everything in | ||
# the repo. Unless a later match takes precedence, | ||
# they will be requested for review when someone opens a pull request. | ||
* @pylhc/approved-reviewers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,28 @@ | ||
# Continuous Integration Workflows | ||
# Continous Integration Workflows | ||
|
||
This package implements different workflows for CI. | ||
They are organized as follows. | ||
This package implements different workflows for CI, based on our organisation's common workflows. | ||
They are organised as follows. | ||
|
||
### Documentation | ||
## Documentation | ||
|
||
The `documentation` workflow triggers on any push to master, builds the documentation and pushes it to the `gh-pages` branch (if the build is successful). | ||
It runs on `ubuntu-latest` and one of our supported version, currently `Python 3.9`. | ||
|
||
### Testing Suite | ||
## Testing Suite | ||
|
||
Tests are ensured in the `tests` workflow, in two stages. | ||
The first stage runs our simple tests on all push events (except to `master`), and the second one runs the rest of the testing suite (the `extended` tests). | ||
Tests run on a matrix of all supported operating systems (`ubuntu-20.04`, `ubuntu-22.04`, `windows-latest` and `macos-latest`) for all supported Python versions (currently `3.8` to `3.11`). | ||
Tests are ensured in the `tests` workflow, which triggers on all pushes. | ||
It runs on a matrix of all supported operating systems for all supported Python versions. | ||
|
||
### Test Coverage | ||
## Test Coverage | ||
|
||
Test coverage is calculated in the `coverage` workflow, which triggers on pushes to `master` and any push to a `pull request`. | ||
It runs on `ubuntu-latest` and `Python 3.9`, and reports the coverage results of the test suite to `CodeClimate`. | ||
Test coverage is calculated in the `coverage` wokflow, which triggers on pushes to `master` and any push to a `pull request`. | ||
It reports the coverage results of the test suite to `CodeClimate`. | ||
|
||
### Regular Testing | ||
## Regular Testing | ||
|
||
A `cron` workflow triggers every Monday at 3am (UTC time) and runs the full testing suite, on all available operating systems and supported Python versions. | ||
It also runs on `Python 3.x` so that newly released Python versions that would break tests are automatically included. | ||
|
||
### Publishing | ||
## Publishing | ||
|
||
Publishing to `PyPI` is done through the `publish` workflow, which triggers anytime a `release` is made of the GitHub repository. | ||
It builds a `wheel`, checks it, and pushes to `PyPI` if checks are successful. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,13 @@ | ||
# Runs all tests on master everyday at 10 am (UTC time) | ||
# Runs all tests on master on Mondays at 3 am (UTC time) | ||
name: Cron Testing | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
on: # Runs on master branch on Mondays at 3am UTC time | ||
on: | ||
schedule: | ||
- cron: '* 3 * * mon' | ||
|
||
jobs: | ||
tests: | ||
name: ${{ matrix.os }} / ${{ matrix.python-version }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-20.04, ubuntu-22.04, macos-latest, windows-latest] | ||
# Make sure to escape 3.10 with quotes so it doesn't get interpreted as float 3.1 by GA's parser | ||
python-version: [3.8, 3.9, "3.10", "3.11", 3.x] # crons should always run latest python hence 3.x | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
cache: 'pip' | ||
cache-dependency-path: '**/setup.py' | ||
|
||
- name: Upgrade pip, setuptools and wheel | ||
run: python -m pip install --upgrade pip setuptools wheel | ||
|
||
- name: Install package | ||
run: python -m pip install '.[test]' | ||
|
||
- name: Run all tests | ||
run: python -m pytest -m "not cern_network" | ||
tests: | ||
uses: pylhc/.github/.github/workflows/cron.yml@master | ||
with: | ||
pytest-options: -m "not cern_network" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,11 @@ | ||
# Publishes to PyPI upon creation of a release | ||
name: Upload Package to PyPI | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
on: # Runs everytime a release is added to the repository | ||
release: | ||
types: [created] | ||
|
||
jobs: | ||
deploy: | ||
name: ${{ matrix.os }} / ${{ matrix.python-version }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: # only a single supported Python on latest ubuntu | ||
os: [ubuntu-latest] | ||
python-version: [3.9] | ||
|
||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
cache: 'pip' | ||
cache-dependency-path: '**/setup.py' | ||
|
||
- name: Upgrade pip, setuptools, wheel, build and twine | ||
run: python -m pip install --upgrade pip setuptools wheel build twine | ||
|
||
- name: Build and check build | ||
run: | | ||
python -m build | ||
twine check dist/* | ||
- name: Publish | ||
if: ${{ success() }} | ||
env: | ||
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} | ||
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | ||
run: | | ||
twine upload dist/* | ||
uses: pylhc/.github/.github/workflows/publish.yml@master | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.