test: add test script #1182
Workflow file for this run
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
# | ||
# Copyright (c) 2022 ZettaScale Technology | ||
# | ||
# This program and the accompanying materials are made available under the | ||
# terms of the Eclipse Public License 2.0 which is available at | ||
# http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 | ||
# which is available at https://www.apache.org/licenses/LICENSE-2.0. | ||
# | ||
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 | ||
# | ||
# Contributors: | ||
# ZettaScale Zenoh Team, <[email protected]> | ||
# | ||
name: CI | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: ["**"] | ||
pull_request: | ||
branches: ["**"] | ||
schedule: | ||
- cron: "0 0 * * 1-5" | ||
jobs: | ||
checks: | ||
name: Run checks on ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macOS-latest] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Install Rust toolchain | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
components: rustfmt, clippy | ||
- name: Code format check | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: fmt | ||
args: -- --check | ||
- name: Clippy | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: clippy | ||
args: --all-targets -- -D warnings | ||
- name: Clippy unstable | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: clippy | ||
args: --all-targets -- -D warnings | ||
tests: | ||
name: Run tests on ${{ matrix.os }} | ||
needs: [checks] | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macOS-latest] | ||
env: | ||
zfctl_path: ${{ runner.workspace }}/release/debug/zfctl' | ||
zenohd_path: /target/debug/zenohd | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: dump | ||
run: | | ||
echo 'github.workspace === ${{ github.workspace }}' | ||
echo "GITHUB_WORKSPACE === $GITHUB_WORKSPACE" | ||
echo 'runner.workspace === ${{ runner.workspace }}' | ||
echo "RUNNER_WORKSPACE === $RUNNER_WORKSPACE" | ||
echo 'zfctl === ${{ runner.workspace }}/release/debug/zfctl' | ||
- name: Change dir | ||
shell: bash | ||
run: | | ||
cd .. | ||
pwd | ||
- name: Change dir | ||
shell: bash | ||
run: | | ||
cd .. | ||
pwd | ||
- name: dump | ||
working-directory: ./../../zenoh | ||
run: | | ||
pwd | ||
echo 'github.workspace === ${{ github.workspace }}' | ||
echo "GITHUB_WORKSPACE === $GITHUB_WORKSPACE" | ||
echo 'runner.workspace === ${{ runner.workspace }}' | ||
echo "RUNNER_WORKSPACE === $RUNNER_WORKSPACE" | ||
echo "zfctl_path === $zfctl_path" | ||
echo 'env.zfctl_path === ${{ env.zfctl_path }}' | ||
echo 'zenohd === ${{ runner.workspace }}/target/debug/zenohd' | ||
echo "zenohd_path=${{ runner.workspace }}/target/debug/zenohd" >> $GITHUB_ENV | ||
echo "zenohd_path === $zenohd_path" | ||
echo 'env.zenohd_path === ${{ env.zenohd_path }}' | ||
- name: Install latest Rust toolchain | ||
uses: actions-rs/toolchain@v1 | ||
- name: Build | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
args: --release --verbose --all-targets | ||
- name: Run tests | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: test | ||
args: --release --verbose | ||
env: | ||
ASYNC_STD_THREAD_COUNT: 4 | ||
- name: Run doctests | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: test | ||
args: --doc | ||
env: | ||
ASYNC_STD_THREAD_COUNT: 4 | ||
# - uses: actions/checkout@v2 | ||
# - name: Install latest Rust toolchain | ||
# uses: actions-rs/toolchain@v1 | ||
# - name: Build zenoh-flow-plugin | ||
# uses: actions-rs/cargo@v1 | ||
# with: | ||
# command: build | ||
# args: --release -p zenoh-flow-plugin -j1 | ||
# - name: Build zfctl | ||
# uses: actions-rs/cargo@v1 | ||
# with: | ||
# command: build | ||
# args: --release -p zfctl -j1 | ||
# - name: Run tests | ||
# uses: actions-rs/cargo@v1 | ||
# with: | ||
# command: test | ||
# args: --release --verbose | ||
# env: | ||
# ASYNC_STD_THREAD_COUNT: 4 | ||
# - name: Run doctests | ||
# uses: actions-rs/cargo@v1 | ||
# with: | ||
# command: test | ||
# args: --doc | ||
# env: | ||
# ASYNC_STD_THREAD_COUNT: 4 | ||
# - name: Find files matching "zfctl.json" | ||
# uses: jeertmans/filesfinder@latest | ||
# id: ff # Any id, to be used later to reference to files output | ||
# with: | ||
# # Only argument, a single string, to be passed as arguments to ff. | ||
# # See `ff --help` for more help. | ||
# # Default: "*" | ||
# args: "zfctl.json" | ||
# - name: Print files matching "zfctl.json" | ||
# run: echo "${{ steps.ff.outputs.files }}" | ||
# - name: Find files matching "zenohd" | ||
# uses: jeertmans/filesfinder@latest | ||
# id: pp # Any id, to be used later to reference to files output | ||
# with: | ||
# # Only argument, a single string, to be passed as arguments to ff. | ||
# # See `ff --help` for more help. | ||
# # Default: "*" | ||
# args: "zenohd" | ||
# - name: Print files matching "zenohd" | ||
# run: echo "${{ steps.pp.outputs.files }}" | ||
# - name: Change directory --> from Zenoh-Flow/Zenoh-Flow to Home directory | ||
# run: | | ||
# cd .. | ||
# cd .. | ||
# #it works | ||
# - name: Check out my other private repo | ||
# uses: actions/checkout@master | ||
# with: | ||
# repository: eclipse-zenoh/zenoh | ||
#but this is better | ||
- name: Clone Repository | ||
run: git clone -b '0.7.2-rc' https://github.com/eclipse-zenoh/zenoh.git ./../../zenoh | ||
#uses: actions/checkout@master | ||
# path: main | ||
# ref: b9103c3 | ||
# token: ${{ secrets.PAT }} | ||
# token: ${{ github.token }} | ||
# - name: Change directory --> from Home directory to zenoh | ||
# run: cd zenoh | ||
# - name: git | ||
# run: git checkout 0.7.2-rc | ||
# - name: Change directory --> from Zenoh-Flow to Home directory | ||
# run: | | ||
# cd .. | ||
# cd .. | ||
# - name: Pwd | ||
# run: pwd | ||
# - name: Change directory --> from Zenoh-Flow to Home directory | ||
# run: cd zenoh | ||
# - name: Pwd | ||
# run: pwd | ||
# - name: Build Zenoh | ||
# uses: actions-rs/cargo@v1 | ||
# with: | ||
# command: build | ||
# args: --verbose --all-targets | ||
# - if: matrix.os == 'macOS-latest' | ||
# name: Free Disk Space (macOS) | ||
# run: | | ||
# top -l 1 -s 0 | grep PhysMem | ||
# sysctl -a | awk '/hw./' && '/mem/' | ||
# top -l 1 -s 0 | grep PhysMem | ||
# - if: matrix.os == 'ubuntu-latest' | ||
# name: Free Disk Space (Ubuntu) | ||
# uses: jlumbroso/free-disk-space@main | ||
# with: | ||
# # this might remove tools that are actually needed, | ||
# # if set to "true" but frees about 6 GB | ||
# tool-cache: true | ||
- name: Free Disk Space (Ubuntu) | ||
uses: jlumbroso/free-disk-space@main | ||
with: | ||
# this might remove tools that are actually needed, | ||
# if set to "true" but frees about 6 GB | ||
tool-cache: true | ||
- name: Build Zenoh | ||
working-directory: ./../../zenoh | ||
run: cargo build --all-targets | ||
- name: Install Python package | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.x" | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r manual-tests/requirements.txt | ||
- name: Run Python automated-test.py script | ||
run: | | ||
output=$(python3 manual-tests/automated-test.py --build release --zenohd zenoh/target/debug/zenohd --zfctl zenoh-flow/release/debug/zfctl) |