Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
ebe3c8c
Add global _SESSION variable
mt-omarov Feb 20, 2024
6b2f3a6
Define sessions
mt-omarov Mar 20, 2024
362fbd1
Add sessions to compilation target
mt-omarov Mar 27, 2024
14fa559
Stage non-working version of sessions
mt-omarov Mar 27, 2024
0774419
Add new global array for session handler
mt-omarov Apr 1, 2024
efa217d
Change the session_start() arguments
mt-omarov Apr 1, 2024
c0bf684
Implement basic functions of sessions: session_start, session_read
mt-omarov Apr 1, 2024
e6a6894
Refactor the code: add aliases for array keys. Implement other basic …
mt-omarov Apr 2, 2024
e80556b
Add support of 'random_int' and 'random_bytes' builtins (#977)
apolyakov Apr 10, 2024
6f2f88d
[runtime] add array concat optimization (#979)
apolyakov Apr 12, 2024
e2f04f6
Change deb.debian.org on archive.debian.org (#984)
mkornaukhov Apr 19, 2024
30dc9f9
Fix KPHP_GLOBAL_SPLIT_CNT option (#980)
mkornaukhov Apr 22, 2024
e56cfd3
Optionally collect metrics from rpc requests and responses (#982)
apolyakov Apr 26, 2024
3d1f228
Fix SIGSEGV in openssl_random_pseudo_bytes and xor_strings (#985)
apolyakov Apr 27, 2024
31a0030
Fix RPC queries being doubly wrapped (#987)
apolyakov May 3, 2024
114dc0b
Copy sources from private ml_experiments repo
mkornaukhov May 6, 2024
10dd1b0
Update sources from ml_experiments, now they are compilable
mkornaukhov May 6, 2024
eb6bc25
Integrate kml into kphp runtime and create php wrappers
mkornaukhov May 6, 2024
9f136a0
Add tests
mkornaukhov Apr 18, 2024
8a04ac2
Add detailed documentation to kphp_ml.h (the same as PR description)
tolk-vm Apr 23, 2024
cc78821
Replace static_assert with std::enable_if (#994)
mkornaukhov May 13, 2024
da64cfc
Fix TLS threads count (#991)
mkornaukhov May 13, 2024
4afc18c
Added GNUInstallDirs CMake module (#998)
lRespublica May 17, 2024
b20aead
resolve classes from "export" methods in .modulite.yaml (#1017)
tolk-vm Jun 18, 2024
b442725
resolve classes from @param phpdoc (#1015)
tolk-vm Jun 18, 2024
5a6ad0c
Fix invalid __virt_clone generation for abstract classes (#1013)
tolk-vm Jun 18, 2024
2f6fd59
Shorten too long file names at code generation (#1012)
tolk-vm Jun 18, 2024
ec22ec8
Codegen globals as a linear memory piece, not as C++ variables (#1011)
tolk-vm Jun 18, 2024
f469845
Added environment to `StatsHouse` and `engine.stat` (#1019)
DrDet Jun 18, 2024
76bc577
Set absolute path for VK_INSTALL_DIR
lRespublica May 17, 2024
d630835
added cstdint header files (#1021)
troy4eg Jun 19, 2024
3e2cdf6
Fix compilation error for lambdas in unused functions (#1016)
tolk-vm Jun 19, 2024
7fb4547
Engines common headers support (#1000)
apolyakov Jun 19, 2024
a481534
cache uname syscall invocation (#1020)
DrDet Jun 19, 2024
718abe4
fixed cmake install for tlo-parsing (#1023)
troy4eg Jun 21, 2024
39d905a
Create CODEOWNERS
pale-emperor Jun 26, 2024
91a1f28
separate runtime to core and base parts (#1006)
astrophysik Jun 26, 2024
7496cee
add runtime light (#1009)
astrophysik Jun 26, 2024
63e7833
add support for runtime-light in compiler (#1026)
astrophysik Jun 26, 2024
49a1bf4
Fix incorrect parse of integer values for double vars (#1024)
soloth Jun 27, 2024
5597a00
fix runtime issues (#1034)
astrophysik Jul 2, 2024
3348823
check that global var type and its init value are the same (#1032)
DrDet Jul 2, 2024
2022e07
Runtime light: RPC support (#1030)
apolyakov Jul 5, 2024
2ac1018
sync k2 header with header in runtime light (#1035)
astrophysik Jul 5, 2024
5e04548
Add session_id function for output id
mt-omarov Jul 8, 2024
33764f1
Add first php test
mt-omarov Jul 8, 2024
718951b
init
andarut Jul 9, 2024
5db00ea
temporaly disable buster build die to sury issue
andarut Jul 9, 2024
a2d8afb
Add session_id(), hide session_destroy()
mt-omarov Jul 10, 2024
954616e
Make RPC in light runtime more robust (#1037)
apolyakov Jul 10, 2024
c42a920
update
andarut Jul 10, 2024
08c5a04
Fix tags, change flock, add macros
mt-omarov Jul 10, 2024
b2ecb61
Add cpp-tests (within single process (worker))
mt-omarov Jul 10, 2024
aeb540e
sury issue (#1036)
andarut Jul 11, 2024
6826f8b
Add help messages for debagging, fix the session_write() with rewind …
mt-omarov Jul 12, 2024
755e510
Disable large strings in RPC fetch and store (#1040)
apolyakov Jul 12, 2024
7da9cce
Add github action test
mt-omarov Jul 12, 2024
99b437f
focal+gcc-10 and buster+clang
andarut Jul 11, 2024
3ece261
Merge branch 'master' into andreylzmw/runtime_light_ci
andarut Jul 15, 2024
318cfda
resolve
andarut Jul 16, 2024
7aaf62d
init
andarut Jul 9, 2024
66c040f
temporaly disable buster build die to sury issue
andarut Jul 9, 2024
ddc5272
update
andarut Jul 10, 2024
78bee1f
focal+gcc-10 and buster+clang
andarut Jul 11, 2024
a931aa6
resolve
andarut Jul 16, 2024
ef02515
resolve
andarut Jul 16, 2024
5f9c6b6
continue
andarut Jul 16, 2024
1f6928c
continue
andarut Jul 16, 2024
6500be4
g++-10 option when compiling script
andarut Jul 16, 2024
ea216c2
update
andarut Jul 16, 2024
2bcaf27
test
andarut Jul 16, 2024
807e588
test2
andarut Jul 16, 2024
d5482a6
test
andarut Jul 16, 2024
cb09c76
test
andarut Jul 16, 2024
576ecc1
fixed clang --asm-operand-widths warnings for aarch (#1031)
troy4eg Jul 16, 2024
790db6e
fcoroutins flag only with gcc, not with clang
andarut Jul 17, 2024
b611b47
move to gcc-11 on focal
andarut Jul 17, 2024
f5a4edd
fix conditions
andarut Jul 17, 2024
8d194f1
fix conditions
andarut Jul 17, 2024
6c49565
try fix cache
andarut Jul 17, 2024
bf88ac2
light runtime fpic
andarut Jul 17, 2024
e8fd52f
cleanup
andarut Jul 17, 2024
1ec1a02
Merge branch 'andreylzmw/runtime_light_ci' of github.com:VKCOM/kphp i…
astrophysik Jul 17, 2024
32d1a24
format code
astrophysik Jul 17, 2024
92ccc80
remove less `-` in dry-run
astrophysik Jul 17, 2024
4675969
fix macos gh build
andarut Jul 17, 2024
937d928
remove -Wno-unused-result flag
andarut Jul 17, 2024
b78a8b5
Merge master
mt-omarov Jul 17, 2024
e690da8
Delete sessions tests
mt-omarov Jul 17, 2024
dc2ceeb
Merge PR #1038
mt-omarov Jul 17, 2024
4216600
Delete sessions tests from cmake, hide buster in Build.yml
mt-omarov Jul 17, 2024
3b7c7d8
Add check on NULL in getenv
mt-omarov Jul 17, 2024
1427eca
Update Build.yml
mt-omarov Jul 17, 2024
d731009
Change mode of session files, add logs for session_gc(), fix session_…
mt-omarov Jul 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/ @VKCOM/vk-sec
219 changes: 139 additions & 80 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ env:
kphp_root_dir: /home/kitten/kphp
kphp_polyfills_dir: /home/kitten/kphp/kphp-polyfills
kphp_build_dir: /home/kitten/kphp/build
test_session_php_script: /home/kitten/kphp/docs/test_session_gc.php
test_wait_all_php_script: /home/kitten/kphp/docs/test_wait_all.php
kphp_snippets_dir: /home/kitten/kphp/kphp-snippets
kphp_snippets_jobs_dir: /home/kitten/kphp/kphp-snippets/JobWorkers

jobs:
build-linux:
Expand All @@ -23,27 +27,49 @@ jobs:
cpp: 17
asan: off
ubsan: off
light_runtime: off
- os: focal
compiler: clang++
cpp: 17
asan: off
ubsan: on
light_runtime: off
- os: focal
compiler: g++-10
cpp: 20
asan: on
ubsan: off
light_runtime: off
- os: jammy
compiler: g++
cpp: 20
asan: on
ubsan: off

name: "${{matrix.os}}/${{matrix.compiler}}/c++${{matrix.cpp}}/asan=${{matrix.asan}}/ubsan=${{matrix.ubsan}}"
light_runtime: off
# - os: focal
# compiler: g++-11
# cpp: 20
# asan: off
# ubsan: off
# light_runtime: on
# - os: focal
# compiler: clang++-18
# cpp: 20
# asan: off
# ubsan: off
# light_runtime: on

name: "${{matrix.os}}/${{matrix.compiler}}/c++${{matrix.cpp}}/asan=${{matrix.asan}}/ubsan=${{matrix.ubsan}}/light_runtime=${{matrix.light_runtime}}"

steps:
- uses: actions/checkout@v3

- name: Get stippets repo
uses: actions/checkout@v3
with:
repository: 'VKCOM/kphp-snippets'
path: 'kphp-snippets'

- name: Get polyfills repo
uses: actions/checkout@v3
with:
Expand All @@ -54,108 +80,141 @@ jobs:
uses: actions/cache@v3
id: docker-image-cache
with:
path: kphp-build-env-${{matrix.os}}.tar
key: docker-image-cache-${{matrix.os}}-${{ hashFiles('.github/workflows/Dockerfile.*', 'tests/python/requirements.txt') }}
path: /tmp/docker-save-${{matrix.os}}
key: docker-save-${{matrix.os}}-${{ hashFiles('.github/workflows/Dockerfile.*', 'tests/python/requirements.txt') }}

- name: Build and save docker image
if: steps.docker-image-cache.outputs.cache-hit != 'true'
run: |
docker build -f $GITHUB_WORKSPACE/.github/workflows/Dockerfile.${{matrix.os}} $GITHUB_WORKSPACE -t kphp-build-img-${{matrix.os}}
docker save --output kphp-build-env-${{matrix.os}}.tar kphp-build-img-${{matrix.os}}
docker build -f $GITHUB_WORKSPACE/.github/workflows/Dockerfile.${{matrix.os}} $GITHUB_WORKSPACE -t kphp-build-img-${{matrix.os}} --cache-from=type=local,src=kphp-build-img-${{matrix.os}}-cache
docker tag kphp-build-img-${{matrix.os}} kphp-build-img-${{matrix.os}}-cache && mkdir -p /tmp/docker-save-${{matrix.os}} && docker save kphp-build-img-${{matrix.os}}-cache -o /tmp/docker-save-${{matrix.os}}/kphp-build-env-${{matrix.os}}.tar && ls -lh /tmp/docker-save-${{matrix.os}}

- name: Load docker image from cache
if: steps.docker-image-cache.outputs.cache-hit == 'true'
run: docker load --input kphp-build-env-${{matrix.os}}.tar
run: docker load --input /tmp/docker-save-${{matrix.os}}/kphp-build-env-${{matrix.os}}.tar

- name: Start docker container
run: |
docker run -dt --name kphp-build-container-${{matrix.os}} kphp-build-img-${{matrix.os}}
docker run -dt --name kphp-build-container-${{matrix.os}} kphp-build-img-${{matrix.os}}-cache
docker cp $GITHUB_WORKSPACE/. kphp-build-container-${{matrix.os}}:${{env.kphp_root_dir}}

- name: Add git safe directory
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"git config --global --add safe.directory ${{env.kphp_root_dir}}"

- name: Check formatting in light runtime folder
if: ${{ matrix.os == 'focal' && matrix.light_runtime == 'on' }}
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"find ${{env.kphp_root_dir}}/runtime-light/ -iname '*.h' -o -iname '*.cpp' | xargs clang-format-18 --dry-run -Werror"

- name: Build all
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"cmake -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DADDRESS_SANITIZER=${{matrix.asan}} -DUNDEFINED_SANITIZER=${{matrix.ubsan}} -DPDO_DRIVER_MYSQL=ON -DPDO_DRIVER_PGSQL=ON -DPDO_LIBS_STATIC_LINKING=ON -S ${{env.kphp_root_dir}} -B ${{env.kphp_build_dir}} && make -C ${{env.kphp_build_dir}} -j$(nproc) all"

- name: Run unit tests
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"make -C ${{env.kphp_build_dir}} -j$(nproc) test"

- name: Compile dummy PHP script
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"cd ${{env.kphp_build_dir}} && echo 'hello world' > demo.php && ${{env.kphp_root_dir}}/objs/bin/kphp2cpp --cxx ${{matrix.compiler}} demo.php && kphp_out/server -o --user kitten"

- name: Polyfills composer install
"cmake -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCOMPILE_RUNTIME_LIGHT=${{matrix.light_runtime}} -DADDRESS_SANITIZER=${{matrix.asan}} -DUNDEFINED_SANITIZER=${{matrix.ubsan}} -DPDO_DRIVER_MYSQL=ON -DPDO_DRIVER_PGSQL=ON -DPDO_LIBS_STATIC_LINKING=ON -S ${{env.kphp_root_dir}} -B ${{env.kphp_build_dir}} && make -C ${{env.kphp_build_dir}} -j$(nproc) all"

# - name: Run unit tests
# run: docker exec kphp-build-container-${{matrix.os}} bash -c
# "make -C ${{env.kphp_build_dir}} -j$(nproc) test"

# - name: Compile dummy PHP script
# if: matrix.light_runtime == 'off'
# run: docker exec kphp-build-container-${{matrix.os}} bash -c
# "cd ${{env.kphp_build_dir}} && echo 'hello world' > demo.php && ${{env.kphp_root_dir}}/objs/bin/kphp2cpp --cxx ${{matrix.compiler}} demo.php && kphp_out/server -o --user kitten"

# - name: Compile dummy PHP script
# if: matrix.light_runtime == 'on'
# run: docker exec kphp-build-container-${{matrix.os}} bash -c
# "cd ${{env.kphp_build_dir}} && echo "${{matrix.light_runtime}}" && echo 'hello world' > demo.php && ${{env.kphp_root_dir}}/objs/bin/kphp2cpp --mode k2-component --cxx ${{matrix.compiler}} demo.php"

# - name: Polyfills composer install
# run: docker exec kphp-build-container-${{matrix.os}} bash -c
# "composer install -d ${{env.kphp_polyfills_dir}}"

# - name: Run python tests
# if: matrix.light_runtime == 'off'
# id: python_tests
# continue-on-error: true
# run: docker exec kphp-build-container-${{matrix.os}} bash -c
# "chown -R kitten /home && su kitten -c 'GITHUB_ACTIONS=1 KPHP_TESTS_POLYFILLS_REPO=${{env.kphp_polyfills_dir}} KPHP_CXX=${{matrix.compiler}} python3.7 -m pytest --tb=native -n$(nproc) ${{env.kphp_root_dir}}/tests/python/'"

# - name: Prepare python tests artifacts
# if: ${{ (steps.python_tests.outcome == 'failure') && matrix.light_runtime == 'off' }}
# run: docker cp kphp-build-container-${{matrix.os}}:${{env.kphp_root_dir}}/tests/python/_tmp/ ${{runner.temp}} &&
# rm -rf ${{runner.temp}}/_tmp/*/working_dir

# - name: Upload python tests artifacts
# uses: actions/upload-artifact@v3
# if: ${{ (steps.python_tests.outcome == 'failure') && matrix.light_runtime == 'off' }}
# with:
# path: ${{runner.temp}}/_tmp/

# - name: Fail pipeline if python tests failed
# if: ${{ (steps.python_tests.outcome == 'failure') && matrix.light_runtime == 'off' }}
# run: exit 1

- name: Copy the session_test file
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"composer install -d ${{env.kphp_polyfills_dir}}"
"cp ${{env.test_wait_all_php_script}} ${{env.kphp_snippets_dir}}/JobWorkers/"

- name: Run python tests
id: python_tests
continue-on-error: true
- name: Compile the session_test project
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"chown -R kitten /home && su kitten -c 'GITHUB_ACTIONS=1 KPHP_TESTS_POLYFILLS_REPO=${{env.kphp_polyfills_dir}} KPHP_CXX=${{matrix.compiler}} python3.7 -m pytest --tb=native -n$(nproc) ${{env.kphp_root_dir}}/tests/python/'"

- name: Prepare python tests artifacts
if: steps.python_tests.outcome == 'failure'
run: docker cp kphp-build-container-${{matrix.os}}:${{env.kphp_root_dir}}/tests/python/_tmp/ ${{runner.temp}} &&
rm -rf ${{runner.temp}}/_tmp/*/working_dir

- name: Upload python tests artifacts
uses: actions/upload-artifact@v3
if: steps.python_tests.outcome == 'failure'
with:
path: ${{runner.temp}}/_tmp/
"cd ${{env.kphp_snippets_dir}}/JobWorkers/ && ${{env.kphp_root_dir}}/objs/bin/kphp2cpp --cxx ${{matrix.compiler}} -I .. -M server test_wait_all.php"

- name: Fail pipeline if python tests failed
if: steps.python_tests.outcome == 'failure'
run: exit 1
- name: Start the server
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"cd ${{env.kphp_snippets_dir}}/JobWorkers/ && ./kphp_out/server -f 4 --http-port 8080 --job-workers-ratio 0.5 --sql-port 5555 --user kitten &> log.txt &"

- name: Remove docker container
run: docker rm -f kphp-build-container-${{matrix.os}}
- name: Install curl
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"apt update && apt install curl"

build-macos:
runs-on: ${{matrix.os}}-12
strategy:
matrix:
include:
- os: macos
compiler: clang++
cpp: 17
- name: Send a request to the server
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"curl 'http://localhost:8080'"

name: "${{matrix.os}}/${{matrix.compiler}}/c++${{matrix.cpp}}"
- name: Read logs
run: docker exec kphp-build-container-${{matrix.os}} bash -c
"cd ${{env.kphp_snippets_dir}}/JobWorkers/ && tail -f log.txt"

# build-macos:
# runs-on: ${{matrix.os}}-12
# strategy:
# matrix:
# include:
# - os: macos
# compiler: clang++
# cpp: 17

# name: "${{matrix.os}}/${{matrix.compiler}}/c++${{matrix.cpp}}"

steps:
- uses: actions/checkout@v3

# because of https://github.com/orgs/Homebrew/discussions/4612
- name: Check Environment
run: |
export HOMEBREW_NO_INSTALL_FROM_API=0
brew untap --force homebrew/cask

- name: Setup Environment
run: |
brew tap shivammathur/php
brew update
brew install re2c cmake coreutils openssl libiconv re2 pcre yaml-cpp zstd googletest shivammathur/php/php@7.4
brew link --overwrite --force shivammathur/php/php@7.4
/usr/local/Frameworks/Python.framework/Versions/3.12/bin/python3.12 -m pip install --upgrade pip --break-system-packages && /usr/local/Frameworks/Python.framework/Versions/3.12/bin/pip3 install jsonschema install --break-system-packages jsonschema

- name: Run cmake
run: cmake -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDOWNLOAD_MISSING_LIBRARIES=On -S $GITHUB_WORKSPACE -B ${{runner.workspace}}/build

- name: Build all
run: make -C ${{runner.workspace}}/build -j$(nproc) all
# steps:
# - uses: actions/checkout@v3

# # because of https://github.com/orgs/Homebrew/discussions/4612
# - name: Check Environment
# run: |
# export HOMEBREW_NO_INSTALL_FROM_API=0
# brew untap --force homebrew/cask

# - name: Setup Environment
# run: |
# brew tap shivammathur/php
# brew update
# brew install re2c cmake coreutils openssl libiconv re2 pcre yaml-cpp zstd googletest shivammathur/php/php@7.4
# brew link --overwrite --force shivammathur/php/php@7.4
# /usr/local/Frameworks/Python.framework/Versions/3.12/bin/python3.12 -m pip install --upgrade pip --break-system-packages && /usr/local/Frameworks/Python.framework/Versions/3.12/bin/pip3 install --break-system-packages jsonschema

# - name: Run cmake
# run: cmake -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DDOWNLOAD_MISSING_LIBRARIES=On -S $GITHUB_WORKSPACE -B ${{runner.workspace}}/build

# - name: Build all
# run: make -C ${{runner.workspace}}/build -j$(nproc) all

- name: Run unit tests
run: make -C ${{runner.workspace}}/build -j$(nproc) test

- name: Compile dummy PHP script
working-directory: ${{runner.workspace}}/build
run: |
echo 'hello world' > demo.php
$GITHUB_WORKSPACE/objs/bin/kphp2cpp --cxx ${{matrix.compiler}} demo.php
kphp_out/server -o
# - name: Run unit tests
# run: make -C ${{runner.workspace}}/build -j$(nproc) test

# - name: Compile dummy PHP script
# working-directory: ${{runner.workspace}}/build
# run: |
# echo 'hello world' > demo.php
# $GITHUB_WORKSPACE/objs/bin/kphp2cpp --cxx ${{matrix.compiler}} demo.php
# kphp_out/server -o
8 changes: 4 additions & 4 deletions .github/workflows/Dockerfile.buster
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ COPY tests/python/requirements.txt /tmp/

RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils ca-certificates gnupg wget lsb-release && \
echo "deb https://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list && \
echo "deb https://archive.debian.org/debian buster-backports main" >> /etc/apt/sources.list && \
wget -qO /etc/apt/trusted.gpg.d/vkpartner.asc https://artifactory-external.vkpartner.ru/artifactory/api/gpg/key/public && \
echo "deb https://artifactory-external.vkpartner.ru/artifactory/kphp buster main" >> /etc/apt/sources.list && \
wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add - && \
echo "deb https://packages.sury.org/php/ buster main" >> /etc/apt/sources.list.d/php.list && \
wget -qO - https://debian.octopuce.fr/snapshots/sury-php/buster-latest/apt.gpg | apt-key add - && \
echo "deb https://debian.octopuce.fr/snapshots/sury-php/buster-latest/ buster main" >> /etc/apt/sources.list && \
TEMP_DEB="$(mktemp)" && \
wget -O "$TEMP_DEB" 'https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb' && \
dpkg -i "$TEMP_DEB" && \
Expand All @@ -20,7 +20,7 @@ RUN apt-get update && \
apt-get update && \
apt-get install -y --no-install-recommends \
git cmake-data=3.18* cmake=3.18* make g++ gperf netcat \
python3.7 python3-dev libpython3-dev python3-pip python3-setuptools mysql-server libmysqlclient-dev && \
python3.7 python3-dev libpython3-dev python3-pip python3-setuptools python3-wheel mysql-server libmysqlclient-dev && \
pip3 install -r /tmp/requirements.txt && \
apt-get install -y --no-install-recommends curl-kphp-vk kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \
libzstd-dev libyaml-cpp-dev libnghttp2-dev zlib1g-dev php7.4-dev libldap-dev libkrb5-dev \
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/Dockerfile.focal
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@ COPY tests/python/requirements.txt /tmp/
RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils ca-certificates gnupg wget pkg-config software-properties-common && \
wget -qO /etc/apt/trusted.gpg.d/vkpartner.asc https://artifactory-external.vkpartner.ru/artifactory/api/gpg/key/public && \
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
add-apt-repository ppa:ubuntu-toolchain-r/test && \
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-18 main" >> /etc/apt/sources.list && \
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-18 main" >> /etc/apt/sources.list && \
echo "deb https://artifactory-external.vkpartner.ru/artifactory/kphp focal main" >> /etc/apt/sources.list && \
echo "deb http://apt.postgresql.org/pub/repos/apt focal-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
add-apt-repository ppa:deadsnakes/ppa && \
apt-get update && \
apt-get install -y --no-install-recommends \
git cmake make clang g++ g++-10 gperf netcat \
git cmake make clang g++ g++-10 g++-11 clang-18 libclang-rt-18-dev clang-format-18 gperf netcat \
python3.7 python3-pip python3.7-distutils python3.7-dev libpython3.7-dev python3-jsonschema python3-setuptools mysql-server libmysqlclient-dev && \
python3.7 -m pip install pip && python3.7 -m pip install -r /tmp/requirements.txt && \
apt-get install -y --no-install-recommends curl-kphp-vk kphp-timelib libuber-h3-dev libfmt-dev libgtest-dev libgmock-dev libre2-dev libpcre3-dev \
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
.DS_Store

.idea
.vscode
build
*.iml
/cmake-build-*
Expand Down
Loading