Skip to content

Commit

Permalink
Merge pull request #1312 from AntelopeIO/libtester-ci-matrix
Browse files Browse the repository at this point in the history
libtester ci matrix
  • Loading branch information
oschwaldp-oci authored Jun 22, 2023
2 parents 8ac0b69 + 429589b commit efbb4c6
Showing 1 changed file with 40 additions and 100 deletions.
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

0 comments on commit efbb4c6

Please sign in to comment.