-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #765 from slaclab/v4.11.7_candidate
Limit size of running SystemLog variable
- Loading branch information
Showing
7 changed files
with
386 additions
and
273 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
[flake8] | ||
exclude = __init__.py, rogue_plugin.py | ||
############################################################# | ||
# Note: Command to remove white space at the end of lines | ||
# $ find . -type f -name "*.py" -print0 | xargs -0 sed -i 's/\s*$//g' | ||
############################################################# | ||
# E116 unexpected indentation (comment) | ||
# E128 continuation line under-indented for visual indent | ||
# E131 continuation line unaligned for hanging indent | ||
# E201 whitespace after '(' | ||
# E202 whitespace before ')' | ||
# E203 whitespace before ':' | ||
# E211 whitespace before '(' | ||
# E221 multiple spaces before operator | ||
# E222 multiple spaces after operator | ||
# E225 missing whitespace around operator | ||
# E226 missing whitespace around arithmetic operator | ||
# E227 missing whitespace around bitwise or shift operator | ||
# E228 missing whitespace around modulo operator | ||
# E231 missing whitespace after ',' | ||
# E241 multiple spaces after ',' | ||
# E251 unexpected spaces around keyword / parameter equals | ||
# E261 at least two spaces before inline comment | ||
# E262 inline comment should start with '# ' | ||
# E265 block comment should start with '# ' | ||
# E266 too many leading '#' for block comment | ||
# E272 multiple spaces before keyword | ||
# E302 expected 2 blank lines, found 1 | ||
# E303 too many blank lines | ||
# E305 expected 2 blank lines after class or function definition | ||
# E306 expected 1 blank line before a nested definition, found 0 | ||
# E501 line too long | ||
############################################################# | ||
ignore = E116,E128,E131,E201,E202,E203,E211,E221,E222,E225,E226,E227,E228,E231,E241,E251,E261,E262,E265,E266,E272,E302,E303,E305,E306,E501 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,299 @@ | ||
# ---------------------------------------------------------------------------- | ||
# Title : ROGUE GitHub Actions Script | ||
# ---------------------------------------------------------------------------- | ||
# This file is part of the rogue software package. It is subject to | ||
# the license terms in the LICENSE.txt file found in the top-level directory | ||
# of this distribution and at: | ||
# https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. | ||
# No part of the rogue software package, including this file, may be | ||
# copied, modified, propagated, or distributed except according to the terms | ||
# contained in the LICENSE.txt file. | ||
# ---------------------------------------------------------------------------- | ||
# The following environment variables are required for this process: | ||
# secrets.GH_TOKEN | ||
# secrets.CONDA_UPLOAD_TOKEN_DEV | ||
# secrets.CONDA_UPLOAD_TOKEN_TAG | ||
# secrets.DOCKERHUB_TOKEN | ||
|
||
name: Rogue Integration | ||
on: [push] | ||
|
||
jobs: | ||
full_build_test: | ||
name: Full Build Test | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
# This step checks out a copy of your repository. | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.8 | ||
|
||
- name: Setup Environment | ||
run: | | ||
EPICS_BASE=${HOME}/packages/epics/base-7.0.3 | ||
EPICS_PCAS_ROOT=${HOME}/packages/pcas/pcas-4.13.2 | ||
LD_LIBRARY_PATH=/usr/lib:${EPICS_BASE}/lib/linux-x86_64:${EPICS_PCAS_ROOT}/lib/linux-x86_64 | ||
echo "EPICS_BASE=$EPICS_BASE" >> $GITHUB_ENV | ||
echo "EPICS_PCAS_ROOT=$EPICS_PCAS_ROOT" >> $GITHUB_ENV | ||
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install doxygen doxygen-doc libzmq3-dev libboost-all-dev | ||
python -m pip install --upgrade pip | ||
pip install setuptools | ||
pip install -r pip_requirements.txt | ||
pip install codecov coverage pytest-cov flake8 | ||
- name: Install EPICS Base | ||
run: | | ||
mkdir -p ${EPICS_BASE} | ||
cd ${EPICS_BASE} | ||
pwd | ||
wget -O base-7.0.3.tar.gz https://github.com/epics-base/epics-base/archive/R7.0.3.tar.gz | ||
tar xzf base-7.0.3.tar.gz --strip 1 | ||
make clean && make && make install | ||
- name: Install EPICS PCAS | ||
run: | | ||
mkdir -p ${EPICS_PCAS_ROOT} | ||
cd ${EPICS_PCAS_ROOT} | ||
wget -O pcas-4.13.2.tar.gz https://github.com/epics-modules/pcas/archive/v4.13.2.tar.gz | ||
tar xzf pcas-4.13.2.tar.gz --strip 1 | ||
echo "EPICS_BASE=$EPICS_BASE" >> configure/RELEASE.local | ||
make clean && make && make install | ||
# Rogue | ||
- name: Build Rogue | ||
run: | | ||
python -c "import numpy; print(numpy.get_include())" | ||
mkdir build; cd build | ||
cmake .. -DROGUE_INSTALL=local | ||
make -j4 install | ||
# Run Tests | ||
- name: Rogue Tests | ||
run: | | ||
source setup_rogue.sh | ||
python -m pytest --cov | ||
# Flake 8 check | ||
- name: Flake8 Tests | ||
run: | | ||
source setup_rogue.sh | ||
python -m compileall -f ./python/ | ||
#flake8 --count ./python/ | ||
# Code Coverage | ||
- name: Code Coverage | ||
run: | | ||
source setup_rogue.sh | ||
codecov | ||
coverage report -m | ||
# Generate Documentation | ||
- name: Generate Documentation | ||
if: github.ref == 'refs/heads/documentation' | ||
run: | | ||
source setup_rogue.sh | ||
cd docs | ||
make html | ||
- name: Deploy Documentation | ||
if: github.ref == 'refs/heads/documentation' | ||
uses: peaceiris/actions-gh-pages@v3 | ||
with: | ||
github_token: ${{ secrets.GH_TOKEN }} | ||
publish_dir: docs/build/html | ||
|
||
small_build_test: | ||
name: Small Build Test | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
# This step checks out a copy of your repository. | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libzmq3-dev | ||
# Rogue | ||
- name: Build Rogue | ||
run: | | ||
mkdir build; cd build | ||
cmake .. -DROGUE_INSTALL=local -DNO_PYTHON=1 -DSTATIC_LIB=1 | ||
make -j4 install | ||
gen_release: | ||
name: Generate Release | ||
runs-on: ubuntu-latest | ||
needs: [full_build_test, small_build_test] | ||
if: startsWith(github.ref, 'refs/tags/') | ||
steps: | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.8 | ||
|
||
- name: Get Image Information | ||
id: get_image_info | ||
run: | | ||
echo ::set-output name=tag::`git describe --tags` | ||
- name: Get Ruckus | ||
run: | | ||
git clone https://github.com/slaclab/ruckus.git | ||
python -m pip install --upgrade pip | ||
pip install -r ruckus/scripts/pip_requirements.txt | ||
- name: Gen Release | ||
env: | ||
TRAVIS_REPO_SLUG: ${{ github.repository }} | ||
TRAVIS_TAG: ${{ steps.get_image_info.outputs.tag }} | ||
GH_REPO_TOKEN: ${{ secrets.GH_TOKEN }} | ||
run: | | ||
python ruckus/scripts/releaseGen.py | ||
conda_build: | ||
name: Anaconda Build | ||
needs: [full_build_test, small_build_test] | ||
if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/pre-release' | ||
strategy: | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- macos-10.15 | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
|
||
# This step checks out a copy of your repository. | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.8 | ||
|
||
- name: Setup anaconda | ||
env: | ||
OS_NAME: ${{ matrix.os }} | ||
run: | | ||
cd ${HOME} | ||
if [ $OS_NAME == "macos-10.15" ] | ||
then | ||
wget -O miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh | ||
else | ||
wget -O miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh | ||
fi | ||
bash miniconda.sh -b -p ${HOME}/miniconda | ||
export PATH="${HOME}/miniconda/bin:$PATH" | ||
source ${HOME}/miniconda/etc/profile.d/conda.sh | ||
conda config --set always_yes yes | ||
conda install conda-build anaconda-client conda-verify | ||
if [ $OS_NAME == "macos-10.15" ] | ||
then | ||
conda install libiconv libarchive -c conda-forge | ||
fi | ||
conda update -q conda conda-build | ||
conda update --all | ||
- name: Setup MacOS | ||
if: matrix.os == 'macos-10.15' | ||
run: | | ||
cd ${HOME} | ||
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.15.sdk.tar.xz | ||
tar xzf MacOSX10.15.sdk.tar.xz | ||
sudo mkdir -p /opt/ | ||
sudo mv MacOSX10.15.sdk /opt/ | ||
CONDA_BUILD_SYSROOT=/opt/MacOSX10.15.sdk | ||
CONDA_BUILD=1 | ||
echo "CONDA_BUILD_SYSROOT=$CONDA_BUILD_SYSROOT" >> $GITHUB_ENV | ||
echo "CONDA_BUILD=$CONDA_BUILD" >> $GITHUB_ENV | ||
- name: Get Image Information | ||
id: get_image_info | ||
env: | ||
CONDA_UPLOAD_TOKEN_DEV: ${{ secrets.CONDA_UPLOAD_TOKEN_DEV }} | ||
CONDA_UPLOAD_TOKEN_TAG: ${{ secrets.CONDA_UPLOAD_TOKEN_TAG }} | ||
OS_NAME: ${{ matrix.os }} | ||
run: | | ||
if [ ${GITHUB_REF} == "refs/heads/pre-release" ] | ||
then | ||
echo ::set-output name=token::$CONDA_UPLOAD_TOKEN_DEV | ||
else | ||
echo ::set-output name=token::$CONDA_UPLOAD_TOKEN_TAG | ||
fi | ||
if [ ${OS_NAME} == "macos-10.15" ] | ||
then | ||
echo ::set-output name=os::osx-64 | ||
else | ||
echo ::set-output name=os::linux-64 | ||
fi | ||
- name: Build And Upload | ||
run: | | ||
export PATH="${HOME}/miniconda/bin:$PATH" | ||
source ${HOME}/miniconda/etc/profile.d/conda.sh | ||
conda build conda-recipe --debug --output-folder bld-dir -c tidair-packages -c conda-forge | ||
anaconda -t ${{ steps.get_image_info.outputs.token }} upload --force bld-dir/${{ steps.get_image_info.outputs.os }}/*.tar.bz2 | ||
docker_build: | ||
name: Docker Build | ||
runs-on: ubuntu-latest | ||
needs: [full_build_test, small_build_test] | ||
if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/pre-release' | ||
steps: | ||
|
||
# This step checks out a copy of your repository. | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get Image Information | ||
id: get_image_info | ||
run: | | ||
echo ::set-output name=tag::`git describe --tags` | ||
echo ::set-output name=branch::`echo ${GITHUB_REF} | awk 'BEGIN { FS = "/" } ; { print $3 }'` | ||
if [ ${GITHUB_REF} == "refs/heads/pre-release" ] | ||
then | ||
echo ::set-output name=name::"rogue-dev" | ||
else | ||
echo ::set-output name=name::"rogue" | ||
fi | ||
# Setup docker build environment | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
# Login to Dockerhub | ||
- name: Login to Dockerhub | ||
uses: docker/login-action@v1 | ||
with: | ||
username: tidair | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
|
||
# Build and push the docker image | ||
- name: Build and push image to Dockerhub | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: . | ||
file: ./Dockerfile | ||
push: true | ||
tags: tidair/${{ steps.get_image_info.outputs.name }}:${{ steps.get_image_info.outputs.tag }} | ||
build-args: branch=${{ steps.get_image_info.outputs.branch }} | ||
|
Oops, something went wrong.