Skip to content

Commit

Permalink
master merge
Browse files Browse the repository at this point in the history
  • Loading branch information
joern274 committed May 17, 2021
2 parents 6dc1879 + 774c1cf commit 1c9ee57
Show file tree
Hide file tree
Showing 732 changed files with 2,216,213 additions and 387,790 deletions.
40 changes: 25 additions & 15 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,31 @@
#
# - https://github.com/blog/2392-introducing-code-owners

* @swallat @SJulianS @devhoffmann
* @joern274 @SJulianS @nils1603 @swallat @SimonKlx

/packaging/ @swallat
/deps/ @swallat
/cmake/ @swallat
*.cmake @swallat
*/CMakeLists.txt @swallat
CMakeLists.txt @swallat
*.in @swallat
/packaging/ @nils1603
/deps/ @nils1603
/cmake/ @nils1603
*.cmake @nils1603
*/CMakeLists.txt @nils1603
CMakeLists.txt @nils1603
*.in @nils1603

/include/core/ @swallat @SJulianS @devhoffmann
/src/core/ @swallat @SJulianS @devhoffmann
/include/ @SJulianS
/src/ @SJulianS

/include/netlist/ @swallat @SJulianS @devhoffmann
/src/netlist/ @swallat @SJulianS @devhoffmann

/include/python-binding/ @swallat
/src/python-binding/ @swallat
/plugins/gui/ @joern274
/plugins/boolean_influence/ @nils1603 @SimonKlx
/plugins/dataflow_analysis/ @nils1603
/plugins/gate_libraries/ @nils1603 @SJulianS
/plugins/graph_algorithm/ @nils1603
/plugins/hgl_parser/ @SJulianS
/plugins/hgl_writer/ @SJulianS
/plugins/liberty_parser/ @SJulianS
/plugins/netlist_simulator/ @SJulianS
/plugins/python_shell/ @SJulianS
/plugins/solve_fsm/ @SimonKlx @nils1603
/plugins/verilog_parser/ @SJulianS
/plugins/vhdl_parser/ @SJulianS
/plugins/vhdl_verilog_writer/ @SJulianS
/plugins/z3_utils/ @SimonKlx @nils1603
70 changes: 15 additions & 55 deletions .github/workflows/ccpp.yml → .github/workflows/macOS.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Github CI
name: macOS

on:
push:
Expand All @@ -22,18 +22,6 @@ jobs:
- name: Checkout
uses: actions/checkout@v1

# - name: Clean Brew
# if: startsWith(runner.os, 'macOS')
# run: brew cleanup

