Skip to content

Commit

Permalink
Merge branch 'mabe-systematics' into sum-distance-sys
Browse files Browse the repository at this point in the history
  • Loading branch information
emilydolson authored Feb 28, 2024
2 parents 9a853af + 8301ddc commit 8f10adf
Show file tree
Hide file tree
Showing 744 changed files with 14,356 additions and 8,829 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.0.3
current_version = 1.0.0
commit = True
tag = True

Expand Down
104 changes: 88 additions & 16 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ on:
- '**'
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
jobs:
tidy:
name: Enforce Tidyness
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- run: sudo apt-get update -qq
Expand All @@ -22,12 +23,20 @@ jobs:
name: Test Tidy Enforcement on macOS
runs-on: macos-11
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
# sometimes checkout action doesn't result in clean directory?
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha || github.ref }}
submodules: 'recursive'
- run: git status --ignored
- run: brew install coreutils findutils gnu-sed gawk grep rename sphinx-doc
# adapted from https://stackoverflow.com/a/42878119
- run: brew link sphinx-doc --force
# updates PATH to use Homebrew-installed tools first
# see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path
- run: echo "/usr/local/bin:$PATH" > $GITHUB_PATH
- run: echo $PATH
- run: ./ci/test_tidy.sh
test:
name: Tests
Expand All @@ -47,13 +56,17 @@ jobs:
CXX: ${{ matrix.cxx }}
TEST_SET: ${{ matrix.test-set }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 11
- name: Set up clang
uses: egor-tensin/setup-clang@v1
with:
version: 15
- run: sudo apt-get update -qq
- run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- run: sudo apt-get update -qq
Expand All @@ -68,7 +81,7 @@ jobs:
name: Web Tests
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up GCC
Expand All @@ -86,7 +99,11 @@ jobs:
name: Measure Test Coverage
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Set up clang
uses: egor-tensin/setup-clang@v1
with:
version: 15
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- run: sudo apt-get update -qq
Expand All @@ -96,26 +113,81 @@ jobs:
- run: export CXX=clang++ && make install-coverage-dependencies
- run: export CXX=clang++ && make coverage
- run: curl -s https://codecov.io/bash | bash
# 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
build-container:
name: Build Docker Image
runs-on: ubuntu-22.04
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Log in to GitHub Container Registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: type=raw,value=ACTIONS_BUILD_${{ github.run_number }}
- name: Push to GHCR
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
test-documentation:
name: Test Documentation Build
runs-on: ubuntu-22.04
needs: build-container
container:
image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_number }}
# github actions requires root to access mounted volumes
options: --user root
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- uses: mmore500/actions-setup-docker@94429ebc8d9edb4e8c8afb2667bce1e89435f74f
- run: docker build -t devosoft/empirical .
- run: docker ps -a
- 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"
- run: sudo docker cp empirical:/opt/Empirical/doc-coverage.json .
- run: doxygen
- run: cd doc && python make_md.py
- run: cd doc && make html | ./headtail.sh
- run: cd doc && make coverage
- run: ls doc/ && ls doc/_build
- run: cd doc && python parse_documentation_coverage.py _build/doc-coverage.json >> doc-coverage.json
- uses: actions/upload-artifact@v2
with:
name: doc-coverage
path: doc/doc-coverage.json
deploy-documentation-coverage:
name: Deploy Documentation Coverage
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/master'
needs: test-documentation
steps:
- uses: actions/download-artifact@v2
with:
name: doc-coverage
path: data
- uses: sylvanld/action-storage@v1
if: github.ref == 'refs/heads/master'
with:
src: doc-coverage.json
dst: stats/doc-coverage.json
deploy-dockerhub:
name: Deploy to DockerHub
src: data/doc-coverage.json
dst: data/doc-coverage.json
deploy-container:
name: Deploy to DockerHub and ghcr.io
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
if: github.ref == 'refs/heads/master'
needs:
- tidy
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ demos/Emphatic/Emphatic
demos/Emphatic/examples/ConceptTest
demos/Emphatic/examples/ConceptTest.cpp
demos/MABE/examples/NK
demos/MAP-Elites-Arm/web/MAP-Elites-Arm.js
demos/NK.bak/
demos/NK/NK
demos/NK/web/NK.js
Expand Down Expand Up @@ -76,6 +77,13 @@ demos/NK/web/jquery-1.11.2.min.js
demos/NK/web/NK.asm.js
demos/NK/web/NK.html
demos/NK/web/NK.js.mem
demos/utils/words/Wordle/Wordle
demos/utils/words/Wordle/web/
demos/utils/words/annotate-length
demos/utils/words/has-only
demos/utils/words/wordlists/
demos/utils/words/wordplay-remove
demos/utils/words/wordplay-shuffle

doc/doxygen/
examples/*/*
Expand Down
25 changes: 25 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.10"
jobs:
pre_build:
- doxygen
- cd doc && python make_md.py

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: doc/conf.py

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: doc/requirements.txt
19 changes: 0 additions & 19 deletions .readthedocs.yml

This file was deleted.

Loading

0 comments on commit 8f10adf

Please sign in to comment.