Skip to content

Commit d4e8bb0

Browse files
committed
stuff
1 parent 9dea11d commit d4e8bb0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2545
-598
lines changed

.github/workflows/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Continous Integration Workflows
2+
3+
This package implements different workflows for CI.
4+
They are organised as follows.
5+
6+
### Documentation
7+
8+
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).
9+
10+
### Testing Suite
11+
12+
Tests are ensured in the `tests` workflow, which triggers on all pushes.
13+
It runs on a matrix of all supported operating systems for all supported Python versions.
14+
15+
### Test Coverage
16+
17+
Test coverage is calculated in the `coverage` wokflow, which triggers on pushes to `master` and any push to a `pull request`.
18+
It reports the coverage results of the test suite to `CodeClimate`.
19+
20+
### Regular Testing
21+
22+
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.
23+
It also runs on `Python 3.x` so that newly released Python versions that would break tests are automatically included.
24+
25+
### Publishing
26+
27+
Publishing to `PyPI` is done through the `publish` workflow, which triggers anytime a `release` is made of the Github repository.
28+
It builds a `wheel`, checks it, and pushes to `PyPI` if checks are successful.

.github/workflows/coverage.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Runs all tests and pushes coverage report to codeclimate
2+
name: Coverage
3+
4+
on: # Runs on all push events to master branch and any push related to a pull request
5+
push:
6+
branches:
7+
- master
8+
pull_request: # so that codeclimate gets coverage and reports on the diff
9+
10+
jobs:
11+
coverage:
12+
if: false # disabled for now
13+
uses: pylhc/.github/.github/workflows/coverage.yml@master
14+
with:
15+
src-dir: omc3_gui
16+
secrets: inherit

.github/workflows/cron.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Runs all tests on master on Mondays at 3 am (UTC time)
2+
name: Cron Testing
3+
4+
5+
on:
6+
schedule:
7+
- cron: '* 3 * * mon'
8+
9+
jobs:
10+
tests:
11+
if: false # disabled for now
12+
uses: pylhc/.github/.github/workflows/cron.yml@master
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Build documentation
2+
# The build is uploaded as artifact if the triggering event is a push for a pull request
3+
# The build is published to github pages if the triggering event is a push to the master branch (PR merge)
4+
name: Build and upload documentation
5+
6+
on: # Runs on any push event in a PR or any push event to master
7+
pull_request:
8+
push:
9+
branches:
10+
- 'master'
11+
12+
jobs:
13+
documentation:
14+
uses: pylhc/.github/.github/workflows/documentation.yml@master

.github/workflows/publish.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Publishes to PyPI upon creation of a release
2+
name: Upload Package to PyPI
3+
4+
on: # Runs everytime a release is added to the repository
5+
release:
6+
types: [created]
7+
8+
jobs:
9+
deploy:
10+
uses: pylhc/.github/.github/workflows/publish.yml@master
11+
secrets: inherit

.github/workflows/tests.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Runs all tests
2+
name: All Tests
3+
4+
defaults:
5+
run:
6+
shell: bash
7+
8+
on: # Runs on any push event to any branch except master (the coverage workflow takes care of that)
9+
push:
10+
branches-ignore:
11+
- 'master'
12+
13+
jobs:
14+
tests:
15+
if: false # disabled for now
16+
uses: pylhc/.github/.github/workflows/tests.yml@master

