Skip to content

Commit

Permalink
change timeout, add readme
Browse files Browse the repository at this point in the history
  • Loading branch information
artem-artemkin committed Jan 23, 2024
1 parent f90b359 commit 36309e4
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
14 changes: 12 additions & 2 deletions .github/workflows/build-v8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,23 @@ on:
# запуск только при пуше в мастер
branches:
- "master"
# запуск, если изменился код пакета или пайплайна
# запуск, если изменился код пайплайна
paths:
- ".github/workflows/**/*"

jobs:
build-v8:
runs-on: ubuntu-latest
timeout-minutes: 120
timeout-minutes: 140

steps:
- uses: actions/checkout@v3

# писалось с опорой на гайд https://v8.dev/docs/build
- name: install gclient
run: |
git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
# обновление PATH нужно, чтобы все утилиты из depot_tools вызывались из любого места через gclient
PATH=$GITHUB_WORKSPACE/depot_tools:$PATH
gclient
Expand All @@ -42,17 +44,23 @@ jobs:
run: |
PATH=$GITHUB_WORKSPACE/depot_tools:$PATH
cd v8-src/v8
# отключить использование snapshot_blob.bin
echo "v8_use_external_startup_data = false" > ./build/args/tv-args.gn
mkdir -p ./out/x64.release
echo 'import("//build/args/tv-args.gn")' > ./out/x64.release/args.gn
gn gen out/x64.release
# установить дополнительные зависимости
./build/install-build-deps.sh
# собрать и протестировать
./tools/dev/gm.py x64.release.check
- name: get needed files for debian package
run: |
cd ./v8-src/v8/out/x64.release
mkdir -p "$GITHUB_WORKSPACE/v8js/topvisor/v8js"
# без этих файлов d8 работать не будет
cp \
d8 \
libchrome_zlib.so \
Expand Down Expand Up @@ -85,6 +93,7 @@ jobs:
run: |
v8Version=${{ steps.definingV8Version.outputs.v8Version }}
arch=${{ steps.definingV8Version.outputs.arch }}
# заменить версию debian пакета со старой на новую версию v8
sed -i "s/^Version:.*/Version: $v8Version/g" "$GITHUB_WORKSPACE/v8js/DEBIAN/control"
dpkg-deb --build v8js
mv v8js.deb v8js.$v8Version.$arch.deb
Expand Down Expand Up @@ -113,4 +122,5 @@ jobs:
newMinorVersion=$(( $latestMinorVersion + 1 ))
newVersion="$latestVersionPrefix$newMinorVersion"
# выпустить релиз с указанными ресурсами (assets)
gh release create "$newVersion" ./v8js.$v8Version.$arch.deb
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Проект
============
Проект обновляется раз в год по расписанию и собирает debian пакет, содержащий все необходимое для работы d8

V8 JavaScript Движок
=============

V8 - это open source JavaScript движок от Google.

V8 может работать автономно, в c++ приложении или в браузере.

Документация: https://v8.dev/docs


Установка
=============

Список доступных пакетов можно найти на странице https://github.com/topvisor/v8js/releases в разделе "Assets"

Пример установки:

wget https://github.com/topvisor/v8js/releases/download/v1.0.3/v8js.12.3.amd64.deb
sudo dpkg -i v8js.12.3.amd64.deb

Пример использования:
d8 <<< "console.log('hello world');"

Удаление
dpkg -r v8js

0 comments on commit 36309e4

Please sign in to comment.