Skip to content

Commit 60ce0e8

Browse files
authored
Merge pull request #493 from devosoft/update-MABE_devel
Sync master into MABE_devel
2 parents 705ed80 + 51415be commit 60ce0e8

File tree

185 files changed

+296
-20
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+296
-20
lines changed

Diff for: .github/workflows/CI.yml

+53-8
Original file line numberDiff line numberDiff line change
@@ -104,25 +104,61 @@ jobs:
104104
- run: export CXX=clang++ && make install-coverage-dependencies
105105
- run: export CXX=clang++ && make coverage
106106
- run: curl -s https://codecov.io/bash | bash
107+
# adapted from https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#publishing-a-package-using-an-action
108+
build-container:
109+
name: Build Docker Image
110+
runs-on: ubuntu-22.04
111+
env:
112+
REGISTRY: ghcr.io
113+
IMAGE_NAME: ${{ github.repository }}
114+
permissions:
115+
contents: read
116+
packages: write
117+
steps:
118+
- uses: actions/checkout@v2
119+
with:
120+
submodules: 'recursive'
121+
- name: Log in to GitHub Container Registry
122+
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
123+
with:
124+
registry: ghcr.io
125+
username: ${{ github.actor }}
126+
password: ${{ secrets.GITHUB_TOKEN }}
127+
- name: Extract metadata (tags, labels) for Docker
128+
id: meta
129+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
130+
with:
131+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
132+
tags: type=raw,value=ACTIONS_BUILD_${{ github.run_number }}
133+
- name: Push to GHCR
134+
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
135+
with:
136+
context: .
137+
push: true
138+
tags: ${{ steps.meta.outputs.tags }}
139+
labels: ${{ steps.meta.outputs.labels }}
107140
test-documentation:
108141
name: Test Documentation Build
109142
runs-on: ubuntu-22.04
143+
needs: build-container
144+
container:
145+
image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_number }}
146+
# github actions requires root to access mounted volumes
147+
options: --user root
110148
steps:
111-
- uses: actions/checkout@v2
149+
- uses: actions/checkout@v1
112150
with:
113151
submodules: 'recursive'
114-
- uses: mmore500/actions-setup-docker@94429ebc8d9edb4e8c8afb2667bce1e89435f74f
115-
- run: docker build -t devosoft/empirical .
116-
- run: docker ps -a
117-
- run: sudo docker run --name empirical devosoft/empirical /bin/bash -c "set -o pipefail && cd /opt/Empirical/doc && make html coverage | ./headtail.sh && python /opt/Empirical/doc/parse_documentation_coverage.py /opt/Empirical/doc/_build/doc-coverage.json >> /opt/Empirical/doc-coverage.json"
118-
- run: sudo docker cp empirical:/opt/Empirical/doc-coverage.json .
152+
- run: |
153+
make -C doc html coverage | ./doc/headtail.sh
154+
python doc/parse_documentation_coverage.py doc/_build/doc-coverage.json >> doc-coverage.json
119155
- uses: sylvanld/action-storage@v1
120156
if: github.ref == 'refs/heads/master'
121157
with:
122158
src: doc-coverage.json
123159
dst: stats/doc-coverage.json
124-
deploy-dockerhub:
125-
name: Deploy to DockerHub
160+
deploy-container:
161+
name: Deploy to DockerHub and ghcr.io
126162
runs-on: ubuntu-22.04
127163
if: github.ref == 'refs/heads/master'
128164
needs:
@@ -144,3 +180,12 @@ jobs:
144180
password: ${{ secrets.DOCKER_PASSWORD }}
145181
repository: devosoft/empirical
146182
tag_with_ref: true
183+
- name: Push to GHCR
184+
uses: docker/build-push-action@v1
185+
with:
186+
context: .
187+
push: true
188+
username: ${{ github.actor }}
189+
password: ${{ secrets.GITHUB_TOKEN }}
190+
repository: devosoft/empirical
191+
tag_with_ref: true

Diff for: .readthedocs.yml renamed to .readthedocs.yaml

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
# .readthedocs.yml
1+
# .readthedocs.yaml
22
# Read the Docs configuration file
33
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
44

55
#Required
66
version: 2
77

8+
build:
9+
os: ubuntu-22.04
10+
tools:
11+
python: "3.7"
12+
813
# Build documentation in the docs/ directory with Sphinx
914
sphinx:
1015
configuration: doc/conf.py
@@ -14,6 +19,5 @@ formats: []
1419

1520
# Optionally set the version of Python and requirements required to build your docs
1621
python:
17-
version: 3.7
1822
install:
1923
- requirements: doc/requirements.txt

