fix #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check | |
on: | |
push: | |
branches: | |
- main | |
- users/nadya73/actions | |
jobs: | |
start-vm: | |
name: Start VM | |
runs-on: trampoline | |
outputs: | |
label: ${{ steps.start-yc-runner.outputs.label }} | |
instance-id: ${{ steps.start-yc-runner.outputs.instance-id }} | |
steps: | |
- name: Start YC runner | |
id: start-yc-runner | |
uses: yc-actions/yc-github-runner@v1 | |
with: | |
mode: start | |
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} | |
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} | |
folder-id: ${{ vars.YC_FOLDER_ID }} | |
image-id: fd8jabqv906r8kc9apg8 | |
zone-id: ${{ vars.YC_ZONE_ID }} | |
subnet-id: ${{ vars.YC_SUBNET_ID }} | |
cores: 16 | |
memory: 32GB | |
core-fraction: 100 | |
disk-type: network-ssd-nonreplicated | |
disk-size: 279GB | |
user: ${{ secrets.YC_VM_USERNAME }} | |
ssh-public-key: ${{ secrets.YC_VM_SSH_PUBLIC_KEY }} | |
public-ip: false | |
checkout: | |
name: Checkout sources | |
needs: start-vm | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
steps: | |
- name: Checkout ytsaurus-cpp-sdk | |
uses: actions/checkout@v3 | |
build: | |
name: Build | |
needs: | |
- start-vm | |
- checkout | |
runs-on: ${{ needs.start-vm.outputs.label }} | |
steps: | |
- name: Build with libstdc++ | |
run: | | |
mkdir -p ../build_gcc | |
cd ../build_gcc | |
rm -rf * | |
cmake \ | |
-G Ninja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_TOOLCHAIN_FILE=../ytsaurus-cpp-sdk/clang.toolchain \ | |
-DCMAKE_C_COMPILER_LAUNCHER=ccache \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DREQUIRED_LLVM_TOOLING_VERSION=14 \ | |
-DCMAKE_CXX_FLAGS_INIT="-stdlib=libstdc++" \ | |
../ytsaurus-cpp-sdk | |
export CCACHE_BASEDIR="$(realpath ..)" | |
export CCACHE_REMOTE_ONLY=true | |
export CCACHE_REMOTE_STORAGE="${{ vars.CCACHE_REMOTE_STORAGE }}" | |
cd ../build_gcc | |
ninja | |
- name: Build with libc++ | |
run: | | |
mkdir -p ../build | |
cd ../build | |
rm -rf * | |
cmake \ | |
-G Ninja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_TOOLCHAIN_FILE=../ytsaurus-cpp-sdk/clang.toolchain \ | |
-DCMAKE_C_COMPILER_LAUNCHER=ccache \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DREQUIRED_LLVM_TOOLING_VERSION=14 \ | |
-DCMAKE_CXX_FLAGS_INIT="-stdlib=libc++" \ | |
../ytsaurus-cpp-sdk | |
export CCACHE_BASEDIR="$(realpath ..)" | |
export CCACHE_REMOTE_ONLY=true | |
export CCACHE_REMOTE_STORAGE="${{ vars.CCACHE_REMOTE_STORAGE }}" | |
cd ../build | |
ninja | |
stop-vm: | |
name: Stop VM | |
needs: | |
- start-vm | |
- build | |
runs-on: trampoline | |
if: ${{ always() }} | |
steps: | |
- name: Stop YC runner | |
uses: yc-actions/yc-github-runner@v1 | |
with: | |
mode: stop | |
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} | |
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} | |
label: ${{ needs.start-vm.outputs.label }} | |
instance-id: ${{ needs.start-vm.outputs.instance-id }} |