test: add test script #1222
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] | |
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" | |
- name: Install latest Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
# with: | |
# toolchain: 1.70.0 | |
- 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 | |
# - name: Check out my other private repo | |
# uses: actions/checkout@master | |
# with: | |
# repository: eclipse-zenoh/zenoh | |
- name: Create TEMP_DIR | |
run: | | |
echo "TEMP_DIR=$(mktemp -d)" >> $GITHUB_ENV | |
echo "${{ env.TEMP_DIR}} >> ${{ env.TEMP_DIR}}" | |
#./../../zenoh | |
- name: Clone Repository | |
run: git clone -b '0.7.2-rc' https://github.com/eclipse-zenoh/zenoh.git ${{ env.TEMP_DIR}}/zenoh | |
# - name: Rust Version | |
# run: rustc --version | |
# - name: Rust toolchain | |
# run: | | |
# rustup toolchain install 1.7.0 | |
# rustc --version | |
# - 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: Update Rust version | |
uses: DamianReeves/write-file-action@master | |
with: | |
path: ${{env.TEMP_DIR}}/zenoh/rust-toolchain | |
contents: | | |
1.70.0 | |
write-mode: overwrite | |
- name: Build Zenoh | |
run: | | |
cd ${{ env.TEMP_DIR}}/zenoh | |
cargo build --features shared-memory --all-targets | |
# export PATH="$HOME/.cargo/bin:$PATH" | |
# rustup override set 1.70.0 | |
# - 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: Print current working dir | |
# run: | | |
# cd target | |
# ls -la $PWD | |
# ls -la $GITHUB_WORKSPACE | |
- name: Print into Zenoh | |
run: | | |
cd ${{ env.TEMP_DIR}}/zenoh | |
ls -la $PWD | |
# - 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: Change directory --> from Zenoh-Flow to Home directory | |
# shell: bash | |
# run: | | |
# cd .. | |
# pwd | |
- name: Set Zenoh-Flow plugin path | |
run: | | |
cd ${{ github.workspace }} | |
echo "ZF_PLUGIN_PATH= ${{ github.workspace }}/zenoh-flow-plugin/etc/zenoh-zf-plugin.json" >> $GITHUB_ENV | |
echo ${{env.ZF_PLUGIN_PATH}} | |
# Your action in .github/workflows questo checkout che fa un "Removing previously created refs, to avoid conflicts" potrebbe portare a non avere più le cartelle disponibili | |
# - name: Checkout repository | |
# uses: | |
# actions/checkout@v2 | |
# Repository name with owner. For example, actions/checkout | |
# Default: ${{ github.repository }} | |
# - name: Find files matching "*.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: -r "zenoh-zf-plugin.json" | |
# - name: Print files | |
# run: echo "${{ steps.ff.outputs.files }}" | |
# - if: matrix.os == 'macOS-latest' | |
# name: install wget (Ubuntu) | |
# run: | | |
# brew install wget | |
# - if: matrix.os == 'ubuntu-latest' | |
# name: install wget (Ubuntu) | |
# run: | | |
# apt install wget | |
# - name: Get zenoh-zf-plugin.json | |
# run: | | |
# cd ${{ runner.workspace }} | |
# wget https://github.com/eclipse-zenoh/zenoh-flow/blob/master/zenoh-flow-plugin/etc/zenoh-zf-plugin.json | |
# ls -la $PWD | |
# echo "ZF_PLUGIN_PATH= ${{ runner.workspace }}/zenoh-zf-plugin.json" >> $GITHUB_ENV | |
#echo "ZF_PLUGIN_PATH= ${{ runner.workspace }}/zenoh-flow-plugin/etc/zenoh-zf-plugin.json" >> $GITHUB_ENV | |
- name: Set path | |
run: | | |
echo "ZENOHD_PATH=${{ env.TEMP_DIR}}/zenoh/target/debug/zenohd" >> $GITHUB_ENV | |
echo "ZFCTL_PATH= ${{ github.workspace }}/target/release/zfctl" >> $GITHUB_ENV | |
echo "PY_TEST_PATH= ${{ github.workspace }}/manual-tests/automated-test.py" >> $GITHUB_ENV | |
echo ${{env.ZENOHD_PATH}} | |
echo ${{env.ZFCTL_PATH}} | |
echo ${{env.PY_TEST_PATH}} | |
echo ${{env.ZF_PLUGIN_PATH}} | |
- name: ls runner.workspace | |
run: | | |
cd ${{ runner.workspace }} | |
ls -la $PWD | |
- name: ls github.workspace | |
run: | | |
cd ${{ github.workspace }} | |
ls -la $PWD | |
- 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: | | |
cd ${{ github.workspace }} | |
chmod u+x manual-tests/automated-test.py | |
output=$(python3 manual-tests/automated-test.py --build release --zenohd ${{env.ZENOHD_PATH}} --zfctl ${{env.ZFCTL_PATH}} --plugin ${{env.ZF_PLUGIN_PATH}} ) | |
# |