constellation/.github/workflows/test-integration.yml
Markus Rudy b0702cd033 ci: execute integration tests with Bazel, where possible
Co-authored-by: malt3 <malt3@users.noreply.github.com>
2023-11-23 13:48:54 +01:00

59 lines
1.6 KiB
YAML

name: Integration Test
on:
workflow_dispatch:
push:
branches:
- main
- "release/**"
paths:
- "**.go"
- "**/go.mod"
- "**/go.sum"
- ".github/workflows/test-integration.yml"
pull_request:
paths:
- "**.go"
- "**/go.mod"
- "**/go.sum"
- ".github/workflows/test-integration.yml"
jobs:
integration-test:
runs-on: ubuntu-22.04
env:
CTEST_OUTPUT_ON_FAILURE: True
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup Go environment
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version: "1.21.4"
cache: true
- name: Install Dependencies
run: sudo apt-get update && sudo apt-get install -y libcryptsetup12 libcryptsetup-dev
- name: Create and populate build folder
run: mkdir build && cd build && cmake ..
# Runs all test targets starting with "integration-"
- name: CMake-based Integration Tests
working-directory: build
run: ctest -R integration-
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Integration Tests
env:
TMPDIR: ${{ runner.temp }}
run: bazel test //... --test_output=errors --config=nostamp --config=integration-only --remote_download_minimal