Skip to content

Commit

Permalink
Merge branch 'release/0.1.0-alpha.6'
Browse files Browse the repository at this point in the history
  • Loading branch information
vector-of-bool committed Jan 4, 2021
2 parents c377474 + 0101bf3 commit 8ba89da
Show file tree
Hide file tree
Showing 340 changed files with 14,815 additions and 14,927 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ List the platform(s) and toolsets which are applicable to the issue, and all of

- Operating System: [e.g. macOS, Linux, Windows]
- Compiler: [e.g. MSVC, GCC, Clang]
- `dds` Version: [e.g. `0.1.0-alpha.5`]
- `dds` Version: [e.g. `0.1.0-alpha.6`]

**Additional context**

Expand Down
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,12 @@ __pycache__/
.mypy_cache/
_prebuilt/
.pytest_cache/
.vagrant/
.vagrant/

## Generate by CI scripts:
# A copy of OpenSSL for Windows:
external/OpenSSL
.docker-ccache/

*.egg-info
*.stamp
161 changes: 161 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
[MASTER]

jobs=1
persistent=yes
suggestion-mode=yes
unsafe-load-any-extension=no

[MESSAGES CONTROL]

confidence=
disable=C,too-few-public-methods,redefined-outer-name
enable=c-extension-no-member


[REPORTS]

evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
output-format=colorized
reports=no
score=yes


[REFACTORING]

max-nested-blocks=5
never-returning-functions=optparse.Values,sys.exit


[BASIC]

argument-naming-style=snake_case
attr-naming-style=snake_case
class-attribute-naming-style=snake_case
class-naming-style=PascalCase
const-naming-style=UPPER_CASE
docstring-min-length=-1
function-naming-style=snake_case
# Good variable names which should always be accepted, separated by a comma
good-names=i,
j,
k,
ex,
Run,
fd,
_

include-naming-hint=no
inlinevar-naming-style=any
method-naming-style=snake_case
module-naming-style=snake_case
name-group=
no-docstring-rgx=^_
variable-naming-style=snake_case


[FORMAT]

expected-line-ending-format=LF
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
max-line-length=100
max-module-lines=1000
no-space-check=trailing-comma,
dict-separator
single-line-class-stmt=no
single-line-if-stmt=no


[LOGGING]

# Logging modules to check that the string format arguments are in logging
# function parameter format
logging-modules=logging


[MISCELLANEOUS]

# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO


[SIMILARITIES]

ignore-comments=yes
ignore-docstrings=yes
ignore-imports=no
min-similarity-lines=4


[SPELLING]

max-spelling-suggestions=4
spelling-dict=
spelling-ignore-words=
spelling-private-dict-file=
spelling-store-unknown-words=no


[TYPECHECK]

contextmanager-decorators=contextlib.contextmanager
generated-members=
ignore-mixin-members=yes
ignore-on-opaque-inference=yes
ignored-classes=optparse.Values,thread._local,_thread._local
ignored-modules=
missing-member-hint=yes
missing-member-hint-distance=1
missing-member-max-choices=1


[VARIABLES]

additional-builtins=
allow-global-unused-variables=yes
callbacks=cb_,
_cb
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
ignored-argument-names=_.*|^ignored_|^unused_
init-import=no
redefining-builtins-modules=six.moves,past.builtins,future.builtins


[CLASSES]

defining-attr-methods=__init__,__new__

exclude-protected=_asdict,
_fields,
_replace,
_source,
_make
valid-classmethod-first-arg=cls
valid-metaclass-classmethod-first-arg=mcs


[DESIGN]

max-args=5
max-attributes=7
max-bool-expr=5
max-branches=12
max-locals=15
max-parents=7
max-public-methods=20
max-returns=6
max-statements=50
min-public-methods=2


[IMPORTS]

