2022-03-22 11:03:15 -04:00
|
|
|
name: Integration Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main
|
2022-10-18 10:17:41 -04:00
|
|
|
- "release/**"
|
2022-09-03 11:47:47 -04:00
|
|
|
paths:
|
|
|
|
- "**.go"
|
2022-10-14 04:27:49 -04:00
|
|
|
- "**/go.mod"
|
|
|
|
- "**/go.sum"
|
2023-02-14 14:01:00 -05:00
|
|
|
- ".github/workflows/test-integration.yml"
|
2022-03-22 11:03:15 -04:00
|
|
|
pull_request:
|
2022-09-03 11:47:47 -04:00
|
|
|
paths:
|
|
|
|
- "**.go"
|
2022-10-14 04:27:49 -04:00
|
|
|
- "**/go.mod"
|
|
|
|
- "**/go.sum"
|
2023-02-14 14:01:00 -05:00
|
|
|
- ".github/workflows/test-integration.yml"
|
2022-03-22 11:03:15 -04:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
integration-test:
|
2022-11-10 10:55:24 -05:00
|
|
|
runs-on: ubuntu-22.04
|
2022-03-22 11:03:15 -04:00
|
|
|
env:
|
2022-06-30 07:26:21 -04:00
|
|
|
CTEST_OUTPUT_ON_FAILURE: True
|
2022-03-22 11:03:15 -04:00
|
|
|
steps:
|
2022-07-20 04:48:01 -04:00
|
|
|
- name: Checkout
|
2023-10-11 07:49:50 -04:00
|
|
|
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
|
2022-09-19 04:59:46 -04:00
|
|
|
with:
|
2022-12-19 09:21:28 -05:00
|
|
|
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
|
2022-09-14 09:14:26 -04:00
|
|
|
|
2022-03-22 11:03:15 -04:00
|
|
|
- name: Setup Go environment
|
2023-08-15 08:38:48 -04:00
|
|
|
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
|
2022-03-22 11:03:15 -04:00
|
|
|
with:
|
2023-11-09 14:17:14 -05:00
|
|
|
go-version: "1.21.4"
|
2022-07-26 05:49:13 -04:00
|
|
|
cache: true
|
2022-03-22 11:03:15 -04:00
|
|
|
|
2022-04-07 10:39:21 -04:00
|
|
|
- name: Install Dependencies
|
2022-10-19 10:36:24 -04:00
|
|
|
run: sudo apt-get update && sudo apt-get install -y libcryptsetup12 libcryptsetup-dev
|
2022-04-07 10:39:21 -04:00
|
|
|
|
2022-06-30 07:26:21 -04:00
|
|
|
- name: Create and populate build folder
|
2023-05-19 09:36:54 -04:00
|
|
|
run: mkdir build && cd build && cmake ..
|
2022-04-07 10:39:21 -04:00
|
|
|
|
2022-06-30 07:26:21 -04:00
|
|
|
# Runs all test targets starting with "integration-"
|
2023-11-22 07:07:58 -05:00
|
|
|
- name: CMake-based Integration Tests
|
2022-07-26 05:59:05 -04:00
|
|
|
working-directory: build
|
2023-01-18 04:15:58 -05:00
|
|
|
run: ctest -R integration-
|
2023-11-22 07:07:58 -05:00
|
|
|
|
|
|
|
- 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
|