Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create demos #5

Open
wants to merge 296 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 111 commits
Commits
Show all changes
296 commits
Select commit Hold shift + click to select a range
d128194
Call python3 instead of python
rodsan0 May 11, 2021
e64f9a1
Install python reqs from third-party instead
rodsan0 May 11, 2021
fc423ca
Run changing-enviroment demo for longer
rodsan0 May 11, 2021
a28bc57
Ignore .csv files in demos subdirectories
rodsan0 May 11, 2021
afed4b6
Run demos on both clang and gcc
rodsan0 May 11, 2021
eefcfda
Increase updates once again
rodsan0 May 11, 2021
5ff6121
Strip trailing whitespace
rodsan0 May 11, 2021
d6b5ce4
Alphabetize includes
rodsan0 May 11, 2021
7a814fb
Make population size a constant
rodsan0 May 12, 2021
e0bb7ef
Make population size a config parameter
rodsan0 May 13, 2021
9ed249e
Make filename configurable
rodsan0 May 13, 2021
4847ce3
Exit early if threshold fitness is reached
rodsan0 May 13, 2021
920ca06
Comment out printing of pop fitness
rodsan0 May 13, 2021
b93c25b
Add missing comma
rodsan0 May 13, 2021
86bf42c
Move early exit check after loop
rodsan0 May 13, 2021
03e7d4a
Initial binder/ commit
rodsan0 May 14, 2021
ae2071c
Execite notebooks in Github CI
rodsan0 May 18, 2021
386694e
Update clear_notebooks to fix whitespace errors
rodsan0 May 18, 2021
9e89f92
Update changing-enviroment notebook and clear it
rodsan0 May 18, 2021
655d628
Remove Untitled notebook
rodsan0 May 18, 2021
aab8157
Ignore binder teeplots
rodsan0 May 18, 2021
d9a43c9
Ignore Jupyter Notebook cache
rodsan0 May 18, 2021
d840827
Remove cache
rodsan0 May 18, 2021
925984d
Only output time if t is valid
rodsan0 May 18, 2021
d2aeafc
Implement early-exit for signal-counting problem
rodsan0 May 18, 2021
9072fb3
Add new pip requirement
rodsan0 May 18, 2021
9a78093
Update binder container to Ubuntu 18.04
rodsan0 May 18, 2021
d6b4905
Build, push and use Docker container throughout CI
rodsan0 May 18, 2021
b2138ff
Merge remote-tracking branch 'origin' into demos
rodsan0 May 18, 2021
ce3193c
Add container image to binder recipe
rodsan0 May 18, 2021
c335492
Update requirements.txt
rodsan0 May 18, 2021
ce7db14
Add teeplot to requirements
rodsan0 May 18, 2021
20e1384
Remove plots
rodsan0 May 18, 2021
faeadc8
Update requirements.in
rodsan0 May 18, 2021
7cdaa3f
Fix missing newlines
rodsan0 May 19, 2021
2e8b067
Add K16 data
rodsan0 May 19, 2021
6a895f3
Matrixify github actions workflow
rodsan0 May 19, 2021
d8601a5
Fix old dishtiny path
rodsan0 May 19, 2021
f605d29
Remove old data files
rodsan0 May 19, 2021
2c53634
Add new changing-enviroment data
rodsan0 May 19, 2021
edbf151
Use latest data in changing-enviroment notebook
rodsan0 May 19, 2021
dd68dfe
Add Dockerhub badge
rodsan0 May 19, 2021
63def7c
Add missing $
rodsan0 May 19, 2021
ed0139e
Add second argument to set demo filename for tests
rodsan0 May 19, 2021
82a347e
Containerize misc build workflow
rodsan0 May 19, 2021
fbee736
Chain misc commands together
rodsan0 May 19, 2021
b224cd5
Fix action names
rodsan0 May 19, 2021
74deea4
Indent misc action correctly
rodsan0 May 19, 2021
f7448f3
Containerize github workflow actions
rodsan0 May 20, 2021
7fa6a2d
Close matrix expression correctly
rodsan0 May 20, 2021
457ad73
Lower expected fitness of signal-counting demo
rodsan0 May 20, 2021
f73f768
Use Codecov action instead of bash script
rodsan0 May 21, 2021
6cfd4ee
Search for code coverage reports in correct folder
rodsan0 May 21, 2021
6240553
Add Binderhub badge
rodsan0 May 24, 2021
5ea2e02
Run source without root
rodsan0 May 24, 2021
2429aa9
Revert to old-style container for source job
rodsan0 May 24, 2021
f349780
Make population size a constant
rodsan0 May 24, 2021
18d504b
Rename signal-counting to contextual-signal
rodsan0 May 24, 2021
c31b6c7
Seed random number generator from config param
rodsan0 May 24, 2021
d044edf
Add logging filename config param
rodsan0 May 24, 2021
51496e3
Fix expected fitness csv filename
rodsan0 May 25, 2021
590d4de
Move static config to config.hpp
rodsan0 May 26, 2021
cc987bf
Add ToggleableRegulator and create an OpLib for it
rodsan0 May 26, 2021
a5f3e72
Create config option to toggle regulation
rodsan0 May 26, 2021
f762640
Use ToggleRegulationOpLibrary instead
rodsan0 May 26, 2021
7cdf196
Comment out random instructions
rodsan0 May 27, 2021
f57d5f6
Evaluate fitness four times
rodsan0 May 27, 2021
3568486
Fix exit trap
rodsan0 May 27, 2021
9d54214
Add newline
rodsan0 Jul 14, 2021
8b30c16
Change std::endl to /n
rodsan0 Jul 14, 2021
9455aab
Add period at the end of line.
rodsan0 Jul 14, 2021
006e118
Add READMEs.md
rodsan0 Jul 15, 2021
42518fa
Update jupyter notebook to reflect directory change
rodsan0 Jul 15, 2021
b33a6f1
Commit data
rodsan0 Aug 3, 2021
899c3f0
Label data with commit hash
rodsan0 Aug 3, 2021
12d98f7
Create README.md
mmore500 Aug 10, 2021
e59bf08
Line edit
mmore500 Aug 10, 2021
f9ec60e
Remove misleading comment
mmore500 Aug 10, 2021
ce8449e
Rename demos/evolve to demos/hello-world
mmore500 Aug 10, 2021
ecfbc58
Alphabetize Makefile
mmore500 Aug 10, 2021
8138546
Plug JOSS paper
mmore500 Aug 10, 2021
54f9afb
Implement test case deserialization
mmore500 Aug 11, 2021
6920062
Reorganize project assets
mmore500 Aug 11, 2021
bb6fa76
Remove debugging code
mmore500 Aug 11, 2021
b9370cf
Add prefix testing, training sets
mmore500 Aug 11, 2021
bcc8552
Merge branch 'master' of github.com:mmore500/signalgp-lite into demos
mmore500 Aug 11, 2021
971b436
Bump conduit pin
mmore500 Aug 11, 2021
bd20848
Prepare draft boolean calculator implementation
mmore500 Aug 11, 2021
f5c4885
Add demos to docs
mmore500 Aug 12, 2021
cfbd17a
Add actions unit tests
rodsan0 Aug 9, 2021
a407283
Add binary unit tests
rodsan0 Aug 9, 2021
f4149a5
Add unary unit tests
rodsan0 Aug 9, 2021
a0da107
Add comparison unit tests
rodsan0 Aug 9, 2021
d06c124
Add nopout code
rodsan0 Aug 10, 2021
b3b05ce
Remove static operator, use static calls instead
rodsan0 Aug 10, 2021
3e42a2d
Separate fitness into training and testing
rodsan0 Aug 25, 2021
d465763
Output fitness
rodsan0 Aug 25, 2021
6e58a3d
Remove ipynb checkpoints
mmore500 Sep 2, 2021
8230589
Alphabetize includes
mmore500 Sep 2, 2021
d167111
Buff tidying and fix tidying issues
mmore500 Sep 2, 2021
b0b2e5c
Update execute_notebooks.sh
mmore500 Sep 2, 2021
024eeec
Add notebook management scripts to new directories
mmore500 Sep 2, 2021
e2b0017
fixup! Buff tidying and fix tidying issues
mmore500 Sep 2, 2021
12a84c4
Add metalog to notebooks:
mmore500 Sep 2, 2021
d3b403e
Implement Lexicase
rodsan0 Sep 2, 2021
bf566c5
Try and use Lexicase
rodsan0 Sep 13, 2021
762e136
Add global memory and getters/setters
rodsan0 Sep 14, 2021
6ffba30
Fix global memory
rodsan0 Sep 23, 2021
8c7568a
Add verbose outputs
rodsan0 Sep 23, 2021
7fd511e
Add more verbose outputs
rodsan0 Sep 23, 2021
200a6fa
Add global registers
rodsan0 Sep 23, 2021
db8f7a4
Use unsigned operations instead
rodsan0 Sep 23, 2021
1fa673a
Include unsigned arithmetic in operations
rodsan0 Sep 23, 2021
f707311
Add unsigned binary ops
rodsan0 Sep 23, 2021
91d57f8
Add .pdfs
rodsan0 Oct 18, 2021
ed92ec1
Merge branch 'master' of github.com:mmore500/signalgp-lite into demos
rodsan0 Oct 21, 2021
4eb8e9c
Fix incomplete merge
mmore500 Oct 24, 2021
d751ab8
Alphabetize imports, includes
mmore500 Oct 24, 2021
294274c
Exclude third-party/ and teeplots/ recursivly
mmore500 Oct 24, 2021
dc86ad9
Fix indentation
mmore500 Oct 24, 2021
b1bbae3
Try workaround for npm permissions bug
mmore500 Oct 24, 2021
1a1f685
Strip duplicated lines from merge mistake
mmore500 Oct 24, 2021
9f298d8
Use ec if editorconfig-checker missing
mmore500 Oct 24, 2021
d6e7c4f
Try specifying "user" as user
mmore500 Oct 24, 2021
39f6b6c
Try undoing github actions HOME override
mmore500 Oct 24, 2021
bd88c59
Strip dead code
mmore500 Oct 24, 2021
f20fe63
Strip recipe for nonexistent inst
mmore500 Oct 24, 2021
9821555
Add workaround for clang standards stickling
mmore500 Oct 24, 2021
e83a13c
Fix whitespace
mmore500 Oct 24, 2021
7fcd85f
fixup! Fix incomplete merge
mmore500 Oct 25, 2021
a174200
Remove errantly copy/pasted notebook
mmore500 Oct 25, 2021
6bac5c1
fixup! Fix incomplete merge
mmore500 Oct 25, 2021
8949bb0
Add nand test program
rodsan0 Nov 11, 2021
813483c
Add GetInput/SetOutput
rodsan0 Nov 11, 2021
158ad69
Fixup Organism for manual program tests
rodsan0 Nov 11, 2021
0bdecef
Remove SetState
rodsan0 Nov 11, 2021
5771168
Use Nand function
rodsan0 Nov 11, 2021
85efe19
Add BitwiseNand to bitwise operations
rodsan0 Nov 11, 2021
5045f68
Remove whitespace
rodsan0 Nov 11, 2021
a3e5460
Add BitwiseNand
rodsan0 Nov 11, 2021
843ca97
Reorder includes in bitwise/
rodsan0 Dec 18, 2021
94c1be5
Add memory operations
rodsan0 Dec 18, 2021
ccc0bce
Test BitwiseNand
rodsan0 Dec 18, 2021
898f009
Add BitwiseNand to Makefile
rodsan0 Dec 18, 2021
17257ef
Add memory/ tests
rodsan0 Dec 18, 2021
dc0cbed
Update Organism.hpp
rodsan0 Dec 18, 2021
4b15f8a
Add load_grouped_training_set
rodsan0 Dec 18, 2021
4c08841
Add memory operations and comment other bitwise
rodsan0 Dec 18, 2021
65c8ed0
Fix manual nand solution
rodsan0 Dec 18, 2021
2f96414
Reorganize boolean-calculator
rodsan0 Dec 18, 2021
0706c78
Add json containing small number of NAND testcases
rodsan0 Dec 18, 2021
ae3bff9
Serialize Organism
rodsan0 Dec 28, 2021
0d31dda
Fix ToggleableRegulator description and args
rodsan0 Dec 28, 2021
d2ef0b6
Disable mutation occurence rate
rodsan0 Dec 28, 2021
1b76c18
Enable systematics tracking
rodsan0 Dec 28, 2021
d54af7e
Tidy up boolean-calc
rodsan0 Dec 28, 2021
38bf1d6
Output programs at end of run
rodsan0 Dec 28, 2021
9431518
Temporarily stop Make from removing our binaries
rodsan0 Dec 28, 2021
cbdd715
Let `make opt` and `make` simply compile and not run
rodsan0 Dec 28, 2021
4e31f8c
Add slurm script
rodsan0 Dec 28, 2021
b93dba5
Mark slurm script executable
rodsan0 Dec 28, 2021
2f6084c
Comment all other rm -rfs
rodsan0 Dec 28, 2021
17873cc
Use MaketemplateForwarding instead of Running
rodsan0 Dec 28, 2021
2ce3749
Serialize world manually, via free function
rodsan0 Dec 30, 2021
672434a
Add kickoff and jinja scripts
rodsan0 Dec 30, 2021
a09adb7
Remove incorrect script
rodsan0 Dec 30, 2021
28605b0
Remove --shallow-submodules option
rodsan0 Dec 30, 2021
b0e8575
Fix log names
rodsan0 Dec 30, 2021
4e539b2
Fix main directory
rodsan0 Dec 30, 2021
7fe314b
Add data and source directories
rodsan0 Dec 30, 2021
9160626
Fix jinja template location
rodsan0 Dec 30, 2021
7af01a0
Update SLURM scripts
rodsan0 Dec 30, 2021
22388b7
Make type of LOGGING_FILENAME a string
rodsan0 Dec 30, 2021
db3d70f
Treat seed as int
rodsan0 Dec 30, 2021
e5731ae
Treat int as "number"
rodsan0 Dec 30, 2021
3e75c05
Fix jinja dumbness
rodsan0 Dec 30, 2021
458a90f
Fix singularity pwd
rodsan0 Dec 30, 2021
a5329b5
Update SLURM scripts
rodsan0 Dec 30, 2021
6148669
Fix kickoff script
rodsan0 Dec 30, 2021
af87b07
Add slurmscripts folder
rodsan0 Dec 30, 2021
589a830
Fix mktemp call
rodsan0 Dec 30, 2021
3245558
Revert to using preset JOB_SCRIPT path temporarily
rodsan0 Dec 30, 2021
4bde453
Add error and output flags
rodsan0 Dec 30, 2021
11f75e8
Implement SLURM script feedback
rodsan0 Dec 31, 2021
23dcfb4
Add backtrace on prod mode
rodsan0 Dec 31, 2021
a309e7c
Add backward-cpp
rodsan0 Dec 31, 2021
bf3aba4
Implement review feedback
rodsan0 Jan 3, 2022
9bd9958
Enable backtrace and add SIGINT
rodsan0 Jan 11, 2022
5a06a42
Tidy up boolean-calculator.cpp
rodsan0 Jan 11, 2022
320bec1
Add +ext= to files logged
rodsan0 Jan 11, 2022
361095e
Add sources for backtrace
rodsan0 Jan 11, 2022
f04f623
Change "type" to "a"
rodsan0 Jan 13, 2022
42008a7
Merge branch 'master' of github.com:mmore500/signalgp-lite into demos
rodsan0 Jan 13, 2022
b748896
Implement mutation in terms of new mutate/ tools
rodsan0 Jan 13, 2022
55e5794
Add config params for new mutate/ tools
rodsan0 Jan 13, 2022
63a0fcf
Remove Sequence and Mutate operators from Program
rodsan0 Jan 13, 2022
a9e137f
Merge branch 'master' of github.com:mmore500/signalgp-lite into demos
rodsan0 Jan 13, 2022
ae69720
Change program size cap name
rodsan0 Jan 13, 2022
0dcb2d0
Implement filenames as keyname filenames
rodsan0 Jan 26, 2022
0ebd2ac
Remove unused config params; add dummy param
rodsan0 Jan 26, 2022
e053d08
Add UUID and COMMIT_HASH params
rodsan0 Jan 26, 2022
7ea6cae
Bump conduit version
rodsan0 Jan 26, 2022
9eb6731
Bump conduit version
rodsan0 Jan 26, 2022
699e9ab
Add drawf to Dockerfile
rodsan0 Feb 1, 2022
75bd223
Update kickoff scripts
rodsan0 Feb 1, 2022
d670338
Add ELFUtils to package list
rodsan0 Feb 1, 2022
14f7049
Remove single quotes
rodsan0 Feb 1, 2022
5107f18
Merge branch 'master' of github.com:mmore500/signalgp-lite into demos
rodsan0 Feb 1, 2022
a1c886d
Update CI.yml
rodsan0 Feb 1, 2022
127de87
Use different package for elfutils
rodsan0 Feb 1, 2022
75db91f
Recompile requirements.txt
mmore500 Feb 7, 2022
af2bdc4
Add libelf package
rodsan0 Feb 7, 2022
8742095
Add libdw-dev package
rodsan0 Feb 7, 2022
b68a5d5
Double quote string in kickoff script
rodsan0 Feb 7, 2022
9bc5a3b
Add libomp to Dockerfile
rodsan0 Feb 7, 2022
57639b0
Add libomp5 dep
rodsan0 Feb 8, 2022
7ecb63e
Use non-OpenMPI header instead
rodsan0 Feb 10, 2022
30d270c
Bump conduit version
rodsan0 Feb 10, 2022
d8602f0
Add updated config params
rodsan0 Feb 10, 2022
b30ac86
Use clang++ instead of g++ to get linker to work
rodsan0 Feb 10, 2022
5b2f5bd
Force use of clang++ as CXX
rodsan0 Feb 10, 2022
8d5edf6
Add GIT_REVISION to Makefile
rodsan0 Feb 24, 2022
75d3969
Remove uneeded flags from Makefile
rodsan0 Feb 24, 2022
62a4d94
Add git_revision function handler
rodsan0 Feb 24, 2022
65230c9
Add metadata to fitness and systematics files
rodsan0 Feb 24, 2022
89b49cb
Save genome as .json and metadata alongside it
rodsan0 Feb 24, 2022
779e616
Add metadata to config
rodsan0 Feb 24, 2022
7ba94a1
Fixup jinja template
rodsan0 Feb 24, 2022
45cb5cd
Fixup scripts
rodsan0 Feb 24, 2022
01db77c
Add colon
rodsan0 Feb 24, 2022
4242964
Remove underscore CXX
rodsan0 Feb 24, 2022
a9b89b9
Fix jinja
rodsan0 Feb 24, 2022
ac390e1
Add $ to env vars
rodsan0 Feb 24, 2022
4b3d84b
git_revision -> sgpl_revision where it matters
rodsan0 Mar 1, 2022
a8ec271
Change log names
rodsan0 Mar 1, 2022
fb24e51
Log cases passed by best-fit and overall pop
rodsan0 Mar 8, 2022
56b39f0
Cache grouped set properly
rodsan0 Mar 8, 2022
67cc43f
Ask for a single CPU per task
rodsan0 Mar 15, 2022
d29576f
Remove SGPL after compilation
rodsan0 Mar 15, 2022
272423d
Leave point rate constant
rodsan0 Mar 15, 2022
a7137a9
Change "genome" to "population"
rodsan0 Apr 2, 2022
5b7b450
Add old mutate
rodsan0 Apr 2, 2022
7ab9f98
Use old mutation by default
rodsan0 Apr 2, 2022
05c2a99
Add sequence_mut and CappedIt tests
rodsan0 Apr 19, 2022
d571860
Make CappedIt's remaining capacity a shared_ptr
rodsan0 Apr 19, 2022
692b044
Add second variation of make production
rodsan0 Apr 19, 2022
a2ecf80
Comment out unused logging in boolean-calculator
rodsan0 Apr 19, 2022
10216a1
Serialize into std::vector to silence cereal2 errors
rodsan0 May 11, 2022
ee41bd4
Add newline
rodsan0 May 11, 2022
3745322
Add tests for determinicity
rodsan0 May 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
324 changes: 212 additions & 112 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,159 +6,259 @@ on:
branches:
- '**'
jobs:
misc:
runs-on: ubuntu-18.04
name: Docs, Miscellaneous
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && ./ci/test_trailing_whitespace.sh && ./ci/test_tabs.sh && ./ci/test_missing_newlines.sh && ./ci/test_headerguards.sh && ./ci/test_alphabetize_includes.sh && python3 ci/test_readme_snippets.py && make docs"
unit-clang-debug:
docker-build:
name: Docker Build
runs-on: ubuntu-18.04
name: Unit Tests (clang, debug mode)
env:
CXX: clang++
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN -e CXX=$CXX -i mmore500/signalgp-lite /bin/bash -c "set -x && cd /opt/signalgp-lite/tests && make"
unit-gcc-debug:
runs-on: ubuntu-18.04
name: Unit Tests (gcc, debug mode)
env:
CXX: g++
steps:
- uses: actions/checkout@v2
fetch-depth: 0 # fetch all history for all branches and tags
- name: Push to Docker Hub
uses: docker/build-push-action@v1
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN -e CXX=$CXX -i mmore500/signalgp-lite /bin/bash -c "set -x && cd /opt/signalgp-lite/tests && make"
unit-clang-opt:
push: true
tags: "GITHUB_ACTION_${{ github.run_number }}"
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: mmore500/signalgp-lite
add_git_labels: true
misc:
runs-on: ubuntu-18.04
name: Unit Tests (clang, opt mode)
env:
CXX: clang++
needs:
- docker-build
name: Docs, Miscellaneous
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN
env:
CXX: clang++
CONTEXT: travis
steps:
- uses: actions/checkout@v2
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN -e CXX=$CXX -i mmore500/signalgp-lite /bin/bash -c "set -x && cd /opt/signalgp-lite/tests && make opt"
unit-gcc-opt:
access_token: ${{ github.token }}
- run: |
cd /opt/signalgp-lite
./ci/test_trailing_whitespace.sh
./ci/test_tabs.sh
./ci/test_missing_newlines.sh
./ci/test_headerguards.sh
./ci/test_alphabetize_includes.sh
python3 ci/test_readme_snippets.py
make docs