allow-wildcard-with-all=no
analyse-fallback-blocks=no
deprecated-modules=optparse,tkinter.tix
ext-import-graph=
import-graph=
int-import-graph=
known-standard-library=
known-third-party=enchant
3 changes: 3 additions & 0 deletions .style.yapf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[style]
based_on_style = pep8
column_limit = 120
79 changes: 56 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
.SILENT:

.PHONY: \
docs docs-server docs-watch docs-sync-server nix-ci linux-ci macos-ci \
vagrant-freebsd-ci site
docs docs-server docs-watch docs-sync-server linux-ci macos-ci \
vagrant-freebsd-ci site alpine-static-ci _alpine-static-ci poetry-setup \
full-ci dev-build release-build

_invalid:
echo "Specify a target name to execute"
exit 1

clean:
rm -f -r -- $(shell find -name __pycache__ -type d)
rm -f -r -- _build/ _prebuilt/
rm -f -vr -- $(shell find -name __pycache__ -type d)
rm -f -vr -- _build/ _prebuilt/
rm -f -v -- $(shell find -name "*.stamp" -type f)

docs:
sphinx-build -b html \
Expand All @@ -29,7 +28,7 @@ docs-server: docs
python -m http.server 9794

docs-watch: docs
+sh tools/docs-watch.sh
+poetry run sh tools/docs-watch.sh

docs-sync-server:
mkdir -p _build/docs
Expand All @@ -38,32 +37,59 @@ docs-sync-server:
--reload-delay 300 \
--watch **/*.html

macos-ci:
python3 -u tools/ci.py \
-B download \
-T tools/gcc-9-rel.jsonc
.poetry.stamp: poetry.lock
poetry install --no-dev
touch .poetry.stamp

poetry-setup: .poetry.stamp

full-ci: poetry-setup
poetry run dds-ci --clean

dev-build: poetry-setup
poetry run dds-ci --rapid

release-build: poetry-setup
poetry run dds-ci --no-test

macos-ci: full-ci
mv _build/dds _build/dds-macos-x64

linux-ci:
python3 -u tools/ci.py \
-B download \
-T tools/gcc-9-static-rel.jsonc
linux-ci: full-ci
mv _build/dds _build/dds-linux-x64

nix-ci:
python3 -u tools/ci.py \
-B download \
-T tools/gcc-9-rel.jsonc
_alpine-static-ci:
poetry install --no-dev
# Alpine Linux does not ship with ASan nor UBSan, so we can't use them in
# our test-build. Just use the same build for both. CCache will also speed this up.
poetry run dds-ci \
--bootstrap-with=lazy \
--test-toolchain=tools/gcc-9-static-rel.jsonc \
--main-toolchain=tools/gcc-9-static-rel.jsonc
mv _build/dds _build/dds-linux-x64

alpine-static-ci:
docker build \
--build-arg DDS_USER_UID=$(shell id -u) \
-t dds-builder \
-f tools/Dockerfile.alpine \
tools/
docker run \
-t --rm \
-u $(shell id -u) \
-v $(PWD):/host -w /host \
-e CCACHE_DIR=/host/.docker-ccache \
dds-builder \
make _alpine-static-ci

vagrant-freebsd-ci:
vagrant up freebsd11
vagrant rsync
vagrant ssh freebsd11 -c '\
cd /vagrant && \
python3.7 tools/ci.py \
-B download \
-T tools/freebsd-gcc-10.jsonc \
make full-ci \
'
mkdir -p _build/
vagrant scp freebsd11:/vagrant/_build/dds _build/dds-freebsd-x64
vagrant halt

Expand All @@ -73,3 +99,10 @@ site: docs
cp site/index.html _site/
cp -r _build/docs _site/
echo "Site generated at _site/"

py-check:
poetry run mypy tools/dds_ci $(shell find tests/ -name *.py)
poetry run pylint tools/dds_ci $(shell find tests/ -name *.py)

format:
poetry run dds-format
Loading

0 comments on commit 8ba89da

Please sign in to comment.