Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libtester ci matrix #1312

Merged
merged 5 commits into from
Jun 22, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 40 additions & 100 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -206,79 +206,62 @@ jobs:
name: ${{matrix.platform}}-lr-logs
path: '*-logs.tar.gz'

libtester-deb-install-test:
name: libtester deb install test
libtester-tests:
name: libtester tests
needs: [d, Build, dev-package]
if: always() && needs.dev-package.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu20, ubuntu22]
test: [build-tree, make-dev-install, deb-install]
runs-on: ["self-hosted", "enf-x86-midtier"]
container: ${{ matrix.platform == 'ubuntu20' && 'ubuntu:focal' || 'ubuntu:jammy' }}
container: ${{ matrix.test != 'deb-install' && fromJSON(needs.d.outputs.p)[matrix.platform].image || matrix.platform == 'ubuntu20' && 'ubuntu:focal' || 'ubuntu:jammy' }}
steps:
- name: Download cdt
uses: AntelopeIO/asset-artifact-download-action@v2
with:
owner: AntelopeIO
repo: cdt
file: 'cdt_.*amd64.deb'
target: main
artifact-name: cdt_ubuntu_package_amd64
token: ${{github.token}}
- name: Download leap-dev
uses: actions/download-artifact@v3
with:
name: leap-dev-${{matrix.platform}}-amd64
- name: Install cdt and leap-dev Packages
run: |
apt-get update
export DEBIAN_FRONTEND='noninteractive'
export TZ='Etc/UTC'
apt-get install -y ./*.deb
rm ./*.deb
- name: checkout reference-contracts
uses: actions/checkout@v3
with:
repository: AntelopeIO/reference-contracts
path: reference-contracts
- name: Build & Test reference-contracts
run: |
apt-get -y install cmake build-essential
cmake -S reference-contracts -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=On
cmake --build build -- -j $(nproc)
cd build/tests
ctest --output-on-failure -j $(nproc)

libtester-make-dev-install-test:
name: libtester make dev-install test
needs: [d, Build]
if: always() && needs.Build.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-midtier"]
container: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
steps:
- name: Clone leap
# LEAP
- if: ${{ matrix.test != 'deb-install' }}
name: Clone leap
uses: actions/checkout@v3
with:
submodules: recursive
- name: Download leap builddir
- if: ${{ matrix.test != 'deb-install' }}
name: Download leap builddir
uses: actions/download-artifact@v3
with:
name: ${{matrix.platform}}-build
- name: Extract leap build
- if: ${{ matrix.test != 'deb-install' }}
name: Extract leap build
run: |
zstdcat build.tar.zst | tar x
- name: leap dev-install
- if: ${{ matrix.test == 'build-tree' }}
name: Set leap_DIR env var
run: |
echo "leap_DIR=$PWD/build/lib/cmake/leap" >> "$GITHUB_ENV"
- if: ${{ matrix.test == 'make-dev-install' }}
name: leap dev-install
run: |
cmake --install build
cmake --install build --component dev
- name: Delete leap artifacts
- if: ${{ matrix.test == 'make-dev-install' }}
name: Delete leap artifacts
run: |
rm -r *
- if: ${{ matrix.test == 'deb-install' }}
name: Download leap-dev
uses: actions/download-artifact@v3
with:
name: leap-dev-${{matrix.platform}}-amd64
- if: ${{ matrix.test == 'deb-install' }}
name: Install leap-dev Package
run: |
apt-get update
export DEBIAN_FRONTEND='noninteractive'
export TZ='Etc/UTC'
apt-get install -y ./*.deb
rm ./*.deb

# CDT
- name: Download cdt
uses: AntelopeIO/asset-artifact-download-action@v2
with:
Expand All @@ -292,59 +275,17 @@ jobs:
run: |
apt install -y ./*.deb
rm ./*.deb
- name: checkout reference-contracts
uses: actions/checkout@v3
with:
repository: AntelopeIO/reference-contracts
path: reference-contracts
- name: Build & Test reference-contracts
run: |
cmake -S reference-contracts -B reference-contracts/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=On
cmake --build reference-contracts/build -- -j $(nproc)
cd reference-contracts/build/tests
ctest --output-on-failure -j $(nproc)

libtester-build-tree-test:
name: libtester build tree test
needs: [d, Build]
if: always() && needs.Build.result == 'success'
strategy:
fail-fast: false
matrix:
platform: [ubuntu20, ubuntu22]
runs-on: ["self-hosted", "enf-x86-midtier"]
container: ${{fromJSON(needs.d.outputs.p)[matrix.platform].image}}
steps:
- name: Clone leap
uses: actions/checkout@v3
with:
submodules: recursive
- name: Download leap builddir
uses: actions/download-artifact@v3
with:
name: ${{matrix.platform}}-build
# Reference Contracts
- name: checkout reference-contracts
uses: actions/checkout@v3
with:
repository: AntelopeIO/reference-contracts
path: reference-contracts
- name: Extract leap build
run: |
zstdcat build.tar.zst | tar x
echo "leap_DIR=$PWD/build/lib/cmake/leap" >> "$GITHUB_ENV"
- name: Download cdt
uses: AntelopeIO/asset-artifact-download-action@v2
with:
owner: AntelopeIO
repo: cdt
file: 'cdt_.*amd64.deb'
target: main
artifact-name: cdt_ubuntu_package_amd64
token: ${{github.token}}
- name: Install cdt Packages
- if: ${{ matrix.test == 'deb-install' }}
name: Install reference-contracts deps
run: |
apt install -y ./*.deb
rm ./*.deb
apt-get -y install cmake build-essential
- name: Build & Test reference-contracts
run: |
cmake -S reference-contracts -B reference-contracts/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=On
Expand All @@ -354,10 +295,9 @@ jobs:

all-passing:
name: All Required Tests Passed
needs: [dev-package, tests, np-tests, libtester-build-tree-test, libtester-make-dev-install-test, libtester-deb-install-test]
needs: [dev-package, tests, np-tests, libtester-tests]
if: always()
runs-on: ubuntu-latest
steps:
- if: needs.dev-package.result != 'success' || needs.tests.result != 'success' || needs.np-tests.result != 'success' ||
needs.libtester-build-tree-test.result != 'success' || needs.libtester-make-dev-install-test.result != 'success' || needs.libtester-deb-install-test.result != 'success'
- if: needs.dev-package.result != 'success' || needs.tests.result != 'success' || needs.np-tests.result != 'success' || needs.libtester-tests.result != 'success'
run: false