mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
Update release action
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
parent
081e241c2f
commit
92602e2ca2
1 changed files with 194 additions and 0 deletions
194
.github/workflows/release.yml
vendored
Normal file
194
.github/workflows/release.yml
vendored
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*.*.*"
|
||||
|
||||
env:
|
||||
RUNNER: tools/run-tests.py
|
||||
BUILD_OPTIONS: -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja
|
||||
|
||||
jobs:
|
||||
build-mac64:
|
||||
runs-on: macos-13
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install Packages
|
||||
run: |
|
||||
brew update
|
||||
brew install ninja icu4c@75
|
||||
- name: Build x64
|
||||
run: |
|
||||
# check cpu
|
||||
sysctl -a | grep machdep.cpu
|
||||
# add icu path to pkg_config_path
|
||||
brew --prefix icu4c@75
|
||||
export PKG_CONFIG_PATH="/usr/local/opt/icu4c@75/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
cmake -H. -Bout/ $BUILD_OPTIONS
|
||||
ninja -Cout/
|
||||
- name: Check
|
||||
run: |
|
||||
file out/escargot
|
||||
strip out/escargot
|
||||
$RUNNER --engine="$GITHUB_WORKSPACE/out/escargot" new-es
|
||||
mv out/escargot out/escargot-mac64
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mac64-result
|
||||
path: out/escargot-mac64
|
||||
|
||||
build-mac64arm:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install Packages
|
||||
run: |
|
||||
brew update
|
||||
brew install ninja icu4c@75
|
||||
- name: Build arm64
|
||||
run: |
|
||||
# check cpu
|
||||
sysctl -a | grep machdep.cpu
|
||||
# add icu path to pkg_config_path
|
||||
brew --prefix icu4c@75
|
||||
export PKG_CONFIG_PATH="/opt/homebrew/opt/icu4c@75/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
cmake -H. -Bout/ $BUILD_OPTIONS
|
||||
ninja -Cout/
|
||||
- name: Check
|
||||
run: |
|
||||
file out/escargot
|
||||
strip out/escargot
|
||||
$RUNNER --engine="$GITHUB_WORKSPACE/out/escargot" new-es
|
||||
mv out/escargot out/escargot-mac64arm
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: mac64arm-result
|
||||
path: out/escargot-mac64arm
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86, x64]
|
||||
steps:
|
||||
- name: Set git cllf config
|
||||
run: |
|
||||
git config --global core.autocrlf input
|
||||
git config --global core.eol lf
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- uses: szenius/set-timezone@v2.0
|
||||
with:
|
||||
timezoneWindows: "Pacific Standard Time"
|
||||
- uses: lukka/get-cmake@latest
|
||||
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
|
||||
with:
|
||||
sdk-version: 20348
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
- name: Install msvc redist package
|
||||
run: |
|
||||
(new-object System.Net.WebClient).DownloadFile('https://github.com/abbodi1406/vcredist/releases/download/v0.73.0/VisualCppRedist_AIO_x86_x64.exe','VisualCppRedist_AIO_x86_x64.exe')
|
||||
.\VisualCppRedist_AIO_x86_x64.exe /y
|
||||
- uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
sdk: "10.0.20348.0"
|
||||
- name: Build ${{ matrix.arch }}
|
||||
run: |
|
||||
CMake -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_VERSION:STRING="10.0" -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -DESCARGOT_ARCH=${{ matrix.arch }} -Bout/ -DESCARGOT_OUTPUT=shell -DESCARGOT_LIBICU_SUPPORT=ON -DESCARGOT_LIBICU_SUPPORT_WITH_DLOPEN=OFF -DESCARGOT_THREADING=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DCMAKE_BUILD_TYPE=release
|
||||
CMake --build out/ --config Release
|
||||
- name: Check
|
||||
run: |
|
||||
python tools\run-tests.py --engine=%cd%\out\escargot.exe new-es
|
||||
rename out\escargot.exe escargot-win-${{ matrix.arch }}.exe
|
||||
shell: cmd
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: win-${{ matrix.arch }}-result
|
||||
path: out\escargot-win-${{ matrix.arch }}.exe
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install Packages
|
||||
run: |
|
||||
# for i386 ICU
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y ninja-build libicu-dev gcc-multilib g++-multilib
|
||||
sudo apt-get install -y libicu-dev:i386 # install i386 ICU
|
||||
- name: Build x86/x64
|
||||
run: |
|
||||
cmake -H. -Bout/x86 -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=x86 -DESCARGOT_TEMPORAL=ON $BUILD_OPTIONS
|
||||
cmake -H. -Bout/x64 -DESCARGOT_TEMPORAL=ON $BUILD_OPTIONS
|
||||
ninja -Cout/x86
|
||||
ninja -Cout/x64
|
||||
- name: Check
|
||||
run: |
|
||||
file out/x86/escargot
|
||||
file out/x64/escargot
|
||||
strip out/x86/escargot
|
||||
strip out/x64/escargot
|
||||
# set locale
|
||||
sudo locale-gen en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
locale
|
||||
# run test
|
||||
$RUNNER --engine="$GITHUB_WORKSPACE/out/x86/escargot" new-es
|
||||
$RUNNER --engine="$GITHUB_WORKSPACE/out/x64/escargot" new-es
|
||||
mv out/x86/escargot out/escargot-linux-x86
|
||||
mv out/x64/escargot out/escargot-linux-x64
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linux-result
|
||||
path: out/escargot-linux-*
|
||||
|
||||
update-release:
|
||||
needs: [build-mac64, build-mac64arm, build-windows, build-linux]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download mac64 result
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: mac64-result
|
||||
path: artifacts
|
||||
- name: Download mac64arm result
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: mac64arm-result
|
||||
path: artifacts
|
||||
- name: Download win32 result
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: win-x86-result
|
||||
path: artifacts
|
||||
- name: Download win64 result
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: win-x64-result
|
||||
path: artifacts
|
||||
- name: Download linux result
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: linux-result
|
||||
path: artifacts
|
||||
- name: Upload to release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
artifacts/escargot-*
|
||||
Loading…
Add table
Add a link
Reference in a new issue