Skip to content

remove ".github/**" from path ignore list to trigger build. #58

remove ".github/**" from path ignore list to trigger build.

remove ".github/**" from path ignore list to trigger build. #58

Workflow file for this run

name: build and test
on:
push:
paths-ignore:
- ".github/docker.yml"
- "docs/**"
- "tools/**"
- "gateway/**"
- "scripts/**"
- "**/*.md"
- "**/*.txt"
- "**/*.sh"
- "Dockerfile"
- "Dockerfile.*"
branches:
- main
pull_request:
paths-ignore:
- ".github/docker.yml"
- "docs/**"
- "tools/**"
- "gateway/**"
- "scripts/**"
- "**/*.md"
- "**/*.txt"
- "**/*.sh"
- "Dockerfile"
- "Dockerfile.*"
branches:
- main
jobs:
linux-gcc:
strategy:
matrix:
os: [ubuntu-22.04]
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
build_type: [Release]
runs-on: [self-hosted, linux, x64, 1gpu]
env:
BUILD_TYPE: ${{ matrix.build_type }}
# Tells vcpkg where binary packages are stored.
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/.vcpkg/bincache
steps:
- name: Install toolkits
run: |
sudo apt-get install -y build-essential ninja-build bison gcc-12 libunwind-dev python3-dev libboost-all-dev
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Get Timestamp
id: get-timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
file(APPEND "$ENV{GITHUB_OUTPUT}" "timestamp=${current_date}")
# Restore both vcpkg and its artifacts from the last successful build.
# TODO: use a distribute storage for bincache by following the instruction here:
# https://learn.microsoft.com/en-us/vcpkg/users/binarycaching#aws
- name: Restore vcpkg and its artifacts.
uses: actions/cache@v3
with:
path: ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
key: |
scalellm-${{ matrix.os }}-gcc-x64-linux-${{env.BUILD_TYPE}}-${{ steps.get-timestamp.outputs.timestamp }}-${{ hashFiles( 'vcpkg.json' ) }}
restore-keys: |
scalellm-${{ matrix.os }}-gcc-x64-linux-${{env.BUILD_TYPE}}-${{ steps.get-timestamp.outputs.timestamp }}
scalellm-${{ matrix.os }}-gcc-x64-linux-${{env.BUILD_TYPE}}
- name: CMake Build in the 'build' subdirectory
run: |
cmake -G Ninja -S . -B build -DCMAKE_CUDA_ARCHITECTURES=80 -DTORCH_CUDA_ARCH_LIST=8.0
cmake --build build --config ${{env.BUILD_TYPE}} --target all
# - name: benchmark
# if: ${{ env.BUILD_TYPE == 'Release' }}
# run: ./build/src/benchmark/micro_benchmark
- name: Run unit tests
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
run: ctest --output-on-failure -C ${{env.BUILD_TYPE}}