Skip to content

added all the files

added all the files #2

Workflow file for this run

name: "CI"
on: [push]
jobs:
Ubuntu:
runs-on: ubuntu-latest
outputs:
cache_misses: ${{ env.cache_misses }}
steps:
- uses: actions/checkout@v3
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get -y install apt-utils
sudo apt-get -y install git gcc g++ cmake python3 make ninja-build
sudo apt-get -y install tcpdump libgsl-dev libxml2-dev
sudo apt-get -y install curl unzip tar
sudo apt-get -y install ccache
- name: Get timestamp
id: time
run: python3 -c "from datetime import datetime; print('time='+datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))" >> $GITHUB_ENV
- name: Restore ccache
id: ccache
uses: actions/cache@v3
with:
path: .ccache
key: ubuntu-ci-${{env.time}}
restore-keys: ubuntu-ci-
- name: Setup ccache
run: |
ccache --set-config=cache_dir="$GITHUB_WORKSPACE/.ccache"
ccache --set-config=max_size=400M
ccache --set-config=compression=true
ccache -z
- name: Configure CMake
run: |
./ns3 configure -d release --enable-asserts --enable-examples --enable-tests --disable-werror -G"Ninja"
- name: Build ns-3
run: |
./ns3 build
- name: Print ccache statistics
id: ccache_results
run: |
ccache -s
python3 -c "import re, subprocess;print('cache_misses=%d' % int(re.findall('cache_miss(.*)', subprocess.check_output(['ccache', '--print-stats']).decode())[0]))" >> $GITHUB_ENV
- name: Run tests and examples
if: env.cache_misses != '0'
run: python3 test.py --no-build
CodeQL:
runs-on: ubuntu-latest
needs: Ubuntu
if: ${{ (needs.Ubuntu.outputs.cache_misses != '0') && (github.repository == 'nsnam/ns-3-dev-git') }}
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: 'cpp'
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get -y install apt-utils
sudo apt-get -y install git gcc g++ cmake python3 make ninja-build
sudo apt-get -y install tcpdump libgsl-dev libxml2-dev
sudo apt-get -y install curl unzip tar
sudo apt-get -y install ccache
- name: Get timestamp
id: time
run: python3 -c "from datetime import datetime; print('time='+datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))" >> $GITHUB_ENV
- name: Restore ccache
id: ccache
uses: actions/cache@v3
with:
path: .ccache
key: ubuntu-codeql-${{env.time}}
restore-keys: ubuntu-codeql-
- name: Setup ccache
run: |
ccache --set-config=cache_dir="$GITHUB_WORKSPACE/.ccache"
ccache --set-config=max_size=400M
ccache --set-config=compression=true
ccache -z
- name: Configure CMake
run: |
./ns3 configure -d release --enable-asserts --enable-examples --enable-tests --disable-werror -G"Ninja"
- name: Build ns-3
run: |
./ns3 build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
Codecov:
runs-on: ubuntu-latest
needs: Ubuntu
if: needs.Ubuntu.outputs.cache_misses != '0'
steps:
- uses: actions/checkout@v3
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get -y install apt-utils
sudo apt-get -y install git gcc g++ cmake python3 make ninja-build
sudo apt-get -y install tcpdump libgsl-dev libxml2-dev
sudo apt-get -y install curl unzip tar
sudo apt-get -y install ccache
sudo apt-get -y install lcov
- name: Get timestamp
id: time
run: python3 -c "from datetime import datetime; print('time='+datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))" >> $GITHUB_ENV
- name: Restore ccache
id: ccache
uses: actions/cache@v3
with:
path: .ccache
key: ubuntu-coverage-${{env.time}}
restore-keys: ubuntu-coverage-
- name: Setup ccache
run: |
ccache --set-config=cache_dir="$GITHUB_WORKSPACE/.ccache"
ccache --set-config=max_size=400M
ccache --set-config=compression=true
ccache -z
- name: Configure CMake
run: |
./ns3 configure --enable-asserts --enable-examples --enable-tests --disable-werror --enable-gcov -G"Ninja"
- name: Build ns-3
run: |
./ns3 build
- name: Print ccache statistics
id: ccache_results
run: |
ccache -s
python3 -c "import re, subprocess;print('cache_misses=%d' % int(re.findall('cache_miss(.*)', subprocess.check_output(['ccache', '--print-stats']).decode())[0]))" >> $GITHUB_ENV
- name: Generate coverage data and submit to codecov.io
if: env.cache_misses != '0'
run: |
./ns3 build coverage_gcc
cd ./build/coverage
bash <(curl -s https://codecov.io/bash) -f ns3.info || echo "Codecov did not collect coverage reports"
Windows_MinGW:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
- name: Install required msys2/mingw64 packages
run: |
pacman -S --noconfirm \
unzip \
tar \
mingw-w64-x86_64-curl \
mingw-w64-x86_64-binutils \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-ninja \
mingw-w64-x86_64-python \
mingw-w64-x86_64-ccache \
mingw-w64-x86_64-gsl \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-lld \
mingw-w64-x86_64-sed
pacman --noconfirm -Scc
- name: Get timestamp
id: time
run: python3 -c "from datetime import datetime; print('time='+datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))" >> $GITHUB_ENV
- name: Restore ccache
id: ccache
uses: actions/cache@v3
with:
path: .ccache
key: msys2-${{env.time}}
restore-keys: msys2-
- name: Setup ccache
run: |
ccache --set-config=cache_dir="$GITHUB_WORKSPACE/.ccache"
ccache --set-config=max_size=400M
ccache --set-config=compression=true
ccache -z
- name: Configure CMake
run: |
python3 ns3 configure -d release --enable-asserts --enable-examples --enable-tests --disable-werror -G"Ninja"
- name: Build ns-3
run: |
python3 ns3 build
- name: Print ccache statistics
id: ccache_results
run: |
ccache -s
python3 -c "import re, subprocess;print('cache_misses=%d' % int(re.findall('cache_miss(.*)', subprocess.check_output(['ccache', '--print-stats']).decode())[0]))" >> $GITHUB_ENV
- name: Run tests and examples
if: env.cache_misses != '0'
run: python3 test.py --no-build
Mac_OS_X:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install required packages
run: |
brew install ninja cmake ccache libxml2 gsl open-mpi #qt5
- name: Get timestamp
id: time
run: python3 -c "from datetime import datetime; print('time='+datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))" >> $GITHUB_ENV
- name: Restore ccache
id: ccache
uses: actions/cache@v3
with:
path: .ccache
key: osx_brew-ci-${{env.time}}
restore-keys: osx_brew-ci-
- name: Setup ccache
run: |
export PATH=/usr/local/bin:$PATH #:/usr/local/opt/qt/bin
ccache --set-config=cache_dir="$GITHUB_WORKSPACE/.ccache"
ccache --set-config=max_size=400M
ccache --set-config=compression=true
ccache -z
- name: Configure CMake
run: |
export PATH=/usr/local/bin:$PATH #:/usr/local/opt/qt/bin
./ns3 configure -d release --enable-asserts --enable-examples --enable-tests --disable-werror -G"Ninja"
- name: Build ns-3
run: |
export PATH="$PATH" #:/usr/local/opt/qt/bin
./ns3 build
- name: Print ccache statistics
id: ccache_results
run: |
ccache -s
python3 -c "import re, subprocess;print('cache_misses=%d' % int(re.findall('cache_miss(.*)', subprocess.check_output(['ccache', '--print-stats']).decode())[0]))" >> $GITHUB_ENV
- name: Run tests and examples
if: env.cache_misses != '0'
run: ./test.py --no-build