Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI #5

Merged
merged 28 commits into from
Mar 13, 2024
Merged

CI #5

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
b9aea93
ci: initial CI setup for the docker
haxscramper Mar 9, 2024
e540094
repo: move RE-flex to thirdparty
haxscramper Mar 9, 2024
f8e9b09
ci: mounting configuration
haxscramper Mar 9, 2024
59e9934
ci: working through the toolchain integration
haxscramper Mar 9, 2024
5740723
ci: qt dependencies progress
haxscramper Mar 9, 2024
2412f0f
ci: use debian instead of ubuntu. fuck ubuntu
haxscramper Mar 9, 2024
5307268
repo: use thirdparty libraries for mp11, describe
haxscramper Mar 9, 2024
3785227
ci: use testing debian, the regular one is too old
haxscramper Mar 9, 2024
7bc6c75
ci: dependencies
haxscramper Mar 9, 2024
5abfda2
repo: use external project for the libgit2
haxscramper Mar 10, 2024
32df590
repo: codegen cmake dependencies
haxscramper Mar 10, 2024
2336751
repo: describe repo config data model
haxscramper Mar 10, 2024
aaf7a1d
ci: docker run passes without issues
haxscramper Mar 10, 2024
4f62524
ci: add docker run CI
haxscramper Mar 10, 2024
5a2cc3e
repo: build reflex lexer generator in `build/`
haxscramper Mar 10, 2024
096a863
repo: debug python import paths
haxscramper Mar 10, 2024
51d281d
repo: do symlink hacking from the tasks file
haxscramper Mar 10, 2024
7ed9389
ci: more logging on the symlink operations
haxscramper Mar 11, 2024
8a8bc0b
ci: debugging link path changes
haxscramper Mar 11, 2024
a142f43
py: import compiled modules via sys.path editing
haxscramper Mar 11, 2024
a600115
repo: build thirdparty google deps as external
haxscramper Mar 11, 2024
01fa8be
repo: wrap all absl libraries into one package
haxscramper Mar 12, 2024
1485032
repo: intermediate build change checkpoint
haxscramper Mar 12, 2024
96cd3b6
repo: revert cmake build edits
haxscramper Mar 12, 2024
de7f752
repo: move duplicate google deps usage to file
haxscramper Mar 12, 2024
620db86
Revert "repo: move duplicate google deps usage to file"
haxscramper Mar 12, 2024
d7e57a6
repo: remove sphinx doc generation
haxscramper Mar 12, 2024
6a05bfd
doxyfile update
haxscramper Mar 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*
!pyproject.toml
!poetry.lock
32 changes: 32 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "CI run"
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: "Install dependencies"
run: sudo apt-get update

- name: "Install dependencies"
run: sudo apt-get install -y curl

- uses: actions/checkout@v4
with:
submodules: "true"

- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11

- name: "Install poetry"
run: curl -sSL https://install.python-poetry.org | python3.11 -

- name: "Install python dependencies"
run: poetry install --no-root

- name: "Build docker image"
run: poetry run invoke docker-image

- name: "Execute docker CI"
run: poetry run invoke docker-run
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,7 @@ CMakeLists.txt.user*
**/*.tmp*
**/*.bin
docs/html
docs_out/
.xmake
deps

Expand Down
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[submodule "toolchain/RE-flex"]
path = toolchain/RE-flex
[submodule "thirdparty/RE-flex"]
path = thirdparty/RE-flex
url = https://github.com/Genivia/RE-flex.git
[submodule "thirdparty/immer"]
path = thirdparty/immer
Expand Down
7 changes: 5 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
project(haxorg LANGUAGES CXX)

set(BASE "${CMAKE_SOURCE_DIR}")
message(INFO "CMAKE_SOURCE_DIR = ${CMAKE_SOURCE_DIR}")
message(STATUS "CMAKE_SOURCE_DIR = ${CMAKE_SOURCE_DIR}")
set(LLVM_DIR "${BASE}/toolchain/llvm")