- name: Cache pip Linux
uses: actions/cache@v1
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Cache pip macOS
uses: actions/cache@v1
Expand Down Expand Up @@ -97,15 +85,16 @@ jobs:
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
# brew link --force qt@5
run: |
mkdir -p build
cd build
export PATH="/usr/local/opt/qt/bin:$PATH"
export PATH="/usr/local/opt/qt@5/bin:$PATH"
ls ..
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=ON -DBUILD_COVERAGE=ON -DPL_GUI=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
cmake -G Ninja .. -DQt5_DIR=/usr/local/opt/qt@5/lib/cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=ON -DPL_GUI=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
env:
LDFLAGS: "-L/usr/local/opt/qt/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/qt/include -I/usr/local/opt/llvm/include"
LDFLAGS: "-L/usr/local/opt/qt@5/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/llvm/include"
HAL_BASE_PATH: ${{runner.workspace}}/hal/build
CCACHE_DIR: ${{runner.workspace}}/.ccache
CCACHE_COMPRESS: true
Expand All @@ -121,8 +110,8 @@ jobs:
export PATH="/usr/local/opt/qt/bin:$PATH"
cmake --build . --target all --clean-first --config $BUILD_TYPE
env:
LDFLAGS: "-L/usr/local/opt/qt/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/qt/include -I/usr/local/opt/llvm/include"
LDFLAGS: "-L/usr/local/opt/qt@5/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/llvm/include"
HAL_BASE_PATH: ${{runner.workspace}}/hal/build
CCACHE_DIR: ${{runner.workspace}}/.ccache
CCACHE_COMPRESS: true
Expand All @@ -138,44 +127,15 @@ jobs:
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: |
cd build
ninja -v hal_coverage
bash <(curl -s https://codecov.io/bash) -f hal_coverage.info.cleaned || echo "Codecov did not collect coverage reports"
ninja
ctest
# ninja -v hal_coverage
# bash <(curl -s https://codecov.io/bash) -f hal_coverage.info.cleaned || echo "Codecov did not collect coverage reports"
env:
LDFLAGS: "-L/usr/local/opt/qt/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/qt/include -I/usr/local/opt/llvm/include"
LDFLAGS: "-L/usr/local/opt/qt@5/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/llvm/include"
HAL_BASE_PATH: ${{runner.workspace}}/hal/build
CCACHE_DIR: ${{runner.workspace}}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CCACHE_MAXSIZE: 400M


- name: Publish New Homebrew Version
if: startsWith(runner.os, 'macOS') && startsWith(github.ref, 'refs/tags/v')
# if: startsWith(runner.os, 'macOS')
run: |
cd build
export CI_COMMIT_TAG=$(git describe --abbrev=0 --tags)
export CI_COMMIT_SHA=$(git rev-parse --verify HEAD)
mkdir -p ~/.ssh
eval $(ssh-agent -s)
mkfifo -m 600 fifo
(echo "$HAL_DEPLOYMENT_KEY")> fifo | ssh-add fifo
rm fifo
mkdir -p ~/.ssh
touch ~/.ssh/known_hosts
ssh-keyscan github.com >> ~/.ssh/known_hosts
rm -rf build
mkdir -p build
cd build
git clone git@github.com:emsec/homebrew-hal.git
cd homebrew-hal
brew bump-formula-pr --dry-run --write --tag=$CI_COMMIT_TAG --revision=$CI_COMMIT_SHA hal.rb
git add hal.rb
git commit --author="GitlabCI <ci@gitlabci.local>" -m "Update to version $CI_COMMIT_TAG"
git tag $CI_COMMIT_TAG
git push origin $CI_COMMIT_TAG
git push origin master
env:
HAL_DEPLOYMENT_KEY: ${{ secrets.HAL_DEPLOYMENT_KEY }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
CCACHE_MAXSIZE: 400M
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Release
name: Ubuntu 20.04

on:
push:
Expand Down Expand Up @@ -91,6 +91,37 @@ jobs:
CCACHE_MAXSIZE: 400M
HAL_BASE_PATH: ${{runner.workspace}}/hal/build

- name: Build
if: startsWith(runner.os, 'Linux')
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: |
cd build
ninja
env:
CCACHE_DIR: ${{runner.workspace}}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CCACHE_MAXSIZE: 400M
HAL_BASE_PATH: ${{runner.workspace}}/hal/build

- name: Test
shell: bash
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: |
cd build
ctest --rerun-failed --output-on-failure
# ninja -v hal_coverage
# bash <(curl -s https://codecov.io/bash) -f hal_coverage.info.cleaned || echo "Codecov did not collect coverage reports"
env:
LDFLAGS: "-L/usr/local/opt/qt/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
CPPFLAGS: "-I/usr/local/opt/qt/include -I/usr/local/opt/llvm/include"
HAL_BASE_PATH: ${{runner.workspace}}/hal/build
CCACHE_DIR: ${{runner.workspace}}/.ccache
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CCACHE_MAXSIZE: 400M

- name: Build Doxygen
if: startsWith(runner.os, 'Linux')
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,9 @@ buttons.jsonc
# Documentation
Doxyfile
html/
documentation/DoxygenOutput/

HAL_DEPLOYMENT_KEY
HAL_GPG_KEY
changelog
hal_pass
hal_pass
104 changes: 0 additions & 104 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,32 +87,6 @@ compile:test:ubuntu:
- ccache/
- build/

#compile:package:macos:
# stage: compile
# script:
# - export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
# - export CPPFLAGS="-I/usr/local/opt/llvm/include"
# - rm -rf build
# - mkdir -p build
# - cd build
# - export HAL_BASE_PATH=$(pwd)
# - cmake -G Ninja .. -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_ALL_PLUGINS=OFF -DBUILD_TESTS=OFF -DPL_GUI=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/usr/ -DPACKAGE_MACOS=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
# - cmake --build . --target all --clean-first -- -j4
# - du -h .
# cache:
# key: build-cache-macos
# policy: push
# paths:
# - ccache/
# - build/
# only:
# - master
# - triggers
# - /^v.*$/ #For aptly deployment
# - web #Triggered by run pipeline
# tags:
# - macOS

compile:doc:doxygen:
stage: compile
script:
Expand Down Expand Up @@ -151,35 +125,6 @@ compile:doc:python:
- ccache/
- build/

test:ubuntu:
stage: test
script:
- rm -rf build
- mkdir -p build
- cd build
- export HAL_BASE_PATH=$(pwd)
- cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=ON -DBUILD_COVERAGE=ON -DPL_GUI=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/usr/
- export CCACHE_DIR=$(pwd)/../ccache
- cmake --build . --target all --clean-first -- -j4
- ninja hal_coverage
- bash <(curl -s https://codecov.io/bash) -f hal_coverage.info.cleaned || echo "Codecov did not collect coverage reports"
# - curl -s https://report.ci/upload.py | python - --include='*.xml' --framework=gtest # Upload not working
artifacts:
paths:
- build/gtestresult*
- build/hal_coverage.xml
- build/hal_coverage/*
expire_in: 1 week
dependencies:
- compile:test:ubuntu
cache:
key: test-build-cache-ubuntu
policy: pull
paths:
- ccache/
- build/
coverage: '/^\s*Total:\|(-|[\d.]*%?)\s*[\d\w]+\s*\|\s*(?:-|[\d.]*%?)\s*[\d\w]+\s*\|\s*(?:-|[\d.]*%?)\s*[\d\w]+\s*$/'

test:package:ubuntu:
stage: test
image: ubuntu:latest
Expand Down Expand Up @@ -229,52 +174,3 @@ deploy-ppa:
- cmake .. -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_ALL_PLUGINS=ON -DBUILD_TESTS=OFF -DPL_GUI=ON -DBUILD_DOCUMENTATION=ON -DNO_SIGN_PPA=OFF -DENABLE_PPA=ON -DUPLOAD_PPA=ON -DPACKAGE_DEB=ON -DSIMULATE_DPUT=OFF -DPPA_GPG_PASSPHRASE_FILE=$PW_FILE_NAME -DPPA_GPG_KEY_ID="C61868710D13DD90"
- make dput_$(lsb_release -c -s)
- rm $PW_FILE_NAME

#deploy-doc:
# stage: deploy
# only:
# - /^v.*$/
# except:
# - branches
# script:
# - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
# - mkdir -p ~/.ssh
# - eval $(ssh-agent -s)
# - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
# - ssh-add <(echo "$HAL_DEPLOYMENT_KEY")
# - 'ssh-keyscan fs.emsec.rub.de > ~/.ssh/known_hosts'
# - cd build/documentation/documentation/
# - tar cvfz documentation.tgz --strip-components=1 html
# - ssh $HAL_DOCUMENTATION_SERVER 'rm -rf /srv/data/doc-server/data/*'
# - scp -r documentation.tgz $HAL_DOCUMENTATION_SERVER:/srv/data/doc-server/data/
# - ssh $HAL_DOCUMENTATION_SERVER tar xvfz /srv/data/doc-server/data/documentation.tgz -C /srv/data/doc-server/data/
# - ssh $HAL_DOCUMENTATION_SERVER rm -f /srv/data/doc-server/data/documentation.tgz
# dependencies:
# - compile:doc:doxygen
# cache:
# key: doc-build-cache
#
#
#deploy-py-doc:
# stage: deploy
# only:
# - /^v.*$/
# except:
# - branches
# script:
# - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
# - mkdir -p ~/.ssh
# - eval $(ssh-agent -s)
# - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
# - ssh-add <(echo "$HAL_DEPLOYMENT_KEY")
# - 'ssh-keyscan fs.emsec.rub.de > ~/.ssh/known_hosts'
# - cd build/python-doc/
# - tar cvfz documentation.tgz --strip-components=1 html
# - ssh $HAL_DOCUMENTATION_SERVER 'rm -rf /srv/data/doc-server-py/data/*'
# - scp -r documentation.tgz $HAL_DOCUMENTATION_SERVER:/srv/data/doc-server-py/data/
# - ssh $HAL_DOCUMENTATION_SERVER tar xvfz /srv/data/doc-server-py/data/documentation.tgz -C /srv/data/doc-server-py/data/
# - ssh $HAL_DOCUMENTATION_SERVER rm -f /srv/data/doc-server-py/data/documentation.tgz
# dependencies:
# - compile:doc:python
# cache:
# key: doc-build-cache
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "documentation/doxygen-awesome-css"]
path = documentation/doxygen-awesome-css
url = https://github.com/jothepro/doxygen-awesome-css.git
7 changes: 4 additions & 3 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
brew "pkgconfig"
brew "lcov"
brew "qt"
brew "qt@5"
brew "ccache"
brew "llvm"
brew "libomp"
brew "libopenmpt"
brew "ninja"
brew "cmake"
brew "flex"
Expand All @@ -13,6 +14,6 @@ brew "pybind11"
brew "rapidjson"
brew "spdlog"
brew "igraph"
brew "boost"
brew "doxygen"
brew "graphviz"
brew "graphviz"
brew "z3"
Loading

0 comments on commit 1c9ee57

Please sign in to comment.