Skip to content

SNOW-864140 update build scripts instruction #2302

SNOW-864140 update build scripts instruction

SNOW-864140 update build scripts instruction #2302

Workflow file for this run

name: Build and Test
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- '**'
concurrency:
# older builds for the same pull request numer or branch should be cancelled
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
build-test-linux:
name: Build-Test-Linux
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type: [ 'Debug', 'Release' ]
cloud_provider: [ 'AWS', 'AZURE', 'GCP' ]
steps:
- uses: actions/checkout@v4
- name: Restore cached deps
id: cache-restore-deps
uses: actions/cache/restore@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ github.event.pull_request.base.sha }}-Linux-dep-cache
if: github.event_name == 'pull_request'
- name: Build
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
run: ci/build_linux.sh
- name: Cache deps
id: cache-save-deps
uses: actions/cache/save@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ github.sha }}-Linux-dep-cache
if: github.ref_name == github.event.repository.default_branch && matrix.cloud_provider == 'AWS'
- uses: actions/setup-python@v5
with:
python-version: '3.7'
architecture: 'x64'
- name: Test
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci/test_linux.sh
build-test-win:
name: Build-Test-Win
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
platform: [ 'x64', 'x86' ]
build_type: [ 'Debug', 'Release' ]
vs_version: [ 'VS16' ]
cloud_provider: [ 'AWS', 'AZURE', 'GCP' ]
steps:
- uses: actions/checkout@v4
- name: Restore cached deps
id: cache-restore-deps
uses: actions/cache/restore@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ matrix.platform }}-${{ matrix.vs_version }}-${{ github.event.pull_request.base.sha }}-Win-dep-cache
if: github.event_name == 'pull_request'
- name: Build
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
BUILD_TYPE: ${{ matrix.build_type }}
VS_VERSION: ${{ matrix.vs_version }}
run: ci\build_win.bat
- name: Cache deps
id: cache-save-deps
uses: actions/cache/save@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ matrix.platform }}-${{ matrix.vs_version }}-${{ github.sha }}-Win-dep-cache
if: github.ref_name == github.event.repository.default_branch && matrix.cloud_provider == 'AWS'
- uses: actions/setup-python@v5
with:
python-version: '3.7'
architecture: 'x64'
- name: Test
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
BUILD_TYPE: ${{ matrix.build_type }}
VS_VERSION: ${{ matrix.vs_version }}
CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci\test_win.bat
build-test-win-vs2022:
name: Build-Test-Win-vs2022
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
platform: [ 'x64', 'x86' ]
build_type: [ 'Debug', 'Release' ]
vs_version: [ 'VS17' ]
cloud_provider: [ 'AWS', 'AZURE', 'GCP' ]
steps:
- uses: actions/checkout@v4
- name: Restore cached deps
id: cache-restore-deps
uses: actions/cache/restore@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ matrix.platform }}-${{ matrix.vs_version }}-${{ github.event.pull_request.base.sha }}-Win-dep-cache
if: github.event_name == 'pull_request'
- name: Build
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
BUILD_TYPE: ${{ matrix.build_type }}
VS_VERSION: ${{ matrix.vs_version }}
run: ci\build_win.bat
- name: Cache deps
id: cache-save-deps
uses: actions/cache/save@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ matrix.platform }}-${{ matrix.vs_version }}-${{ github.sha }}-Win-dep-cache
if: github.ref_name == github.event.repository.default_branch && matrix.cloud_provider == 'AWS'
- uses: actions/setup-python@v5
with:
python-version: '3.7'
architecture: 'x64'
- name: Test
shell: cmd
env:
PLATFORM: ${{ matrix.platform }}
BUILD_TYPE: ${{ matrix.build_type }}
VS_VERSION: ${{ matrix.vs_version }}
CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci\test_win.bat
build-test-mac:
name: Build-Test-Mac
runs-on: macos-14
strategy:
fail-fast: false
matrix:
build_type: [ 'Debug', 'Release' ]
cloud_provider: [ 'AWS', 'AZURE', 'GCP' ]
steps:
- uses: actions/checkout@v4
- name: Install Homebrew Bash
shell: bash
run: brew install bash
- name: Restore cached deps
id: cache-restore-deps
uses: actions/cache/restore@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ github.event.pull_request.base.sha }}-Mac-dep-cache
if: github.event_name == 'pull_request'
- name: Build
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
run: ./ci/build_mac.sh
- name: Cache deps
id: cache-save-deps
uses: actions/cache/save@v4
with:
path: dep-cache
key: ${{ matrix.build_type }}-${{ github.sha }}-Mac-dep-cache
if: github.ref_name == github.event.repository.default_branch && matrix.cloud_provider == 'AWS'
- name: Test
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
CLOUD_PROVIDER: ${{ matrix.cloud_provider }}
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci/test_mac.sh
build-test-codecov:
needs: [build-test-linux, build-test-win]
name: Build-Test-CodeCov-Linux
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type: [ 'Release' ]
steps:
- uses: actions/checkout@v4
- name: Build
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
CLIENT_CODE_COVERAGE: 1
run: ci/build_linux.sh
- uses: actions/setup-python@v5
with:
python-version: '3.7'
architecture: 'x64'
- name: Test on AWS
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
CLIENT_CODE_COVERAGE: 1
CLOUD_PROVIDER: AWS
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci/test_linux.sh
- name: Test on Azure
shell: bash
env:
BUILD_TYPE: ${{ matrix.build_type }}
CLIENT_CODE_COVERAGE: 1
CLOUD_PROVIDER: AZURE
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
run: ci/test_linux.sh
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
# without the token code cov may fail because of Github limits https://github.com/codecov/codecov-action/issues/557
token: ${{ secrets.CODE_COV_UPLOAD_TOKEN }}
fail_ci_if_error: true