.gitignore

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
# Originally created by .ignore support plugin (hsz.mobi)
2+
3+
### Python template
4+
# Byte-compiled / optimized / DLL files
5+
__pycache__/
6+
*pycache*
7+
*.py[cod]
8+
*$py.class
9+
10+
# C extensions
11+
*.so
12+
13+
# Distribution / packaging
14+
.Python
15+
build/
16+
develop-eggs/
17+
dist/
18+
downloads/
19+
eggs/
20+
.eggs/
21+
lib/
22+
lib64/
23+
parts/
24+
sdist/
25+
var/
26+
wheels/
27+
pip-wheel-metadata/
28+
share/python-wheels/
29+
*.egg-info/
30+
.installed.cfg
31+
*.egg
32+
MANIFEST
33+
34+
# PyInstaller
35+
# Usually these files are written by a python script from a template
36+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
37+
*.manifest
38+
*.spec
39+
40+
# Installer logs
41+
pip-log.txt
42+
pip-delete-this-directory.txt
43+
44+
# Unit test / coverage reports
45+
htmlcov/
46+
.tox/
47+
.nox/
48+
.coverage
49+
.coverage.*
50+
.cache
51+
nosetests.xml
52+
coverage.xml
53+
*.cover
54+
.hypothesis/
55+
.pytest_cache/
56+
57+
# Translations
58+
*.mo
59+
*.pot
60+
61+
# Django stuff:
62+
*.log
63+
local_settings.py
64+
db.sqlite3
65+
db.sqlite3-journal
66+
67+
# Flask stuff:
68+
instance/
69+
.webassets-cache
70+
71+
# Scrapy stuff:
72+
.scrapy
73+
74+
# Sphinx build directory and sphinx-gallery generated documents
75+
docs/_build/
76+
doc/_build/
77+
doc_build/
78+
.doc_build
79+
.doc_build/
80+
.docs/gallery
81+
.docs/gallery/
82+
.docs/gen_modules
83+
.docs/gen_modules/
84+
85+
# PyBuilder
86+
target/
87+
88+
# Jupyter Notebook
89+
.ipynb_checkpoints/
90+
91+
# IPython
92+
profile_default/
93+
ipython_config.py
94+
95+
# pyenv
96+
.python-version
97+
98+
99+
# celery beat schedule file
100+
celerybeat-schedule
101+
102+
# SageMath parsed files
103+
*.sage.py
104+
105+
# Environments
106+
.env
107+
.venv
108+
env/
109+
venv/
110+
ENV/
111+
env.bak/
112+
venv.bak/
113+
114+
# Spyder project settings
115+
.spyderproject
116+
.spyproject
117+
118+
# Rope project settings
119+
.ropeproject
120+
121+
# mkdocs documentation
122+
site/
123+
124+
# mypy
125+
.mypy_cache/
126+
.dmypy.json
127+
dmypy.json
128+
129+
# Pyre type checker
130+
.pyre/
131+
132+
### JetBrains template
133+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
134+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
135+
136+
# User-specific stuff
137+
138+
# *.iml
139+
# *.ipr
140+
141+
# CMake
142+
cmake-build-*/
143+
144+
# File-based project format
145+
*.iws
146+
147+
# IntelliJ
148+
.idea/
149+
out/
150+
.idea_modules/
151+
152+
# JIRA plugin
153+
atlassian-ide-plugin.xml
154+
155+
# Crashlytics plugin (for Android Studio and IntelliJ)
156+
com_crashlytics_export_strings.xml
157+
crashlytics.properties
158+
crashlytics-build.properties
159+
fabric.properties
160+
161+
### macOS template
162+
# General
163+
.DS_Store
164+
.AppleDouble
165+
.LSOverride
166+
167+
# Icon must end with two \r
168+
Icon
169+
170+
# Thumbnails
171+
._*
172+
173+
# Files that might appear in the root of a volume
174+
.DocumentRevisions-V100
175+
.fseventsd
176+
.Spotlight-V100
177+
.TemporaryItems
178+
.Trashes
179+
.VolumeIcon.icns
180+
.com.apple.timemachine.donotpresent
181+
182+
# Directories potentially created on remote AFP share
183+
.AppleDB
184+
.AppleDesktop
185+
Network Trash Folder
186+
Temporary Items
187+
.apdisk
188+
189+
### JupyterNotebooks template
190+
# gitignore template for Jupyter Notebooks
191+
# website: http://jupyter.org/
192+
193+
.ipynb_checkpoints
194+
*/.ipynb_checkpoints/*
195+
196+
# Remove previous ipynb_checkpoints
197+
# git rm -r .ipynb_checkpoints/
198+
#
199+
200+
# VSCode
201+
.vscode
202+
.vscode/
203+
204+
# Neovim
205+
.nvimlog
206+
*.swap
207+
208+
### OMC Users
209+
# files for testing things (jdilly convention)
210+
tst_*

.gitlab-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ variables:
1111
# The PY_VERSION and ACC_PY_BASE_IMAGE_TAG variables control the default Python and Acc-Py versions used by Acc-Py jobs.
1212
# It is recommended to keep the two values consistent.
1313
# More details https://acc-py.web.cern.ch/gitlab-mono/acc-co/devops/python/acc-py-gitlab-ci-templates/docs/templates/master/generated/v2.html#global-variables.
14-
PY_VERSION: '3.7'
15-
ACC_PY_BASE_IMAGE_TAG: '2020.11'
14+
PY_VERSION: '3.11'
15+
ACC_PY_BASE_IMAGE_TAG: '2023.06'
1616

1717

1818
# Build a source distribution for chroma-gui.

.zenodo.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"creators": [
3+
{
4+
"name": "OMC-Team",
5+
"affiliation": "CERN"
6+
},
7+
{
8+
"name": "Maël Le Garrec",
9+
"affiliation": "CERN",
10+
"orcid": "0000-0002-8146-2340"
11+
}
12+
],
13+
"title": "Chroma-GUI",
14+
"description": "A GUI to compute and display chromaticity measurements"
15+
}

chroma_gui/__init__.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
"""
2-
Documentation for the chroma_gui package
3-
4-
"""
5-
61
__version__ = "0.0.26"

0 commit comments

Comments
 (0)