unit-tests:
runs-on: ubuntu-18.04
name: Unit Tests (gcc, opt mode)
env:
CXX: g++
name: Unit Tests
needs:
- docker-build
strategy:
matrix:
cxx: [clang++, g++]
mode: [opt, test]
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN
env:
CXX: ${{ matrix.cxx }}
CONTEXT: travis
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN -e CXX=$CXX -i mmore500/signalgp-lite /bin/bash -c "set -x && cd /opt/signalgp-lite/tests && make opt"
- run: |
set -x
cd /opt/signalgp-lite/tests
make ${{ matrix.mode }}

coverage:
runs-on: ubuntu-18.04
name: Coverage
env:
CXX: clang++
needs:
- docker-build
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN
env:
CXX: clang++
CONTEXT: travis
steps:
- uses: actions/checkout@v2
- run: cd /opt/signalgp-lite && make coverage
- uses: codecov/codecov-action@v1
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: ci_env=`bash <(curl -s https://codecov.io/env)`
- run: sudo docker run $ci_env -e CXX=$CXX mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && make coverage && bash <(curl -s https://codecov.io/bash)"
fail_ci_if_error: true
verbose: true
directory: /opt/signalgp-lite

fuzzing:
runs-on: ubuntu-18.04
name: Fuzzing
needs:
- docker-build
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
env:
CXX: clang++
CONTEXT: travis
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -e CXX=$CXX -e CONTEXT=travis mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite/fuzzing && make && make opt"
- run: |
cd /opt/signalgp-lite/fuzzing
make
make opt

microbenchmarks:
runs-on: ubuntu-18.04
name: Microbenchmarks
env:
CXX: clang++
OSF_PASSWORD: ${{ secrets.OSF_PASSWORD }}
needs:
- docker-build
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN
env:
CXX: clang++
CONTEXT: travis
OSF_USERNAME: ${{ secrets.OSF_USERNAME }}
OSF_PASSWORD: ${{ secrets.OSF_PASSWORD }}
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run -e CXX=$CXX -e OSF_PASSWORD=$OSF_PASSWORD -e CONTEXT=travis mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite/microbenchmarks && make"
source-clang:
- run: |
cd /opt/signalgp-lite/microbenchmarks
make

source:
runs-on: ubuntu-18.04
name: Source (clang)
name: Source
needs:
- docker-build
strategy:
matrix:
cxx: [clang++, g++]
env:
CXX: clang++
CXX: ${{ matrix.cxx }}
CONTEXT: travis
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && make test"
source-gcc:
- run: sudo docker run --cap-add=SYS_ADMIN mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }} /bin/bash -c "cd /opt/signalgp-lite && make test"

