Skip to content

this way

this way #15

Workflow file for this run

# Copyright (c) Facebook, Inc. and its affiliates.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Multi-Stage Linux Build
on:
push:
paths:
- "velox/**"
- "!velox/docs/**"
- "CMakeLists.txt"
- "CMake/**"
- "third_party/**"
- ".github/workflows/linux-build.yml"
pull_request:
paths:
- "velox/**"
- "!velox/docs/**"
- "CMakeLists.txt"
- "CMake/**"
- "third_party/**"
- ".github/workflows/linux-build.yml"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.repository }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
build:
runs-on: ${{ matrix.runner }}
name: "Linux ${{ matrix.type }} Build on ${{ matrix.runner }}"
strategy:
fail-fast: false
matrix:
type: ["release", "debug"]
runner: ["8-core", "ubuntu-latest"]
env:
CC: /opt/rh/gcc-toolset-9/root/bin/gcc
CXX: /opt/rh/gcc-toolset-9/root/bin/g++
CCACHE_DIR: ".ccache"
IMAGE: "ghcr.io/facebookincubator/velox-dev:circleci-avx"
DOCKER_CMD: "docker run --ulimit memlock=-1 -v .:/velox -w /velox -d -e CC -e CXX -e CCACHE_DIR --rm ghcr.io/facebookincubator/velox-dev:circleci-avx"
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: '.ccache'
key: ccache-linux-${{ matrix.type }}-${{ hashFiles('velox/*') }}
restore-keys: ccache-linux-${{ matrix.type }}
- run: |
mkdir -p .ccache
sudo apt update && sudo apt install ccache
- name: Minimal, no tests
run: |
df -h .
du -sh .
ccache -s
$DOCKER_CMD make VELOX_BUILD_MINIMAL=ON VELOX_BUILD_TESTING=OFF '${{ matrix.type }}'
df -h .
du -sh .
ccache -s
- name: Default, no tests
run: |
df -h .
du -sh .
ccache -s
$DOCKER_CMD make VELOX_BUILD_TESTING=OFF release '${{ matrix.type }}'
df -h .
du -sh .
ccache -s
- run: |
df -h .
du -sh .
ccache -s
$DOCKER_CMD make '${{ matrix.type }}'
docker exec velox make unittest
df -h .
du -sh .
ccache -s