Diff for: doc/requirements.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ sphinx==3.2.1
22
exhale==0.2.3
33
sphinx-rtd-theme==0.5.0
44
coverxygen==1.5.0
5-
breathe==4.22.1
5+
breathe==4.26.1
66
myst-parser==0.12.9
77
# @mmore500 2021-10
88
# docutils 0.18.0 crashes docs build due to exception

Diff for: doc/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ babel==2.9.1
1212
# via sphinx
1313
beautifulsoup4==4.10.0
1414
# via bs4
15-
breathe==4.22.1
15+
breathe==4.26.1
1616
# via
1717
# -r requirements.in
1818
# exhale

Diff for: include/emp/Evolve/NK-const.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#define EMP_EVOLVE_NK_CONST_HPP_INCLUDE
1515

1616
#include <array>
17+
#include <stddef.h>
1718

1819
#include "../base/assert.hpp"
1920
#include "../bits/BitSet.hpp"

Diff for: include/emp/Evolve/NK.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#define EMP_EVOLVE_NK_HPP_INCLUDE
2020

2121
#include <array>
22+
#include <stddef.h>
2223

2324
#include "../base/vector.hpp"
2425
#include "../bits/BitVector.hpp"

Diff for: include/emp/Evolve/OEE.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#define EMP_EVOLVE_OEE_HPP_INCLUDE
1212

1313
#include <deque>
14+
#include <stddef.h>
1415

1516
#include "../base/Ptr.hpp"
1617
#include "../base/vector.hpp"

Diff for: include/emp/Evolve/Resource.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#ifndef EMP_EVOLVE_RESOURCE_HPP_INCLUDE
1616
#define EMP_EVOLVE_RESOURCE_HPP_INCLUDE
1717

18+
#include <stddef.h>
1819

1920
#include "World.hpp"
2021

Diff for: include/emp/Evolve/StateGrid.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222

2323
#include <map>
24+
#include <stddef.h>
2425
#include <string>
2526

2627
#include "../base/assert.hpp"

Diff for: include/emp/Evolve/Systematics.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <ostream>
2929
#include <set>
3030
#include <sstream>
31+
#include <stddef.h>
3132
#include <string>
3233
#include <unordered_set>
3334

Diff for: include/emp/Evolve/World.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
#include <functional>
2828
#include <map>
29+
#include <stddef.h>
2930
#include <unordered_map>
3031

3132
#include "../base/Ptr.hpp"

Diff for: include/emp/Evolve/World_iterator.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
#ifndef EMP_EVOLVE_WORLD_ITERATOR_HPP_INCLUDE
1616
#define EMP_EVOLVE_WORLD_ITERATOR_HPP_INCLUDE
1717

18+
#include <stddef.h>
19+
1820
#include "../base/Ptr.hpp"
1921