# https://github.community/t/eacces-permission-denied-how-to-solve/16549
# source:
# runs-on: ubuntu-18.04
# name: Source
# needs:
# - docker-build
# strategy:
# matrix:
# cxx: [clang++, g++]
# container:
# image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# options: --cap-add=SYS_ADMIN
# env:
# CXX: ${{ matrix.cxx }}
# CONTEXT: travis
# steps:
# - run: |
# cd /opt/signalgp-lite
# make test

demos:
runs-on: ubuntu-18.04
name: Source (gcc)
env:
CXX: g++
name: Run demos
needs:
- docker-build
strategy:
matrix:
cxx: [clang++, g++]
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root --cap-add=SYS_ADMIN
env:
CXX: ${{ matrix.cxx }}
CONTEXT: travis
steps:
- uses: actions/checkout@v2
- run: |
cd /opt/signalgp-lite/demos
make opt

binder:
name: Notebooks
runs-on: ubuntu-18.04
needs:
- docker-build
container:
image: mmore500/signalgp-lite:GITHUB_ACTION_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root
steps:
- run: /opt/signalgp-lite/binder/execute_notebooks.sh
- run: git init
- uses: fregante/setup-git-user@v1
- run: git commit --allow-empty -m "Initial commit"
- run: cp -r /opt/signalgp-lite/ deploy/
- uses: JamesIves/github-pages-deploy-action@4.0.0
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: sudo docker run --cap-add=SYS_ADMIN mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && make test"
branch: binder # The branch the action should deploy to.
folder: deploy # The folder the action should deploy.