set(AUTOGEN_BUILD_DIR "${BASE}/build/autogen")
Expand Down Expand Up @@ -75,7 +75,7 @@ endif()

set(DEPS_DIR "${BASE}/thirdparty")
set(DEPS_BINARY "${CMAKE_BINARY_DIR}/deps")
message(INFO "Binary directory for dependencies ${DEPS_BINARY}")
message(STATUS "Binary directory for dependencies ${DEPS_BINARY}")

add_subdirectory("${DEPS_DIR}/yaml-cpp")

Expand Down Expand Up @@ -104,7 +104,10 @@ add_subdirectory("${DEPS_DIR}/protobuf")
include("${DEPS_DIR}/protobuf/cmake/protobuf-generate.cmake")

set(JSON_BuildTests OFF CACHE INTERNAL "")

add_subdirectory(thirdparty/json)
add_subdirectory(thirdparty/mp11)
add_subdirectory(thirdparty/describe)

include(src/cmake/target_hstd.cmake)
include(src/cmake/target_codegen.cmake)
Expand Down
13 changes: 8 additions & 5 deletions docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,10 @@ RECURSIVE = YES
# run.

EXCLUDE = deps \
thirdparty
thirdparty \
toolchain \
build \
tests

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand Down Expand Up @@ -1288,7 +1291,7 @@ GENERATE_HTML = YES
# The default directory is: html.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_OUTPUT = docs/html
HTML_OUTPUT = docs_out/html

# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
# generated HTML page (for example: .htm, .php, .asp).
Expand Down Expand Up @@ -2210,15 +2213,15 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation.
# The default value is: NO.

GENERATE_XML = NO
GENERATE_XML = YES

# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: xml.
# This tag requires that the tag GENERATE_XML is set to YES.

XML_OUTPUT = xml
XML_OUTPUT = docs_out/xml

# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
# listings (including syntax highlighting and cross-referencing information) to
Expand Down Expand Up @@ -2543,7 +2546,7 @@ CLASS_GRAPH = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.

COLLABORATION_GRAPH = YES
COLLABORATION_GRAPH = NO

# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
# groups, showing the direct groups dependencies. Explicit enabling a group
Expand Down
25 changes: 0 additions & 25 deletions docs/sphinx_config/source/conf.py

This file was deleted.

23 changes: 0 additions & 23 deletions docs/sphinx_config/source/index.rst

This file was deleted.

15 changes: 14 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 10 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ beartype = "^0.16.2"
rich = "^13.5.3"
betterproto = {extras = ["compiler"], version = "^1.2.5"}
pytest = "^7.4.2"
py_textlayout = {path = "./scripts/py_textlayout", develop=true}
py_exporters = {path = "./scripts/py_exporters", develop=true}
py_haxorg = {path = "./scripts/py_haxorg", develop=true}
py_scriptutils = {path = "./scripts/py_scriptutils", develop=true}
py_codegen = {path = "./scripts/py_codegen", develop=true}
py_cli = {path = "./scripts/py_cli", develop=true}
cxx_repository = {path = "./scripts/cxx_repository", develop=true}
click = "^8.1.7"
rich-click = "^1.6.1"
toml = "^0.10.2"
Expand All @@ -41,6 +34,16 @@ matplotlib = "^3.8.2"
compdb = "^0.2.0"
pytest-cov = "^4.1.0"

[tool.poetry.group.local.dependencies]
py_textlayout = {path = "./scripts/py_textlayout", develop=true}
py_exporters = {path = "./scripts/py_exporters", develop=true}
py_haxorg = {path = "./scripts/py_haxorg", develop=true}
py_scriptutils = {path = "./scripts/py_scriptutils", develop=true}
py_codegen = {path = "./scripts/py_codegen", develop=true}
py_cli = {path = "./scripts/py_cli", develop=true}
py_repository = {path = "./scripts/py_repository", develop=true}
cxx_repository = {path = "./scripts/cxx_repository", develop=true}

[tool.poetry.group.dev.dependencies]
yapf = "^0.40.2"
sphinx = "^7.2.6"
Expand Down
Loading
Loading