2022
namespace emp {

Diff for: include/emp/Evolve/World_output.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
#ifndef EMP_EVOLVE_WORLD_OUTPUT_HPP_INCLUDE
1313
#define EMP_EVOLVE_WORLD_OUTPUT_HPP_INCLUDE
1414

15+
#include <stddef.h>
16+
1517
#include "../base/vector.hpp"
1618
#include "../data/DataFile.hpp" // Helper to determine when specific events should occur.
1719
#include "../tools/string_utils.hpp"

Diff for: include/emp/Evolve/World_select.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#include <functional>
1414
#include <map>
15+
#include <stddef.h>
1516

1617
#include "../base/array.hpp"
1718
#include "../base/assert.hpp"

Diff for: include/emp/Evolve/World_structure.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
#ifndef EMP_EVOLVE_WORLD_STRUCTURE_HPP_INCLUDE
1111
#define EMP_EVOLVE_WORLD_STRUCTURE_HPP_INCLUDE
1212

13+
#include <cstdint>
1314
#include <set>
15+
#include <stddef.h>
1416

1517
#include "../base/array.hpp"
1618
#include "../base/assert.hpp"

Diff for: include/emp/base/Ptr.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#define EMP_BASE_PTR_HPP_INCLUDE
3232

3333
#include <cstring>
34+
#include <stddef.h>
3435
#include <unordered_map>
3536

3637
#include "assert.hpp"

Diff for: include/emp/base/_emscripten_assert_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
#include <iostream>
1515
#include <sstream>
16+
#include <stddef.h>
1617
#include <string>
1718

1819
#include <emscripten.h>

Diff for: include/emp/base/_emscripten_error_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#define EMP_BASE__EMSCRIPTEN_ERROR_TRIGGER_HPP_INCLUDE
1414

1515
#include <iostream>
16+
#include <stddef.h>
1617
#include <string>
1718

1819
namespace emp {

Diff for: include/emp/base/_native_assert_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
#include <iostream>
1515
#include <sstream>
16+
#include <stddef.h>
1617
#include <string>
1718

1819
#include "_is_streamable.hpp"

Diff for: include/emp/base/_native_error_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#define EMP_BASE__NATIVE_ERROR_TRIGGER_HPP_INCLUDE
1313

1414

15+
#include <stddef.h>
1516
#include <string>
1617

1718
namespace emp {

Diff for: include/emp/base/_tdebug_assert_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#ifndef EMP_BASE__TDEBUG_ASSERT_TRIGGER_HPP_INCLUDE
1212
#define EMP_BASE__TDEBUG_ASSERT_TRIGGER_HPP_INCLUDE
1313

14+
#include <stddef.h>
1415
#include <string>
1516

1617
namespace emp {

Diff for: include/emp/base/_tdebug_error_trigger.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#define EMP_BASE__TDEBUG_ERROR_TRIGGER_HPP_INCLUDE
1313

1414

15+
#include <stddef.h>
1516
#include <string>
1617

1718
namespace emp {

Diff for: include/emp/base/array.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#include <array>
2222
#include <initializer_list>
2323
#include <iterator>
24+
#include <stddef.h>
25+
#include <vector>
2426

2527
#include "../../../third-party/cereal/include/cereal/cereal.hpp"
2628

Diff for: include/emp/base/errors.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#include <iostream>
4343
#include <map>
4444
#include <sstream>
45+
#include <stddef.h>
4546
#include <string>
4647

4748
/// If we are in emscripten, make sure to include the header.

Diff for: include/emp/base/map.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include <initializer_list>
2121
#include <map>
22+
#include <stddef.h>
2223

2324
#include "assert.hpp"
2425
#include "MapProxy.hpp"

Diff for: include/emp/base/optional.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#define EMP_BASE_OPTIONAL_HPP_INCLUDE
1616

1717
#include <optional>
18+
#include <stddef.h>
1819
#include <type_traits>
1920
#include <utility>
2021

Diff for: include/emp/base/unordered_map.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#define EMP_BASE_UNORDERED_MAP_HPP_INCLUDE
1313

1414
#include <initializer_list>
15+
#include <stddef.h>
1516
#include <unordered_map>
1617

1718
#include "assert.hpp"

Diff for: include/emp/base/vector.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include <initializer_list>
2424
#include <iterator>
25+
#include <stddef.h>
2526
#include <utility>
2627
#include <vector>
2728

Diff for: include/emp/bits/BitArray.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@
1717

1818

1919
#include <bitset>
20+
#include <cstdint>
2021
#include <cstring>
2122
#include <initializer_list>
2223
#include <iostream>
2324
#include <span>
25+
#include <stddef.h>
2426

2527
#include "../base/assert.hpp"
2628
#include "../base/Ptr.hpp"

Diff for: include/emp/bits/BitMatrix.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#define EMP_BITS_BITMATRIX_HPP_INCLUDE
1313

1414
#include <iostream>
15+
#include <stddef.h>
1516
#include <typeinfo>
1617

1718

Diff for: include/emp/bits/BitSet.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#ifndef EMP_BITS_BITSET_HPP_INCLUDE
1313
#define EMP_BITS_BITSET_HPP_INCLUDE
1414

15+
#include <stddef.h>
1516

1617
#include "BitArray.hpp"
1718

Diff for: include/emp/bits/BitVector.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@
3030

3131

3232
#include <bitset>
33+
#include <cstdint>
3334
#include <cstring>
3435
#include <initializer_list>
3536
#include <iostream>
3637
#include <span>
38+
#include <stddef.h>
3739

3840
#include "../base/assert.hpp"
3941
#include "../base/Ptr.hpp"

Diff for: include/emp/bits/_bitset_helpers.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#ifndef EMP_BITS__BITSET_HELPERS_HPP_INCLUDE
1111
#define EMP_BITS__BITSET_HELPERS_HPP_INCLUDE
1212

13+
#include <stddef.h>
1314

1415
namespace emp {
1516

Diff for: include/emp/bits/bitset_utils.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <algorithm>
1515
#include <cstdint> // uint8_t, uint16_t, etc.
1616
#include <sstream>
17+
#include <stddef.h>
1718
#include <string>
1819

1920
#include "../base/Ptr.hpp"

Diff for: include/emp/compiler/DFA.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
#ifndef EMP_COMPILER_DFA_HPP_INCLUDE
1212
#define EMP_COMPILER_DFA_HPP_INCLUDE
1313

14+
#include <cstdint>
1415
#include <limits>
16+
#include <stddef.h>
1517
#include <string>
1618

1719
#include "../base/array.hpp"

0 commit comments

Comments
 (0)