deploy-github-pages:
runs-on: ubuntu-18.04
name: Deploy to GitHub Pages
container:
image: mmore500/conduit:GITHUB_ACTION_${{ github.run_number }}
env:
OSF_PASSWORD: ${{ secrets.OSF_PASSWORD }}
OSF_USERNAME: ${{ secrets.OSF_USERNAME }}
# github actions requires root to access mounted volumes
options: --user root
if: github.ref == 'refs/heads/master'
needs:
- docker-build
- misc
- unit-clang-debug
- unit-gcc-debug
- unit-clang-opt
- unit-gcc-opt
- unit-tests
- coverage
- fuzzing
- microbenchmarks
- source-clang
- source-gcc
- source
- demos
- binder
env:
GH_TOKEN: ${{ github.token }}
steps:
- run: make -C /opt/conduit/ web
- run: cp -r /opt/conduit/web/ web/
- uses: JamesIves/github-pages-deploy-action@3.7.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: web # The folder the action should deploy.
CLEAN: true # Automatically remove deleted files from the deploy branch

deploy-dockerhub:
name: Deploy to Dockerhub
runs-on: ubuntu-18.04
needs:
- docker-build
- misc
- unit-tests
- coverage
- fuzzing
- microbenchmarks
- source
- demos
- binder
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- uses: docker-practice/actions-setup-docker@v1
- run: docker build -t mmore500/signalgp-lite .
- run: docker ps -a
- run: docker run -e GH_TOKEN=$GH_TOKEN -e GITHUB_RUN_ID mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && source third-party/emsdk/emsdk_env.sh && make web && make badges && ./ci/deploy_gh_pages.sh"
- name: Push to DockerHub
uses: docker/build-push-action@v1
with:
push: true
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: mmore500/signalgp-lite
tag_with_ref: true
tag_with_sha: true
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,8 @@ doc/_build/
package-lock.json
node_modules/
coverage_include/

demos/*/*.csv

binder/results/changing-enviroment/teeplots/*
*/.ipynb_checkpoints/*
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ USER root
COPY . /opt/signalgp-lite

RUN \
pip3 install -r /opt/signalgp-lite/docs/requirements.txt \
pip3 install -r /opt/signalgp-lite/third-party/requirements.txt \
&& \
echo "installed documentation build requirements"
echo "installed build requirements"

# make sure unprivileged user has access to new files in opt
# adapted from https://stackoverflow.com/a/27703359
Expand Down
Loading