-
Notifications
You must be signed in to change notification settings - Fork 80
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Refactor cmake related to python packaging * Bump required `everest-cmake` version to `0.4` * Add cmake variables to configure python wheels (install prefix) * Run custom python commands in venv located in build dir * Setup `ev-cli` automatically by installing it from source in to venv Refactor CI * Split into multiple jobs: `Lint`, `Build and Test` and `Run Integration Tests` * Upload dist directory as artifact * Upload wheel files as artifact * Upload result.xml and report.html as artifact * Render result summary Signed-off-by: Andreas Heinrich <[email protected]>
- Loading branch information
Showing
13 changed files
with
170 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,15 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
cmake \ | ||
-B build \ | ||
-B "$EXT_MOUNT/build" \ | ||
-S "$EXT_MOUNT/source" \ | ||
-G Ninja \ | ||
-DEVC_ENABLE_CCACHE=1 \ | ||
-DISO15118_2_GENERATE_AND_INSTALL_CERTIFICATES=OFF \ | ||
-DCMAKE_INSTALL_PREFIX="$WORKSPACE_PATH/dist" \ | ||
-DCMAKE_INSTALL_PREFIX="$EXT_MOUNT/dist" \ | ||
-DWHEEL_INSTALL_PREFIX="$EXT_MOUNT/dist-wheels" \ | ||
-DBUILD_TESTING=ON | ||
|
||
ninja -j$(nproc) -C build | ||
ninja -j$(nproc) -C "$EXT_MOUNT/build" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
ninja -C "$EXT_MOUNT/build" install | ||
ninja -C "$EXT_MOUNT/build" everestpy_install_wheel | ||
ninja -C "$EXT_MOUNT/build" everest-testing_install_wheel | ||
ninja -C "$EXT_MOUNT/build" iso15118_install_wheel |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,9 @@ | ||
#!/bin/sh | ||
|
||
# ninja -j$(nproc) -C build tests | ||
ninja -j$(nproc) -C build install | ||
|
||
# install everest testing by cmake target to make sure using the version defined in dependencies.yaml | ||
ninja -C build install_everest_testing | ||
set -e | ||
|
||
rsync -a "$EXT_MOUNT/source/tests" ./ | ||
|
||
rm -rf build | ||
pip install $EXT_MOUNT/wheels/everestpy-*.whl | ||
pip install $EXT_MOUNT/wheels/everest_testing-*.whl | ||
pip install pytest-html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
#!/bin/sh | ||
|
||
ninja -j$(nproc) -C build test | ||
set -e | ||
|
||
ninja -C "$EXT_MOUNT/build" test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,13 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
cd tests | ||
pytest --everest-prefix ../dist core_tests/*.py framework_tests/*.py | ||
pytest \ | ||
-rA \ | ||
--junitxml="$EXT_MOUNT/result.xml" \ | ||
--html="$EXT_MOUNT/report.html" \ | ||
--self-contained-html \ | ||
core_tests/*.py \ | ||
framework_tests/*.py \ | ||
--everest-prefix "$EXT_MOUNT/dist" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,11 +15,25 @@ on: | |
- cron: '37 13,1 * * *' | ||
|
||
env: | ||
BUILD_KIT_IMAGE: ghcr.io/everest/build-kit-alpine:v1.1.4 | ||
BUILD_KIT_IMAGE: ghcr.io/everest/build-kit-alpine:v1.2.0 | ||
|
||
jobs: | ||
lint: | ||
name: Lint | ||
runs-on: ${{ inputs.runner || 'ubuntu-22.04' }} | ||
steps: | ||
- name: Checkout everest-core | ||
uses: actions/[email protected] | ||
with: | ||
path: source | ||
- name: Run clang-format | ||
uses: everest/everest-ci/github-actions/[email protected] | ||
with: | ||
source-dir: source | ||
extensions: hpp,cpp | ||
exclude: cache | ||
build: | ||
name: Build, Lint and Test | ||
name: Build and Unit Tests | ||
runs-on: ${{ inputs.runner || 'ubuntu-22.04' }} | ||
steps: | ||
- name: Format branch name for cache key | ||
|
@@ -35,15 +49,9 @@ jobs: | |
compile-${{ env.branch_name_for_cache }}- | ||
compile- | ||
- name: Checkout everest-core | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4.1.6 | ||
with: | ||
path: source | ||
- name: Run clang-format | ||
uses: everest/everest-ci/github-actions/[email protected] | ||
with: | ||
source-dir: source | ||
extensions: hpp,cpp | ||
exclude: cache | ||
- name: Setup run scripts | ||
run: | | ||
mkdir scripts | ||
|
@@ -67,14 +75,81 @@ jobs: | |
--volume "$(pwd):/ext" \ | ||
--name unit-tests-container \ | ||
build-image run-script run_unit_tests | ||
- name: Create dist | ||
run: | | ||
docker run \ | ||
--volume "$(pwd):/ext" \ | ||
--name install-container \ | ||
build-image run-script install | ||
- name: Tar dist dir and keep permissions | ||
run: | | ||
tar -czf dist.tar.gz dist | ||
- name: Upload dist artifact | ||
uses: actions/[email protected] | ||
with: | ||
path: dist.tar.gz | ||
name: dist | ||
- name: Upload wheels artifact | ||
uses: actions/[email protected] | ||
with: | ||
path: dist-wheels | ||
name: wheels | ||
integration-tests: | ||
name: Integration Tests | ||
needs: build | ||
runs-on: ${{ inputs.runner || 'ubuntu-22.04' }} | ||
steps: | ||
- name: Download dist dir | ||
uses: actions/[email protected] | ||
with: | ||
name: dist | ||
- name: Extract dist.tar.gz | ||
run: | | ||
tar -xzf ${{ github.workspace }}/dist.tar.gz -C ${{ github.workspace }} | ||
- name: Download wheels | ||
uses: actions/[email protected] | ||
with: | ||
name: wheels | ||
path: wheels | ||
- name: Checkout everest-core | ||
uses: actions/[email protected] | ||
with: | ||
path: source | ||
- name: Setup run scripts | ||
run: | | ||
mkdir scripts | ||
rsync -a source/.ci/build-kit/ scripts | ||
- name: Pull build-kit image | ||
run: | | ||
docker pull --quiet ${{ env.BUILD_KIT_IMAGE }} | ||
docker image tag ${{ env.BUILD_KIT_IMAGE }} build-kit | ||
- name: Create integration-image | ||
run: | | ||
docker run \ | ||
--volume "$(pwd):/ext" \ | ||
--name test-container \ | ||
build-image run-script prepare_integration_tests | ||
docker commit test-container integration-image | ||
--name prepare-container \ | ||
build-kit run-script prepare_integration_tests | ||
docker commit prepare-container integration-image | ||
- name: Run integration tests | ||
run: | | ||
pushd source/.ci/e2e | ||
docker-compose run e2e-test-server run-script run_integration_tests | ||
docker-compose run \ | ||
e2e-test-server \ | ||
run-script run_integration_tests | ||
- name: Upload result & report as artifact | ||
if: always() | ||
uses: actions/[email protected] | ||
with: | ||
path: | | ||
${{ github.workspace }}/result.xml | ||
${{ github.workspace }}/report.html | ||
name: pytest-results | ||
- name: Render result | ||
if: always() | ||
uses: pmeier/[email protected] | ||
with: | ||
path: ${{ github.workspace }}/result.xml | ||
summary: True | ||
display-options: fEX | ||
fail-on-empty: True | ||
title: Test results |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters