-
Notifications
You must be signed in to change notification settings - Fork 6
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 #1 from ehb54/master
Merge ehb54/master to ultrascan3
- Loading branch information
Showing
1,378 changed files
with
534,465 additions
and
22,969 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,198 @@ | ||
# For most projects, this workflow file will not need changing; you simply need | ||
# to commit it to your repository. | ||
# | ||
# You may wish to alter this file to override the set of languages analyzed, | ||
# or to provide custom queries or build logic. | ||
# | ||
# ******** NOTE ******** | ||
# We have attempted to detect the languages in your repository. Please check | ||
# the `language` matrix defined below to confirm you have the correct set of | ||
# supported CodeQL languages. | ||
# | ||
name: "CodeQL" | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- aaron-dev-test | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: | ||
- master | ||
- aaron-dev-test | ||
schedule: | ||
- cron: '20 18 * * 1' | ||
|
||
jobs: | ||
analyze-mpi: | ||
name: Analyze mpi | ||
runs-on: ubuntu-latest | ||
permissions: | ||
security-events: write | ||
actions: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [cpp] | ||
|
||
# Specify the container in which actions will run | ||
container: | ||
image: ehb1/us3comp:latest | ||
options: --cpus 2 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
- name: Build | ||
run: | | ||
cp admin/codeql/docker/local.pri.mpi local.pri | ||
cd utils | ||
qmake | ||
make -j4 | ||
cd .. | ||
cd programs/us_mpi_analysis | ||
qmake | ||
make -j4 | ||
cd ../.. | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
|
||
analyze-gui: | ||
name: Analyze gui | ||
runs-on: ubuntu-latest | ||
permissions: | ||
security-events: write | ||
actions: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [cpp] | ||
|
||
# Specify the container in which actions will run | ||
container: | ||
image: ehb1/us3comp:latest | ||
options: --cpus 2 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
- name: Build | ||
run: | | ||
cp admin/codeql/docker/local.pri.gui local.pri | ||
git config --global --add safe.directory /__w/ultrascan3/ultrascan3 | ||
(cd programs/us && sh revision.sh) | ||
cd qwtplot3d | ||
qmake | ||
make -j4 | ||
cd .. | ||
cd utils | ||
qmake | ||
make -j4 | ||
cd .. | ||
cd gui | ||
qmake | ||
make -j4 | ||
cd .. | ||
for d in `find programs -type d -name "us*" | grep -v 'us_mpi_analysis'` | ||
do | ||
echo "*** compiling in $d ***" | ||
( cd $d && qmake && make -j4 ) | ||
done | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
|
||
analyze-somo: | ||
name: Analyze somo | ||
runs-on: ubuntu-latest | ||
permissions: | ||
security-events: write | ||
actions: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [cpp] | ||
|
||
# Specify the container in which actions will run | ||
container: | ||
image: ehb1/us3comp:latest | ||
options: --cpus 2 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
- name: Build | ||
run: | | ||
bdir=`pwd` | ||
echo $bdir | ||
pwd | ||
export ULTRASCAN=$bdir | ||
export us3=$bdir | ||
cd us_somo/develop | ||
git config --global --add safe.directory /__w/ultrascan3/ultrascan3 | ||
./revision.sh | ||
./version.sh | ||
cp $bdir/admin/codeql/docker/local.pri.somo local.pri | ||
qmake libus_somo.pro | ||
make -j4 | ||
qmake us_somo.pro | ||
make -j4 | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
unit-testing: | ||
name: Unit Testing | ||
runs-on: ubuntu-latest | ||
permissions: | ||
security-events: write | ||
actions: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [ cpp ] | ||
|
||
# Specify the container in which actions will run | ||
container: | ||
image: ehb1/us3comp:latest | ||
options: --cpus 2 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Configure and build | ||
run: | | ||
apt-get install -y cmake | ||
bdir=`pwd` | ||
echo $bdir | ||
pwd | ||
export ULTRASCAN=$bdir | ||
export us3=$bdir | ||
git config --global --add safe.directory /__w/ultrascan3/ultrascan3 | ||
mkdir -p $bdir/build | ||
cd build | ||
cmake .. | ||
make -j4 | ||
- name: Run tests | ||
run: | | ||
cd build | ||
ctest --output-on-failure -V | ||
|
||
|
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,24 @@ | ||
cmake_minimum_required(VERSION 3.21) | ||
project(UltrascanTest) | ||
|
||
set(CMAKE_CXX_STANDARD 20) | ||
set(CMAKE_CXX_STANDARD_REQUIRED True) | ||
|
||
# Enable AUTOMOC | ||
set(CMAKE_AUTOMOC ON) | ||
set(CMAKE_AUTORCC ON) | ||
set(CMAKE_AUTOUIC ON) | ||
|
||
# Enable debugging | ||
set(CMAKE_BUILD_TYPE Debug) | ||
set(CMAKE_CXX_FLAGS_DEBUG "-g") | ||
|
||
# Enable testing | ||
enable_testing() | ||
|
||
# Find Qt packages | ||
find_package(Qt5 REQUIRED COMPONENTS Core Gui Network Sql Test Xml) | ||
|
||
# Include the src subdirectory | ||
add_subdirectory(utils) | ||
add_subdirectory(test) |
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
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,52 @@ | ||
[![CodeQL](https://github.com/ehb54/ultrascan3/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/ehb54/ultrascan3/actions/workflows/codeql-analysis.yml) | ||
|
||
This is the home of the UltraScan GUI software source code. | ||
More information is available [here](https://ultrascan.aucsolutions.com) | ||
|
||
The UltraScan project is supported by NIH Funding GM120600 | ||
|
||
### Licensing | ||
|
||
This project is licensed under the Lesser General Public License (LGPL). You can find the LGPL license in the LICENSE file in the root directory of this project. | ||
|
||
This project uses the Eigen library, which is licensed under the Mozilla Public License 2.0 (MPL2). | ||
You can find the Eigen source code and license at [Eigen GitHub repository](https://gitlab.com/libeigen/eigen). | ||
|
||
### Installation | ||
|
||
The simplest way is to download and install a precompiled [binary](https://www.ultrascan3.aucsolutions.com/download.php) | ||
|
||
### Building | ||
|
||
If you wish to compile from source, here are some notes to get you started. | ||
|
||
You will need [qt5](https://doc.qt.io/qt-5/gettingstarted.html) development and [qwt](https://qwt.sourceforge.io/) installed. | ||
|
||
We typically compile from source as in [ansible roles build-qt, build-qwt & build-us3](https://github.com/KJSain/us3lims-roles/tree/master/roles) | ||
|
||
One could also take hints from this [Dockerfile](https://github.com/ehb54/ultrascan3/blob/master/admin/codeql/docker/docker/Dockerfile) which uses an Ubuntu 20.04 container and qt packages. | ||
|
||
Please create an issue or [contact us](https://www.ultrascan3.aucsolutions.com/contacts.php) if you have further questions. | ||
|
||
### Container environment | ||
|
||
Assuming you are experienced with containers... | ||
|
||
A containerized development image is also available | ||
```docker pull ehb1/us3comp``` | ||
|
||
The source is in `/ultrascan3` | ||
|
||
Run and export the containers display in Linux | ||
```docker run -it --rm -e DISPLAY=${DISPLAY} -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/home/xterm/.Xauthority --hostname $(hostname) ehb1/us3comp bash``` | ||
|
||
N.B. the `--rm` above will delete the container after you exit, so any changes will be lost after exiting. | ||
|
||
Update the ultrascan3 code ```cd /ultrascan3 && git pull``` | ||
|
||
Compile both `us` and `us3_somo` ```cd /ultrascan3 && ./makeall.sh && ./makesomo.sh``` | ||
|
||
Run the compiled application ```LD_LIBRARY_PATH=/ultrascan3/lib:/qwt-6.1.5/lib /ultrascan3/bin/us``` | ||
|
||
Note - subprocesses do not currently run in the container, so you must run any compiled application individually, e.g. `us_fematch` | ||
|
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,56 @@ | ||
FROM ubuntu:22.04 | ||
|
||
# dockerfile for us3 compiles | ||
|
||
ARG DEBIAN_FRONTEND=noninteractive | ||
|
||
# basic install stuff | ||
|
||
RUN apt-get update | ||
RUN apt-get install -y --no-install-recommends apt-utils | ||
RUN apt-get install -y build-essential | ||
RUN apt-get install -y tzdata | ||
RUN apt-get install -y software-properties-common | ||
RUN apt-get install -y bind9-host | ||
RUN apt-get install -y subversion git libssl-dev bc curl wget | ||
RUN apt-get install -y zlib1g-dev | ||
RUN apt-get install -y pkg-config | ||
RUN apt-get install -y re2c | ||
RUN apt-get install -y openssh-server | ||
RUN apt-get install -y vim | ||
RUN apt-get install -y emacs-nox | ||
RUN apt-get install -y xorg | ||
RUN apt-get install -y x11-apps | ||
RUN apt-get install -y telnet | ||
RUN apt-get install -y cmake | ||
|
||
# qt | ||
RUN apt-get install -y qtbase5-dev | ||
RUN apt-get install -y libqt5svg5-dev | ||
RUN apt-get install -y libqt5sql5-mysql | ||
RUN apt-get install -y libqt5sql5-psql | ||
RUN apt-get install -y qtmultimedia5-dev | ||
RUN apt-get install -y libqt5datavisualization5 | ||
RUN apt-get install -y libqt5datavisualization5-dev | ||
|
||
# qt support | ||
|
||
# RUN apt-get install -y libmariadbclient-dev | ||
RUN apt-get install -y libmysqlclient-dev | ||
RUN apt-get install -y mpich | ||
|
||
# install qwt | ||
RUN wget https://versaweb.dl.sourceforge.net/project/qwt/qwt/6.1.6/qwt-6.1.6.tar.bz2 | ||
RUN tar jxf qwt-6.1.6.tar.bz2 | ||
RUN cd qwt-6.1.6 && qmake && make -j12 && make install | ||
|
||
# get source | ||
RUN git clone https://github.com/ehb54/ultrascan3.git | ||
|
||
# setup initial local.pri's | ||
|
||
RUN cp /ultrascan3/admin/codeql/docker/local.pri.somo /ultrascan3/us_somo/develop/local.pri | ||
RUN cp /ultrascan3/admin/codeql/docker/local.pri.gui /ultrascan3/local.pri | ||
|
||
# somo version setup | ||
RUN cd /ultrascan3/us_somo/develop && env ULTRASCAN=/ultrascan3 ./revision.sh && env us3=/ultrascan3 ./version.sh |
Oops, something went wrong.