Skip to content

Commit

Permalink
enh(#319): Cmdline shortforms
Browse files Browse the repository at this point in the history
- Update all doc anchors to not use 'ln-sierra-' and '-' as separators in
  general; much better/easier to read if you use '/'. 'ln-sierra' is not needed
  either--when trying to link with SIERRA docs from a downstream project in
  sphinx, you can define the unique prefix you want to use anyway.

- Fix annoying OSX issue with some python packages being found in the system for
  a DIFFERENT python version, and the rest being found appropriately. Putting
  everything in a venv seems overkill when you also control the environment via
  github actions runner, but is needed here.
  • Loading branch information
jharwell committed Nov 20, 2024
1 parent 41176a2 commit a6567d3
Show file tree
Hide file tree
Showing 89 changed files with 621 additions and 384 deletions.
2 changes: 1 addition & 1 deletion .github/actions/sample-project-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ runs:
# 2023/1/18: You still need install these even after installing stuff
# with apt AND if the sysem python matches your current python. I don't
# know why.
pip3 install empy \
python3 -m pip install empy \
rospkg \
wheel \
pyparsing \
Expand Down
14 changes: 10 additions & 4 deletions .github/actions/sierra-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,14 @@ runs:
run: |
cd docs && make man && cd ..
python3 -m pip install .
python3 -m pip install .[devel]
# 2024-11-13 [JRH]: This works around an issue with msgpec failing to
# compile from source on OSX because of recent default compiler changes
# on OSX 13. Once a new release of mspspec is released with the fix,
# this should go away.
# python3 -m pip install git+https://github.com/jcrist/msgspec.git@main
python3 -m pip install nox coverage
# python3 -m pip install .
# python3 -m pip install .[devel]
which sierra-cli
sierra-cli --version
# which sierra-cli
# sierra-cli --version
16 changes: 8 additions & 8 deletions .github/workflows/core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/core-integration-tests.sh -f ${{ matrix.function }}
command: nox -s core_integration -p ${{ matrix.python-version }} -- -f ${{ matrix.function }}

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/${{ matrix.platform }}-integration-tests.sh -f bc_bivar_sanity_test
command: nox -s plugin_${{ matrix.platform }}_integration -p ${{ matrix.python-version }} -- -f bc_bivar_sanity_test


- uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/${{ matrix.platform }}-integration-tests.sh -f stage1_bivar_test
command: nox -s plugin_${{ matrix.platform }}_integration -p ${{ matrix.python-version }} -- -f stage1_bivar_test

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -193,7 +193,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/argos-integration-tests.sh -f stage3_univar_test
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f stage3_univar_test

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -235,7 +235,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/argos-integration-tests.sh -f stage3_bivar_test
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f stage3_bivar_test

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -277,7 +277,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/argos-integration-tests.sh -f stage4_univar_test
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f stage4_univar_test

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -318,7 +318,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/argos-integration-tests.sh -f stage5_univar_test
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f stage5_univar_test

- uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -361,7 +361,7 @@ jobs:
timeout_minutes: 3600
max_attempts: 3
shell: bash
command: ./scripts/argos-integration-tests.sh -f stage5_bivar_test
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f stage5_bivar_test

- uses: actions/upload-artifact@v3
with:
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/coverage-top.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,6 @@ jobs:
# ls -al ci-*-Linux-${{ matrix.python-version }}-coverage/.* || true
# ls -al ci-*-Linux-${{ matrix.python-version }}-coverage/* || true
echo HERE1
find . -name "ci-*-Linux-${{ matrix.python-version }}-coverage*"
echo HERE2
coverage \
combine \
$(find . -name "ci-*-Linux-${{ matrix.python-version }}-coverage*")
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
with:
timeout_minutes: 3600
max_attempts: 3
command: ./scripts/argos-integration-tests.sh -f ${{ matrix.function }} -e hpc.local
command: nox -s plugin_argos_integration -p ${{ matrix.python-version }} -- -f ${{ matrix.function }} -e hpc.local

- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -117,7 +117,10 @@ jobs:

- name: Integration tests
run: |
./scripts/ros1robot-integration-tests.sh -f ${{ matrix.function }} -e hpc.local
nox \
-s plugin_ros1robot_integration \
-p ${{ matrix.python-version }} \
-- -f ${{ matrix.function }} -e hpc.local
- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -157,7 +160,10 @@ jobs:

- name: Integration tests
run: |
./scripts/ros1gazebo-integration-tests.sh -f ${{ matrix.function }} -e hpc.local
nox \
-s plugin_ros1gazebo_integration \
-p ${{ matrix.python-version }} \
-- -f ${{ matrix.function }} -e hpc.local
- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -211,7 +217,10 @@ jobs:
- name: Integration Tests
if: matrix.platform != ''
run: |
./scripts/${{ matrix.platform }}-integration-tests.sh -f stage2_univar_test -e ${{ matrix.exec-env }}
nox \
-s plugin_${{ matrix.platform }}_integration \
-p ${{ matrix.python-version }} \
-- -f stage2_univar_test -e ${{ matrix.exec-env }}
- uses: actions/upload-artifact@v4
with:
Expand Down
2 changes: 2 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. _main:

===========================================================================
SIERRA (reSearch pIpEline for Reproducibility, Reusability, and Automation)
===========================================================================
Expand Down
4 changes: 2 additions & 2 deletions docs/man/sierra-cli.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _ln-sierra-usage-cli:
.. _usage/cli:

######################
Command Line Interface
Expand All @@ -12,7 +12,7 @@ If an option is given more than once, the last such occurrence is used.

See also :manpage:`sierra-examples`.

:seealso:`ln-sierra-examples`
:seealso:`sierra-examples`


===========
Expand Down
2 changes: 2 additions & 0 deletions docs/src/api.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _api:

=============
API Reference
=============
Expand Down
8 changes: 4 additions & 4 deletions docs/src/contributing.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _ln-sierra-contributing:
.. _contributing:

============
Contributing
Expand All @@ -11,8 +11,8 @@ All types of contributions are welcome: bugfixes, adding unit/integration tests,
etc. If you're only have a little bit of time and/or are new to SIERRA, looking
at the issues is a good place to look for places to contribute. If you have more
time and/or want to give back to the community in a bigger way, see
:ref:`ln-sierra-roadmap` for some big picture ideas about where things might be
going, and help shape the future!
:ref:`roadmap` for some big picture ideas about where things might be going, and
help shape the future!

Mechanics
=========
Expand Down Expand Up @@ -70,7 +70,7 @@ repository.
- ``models/`` - Model interfaces.

- ``pipeline/`` - Core pipline code in 5 stages (see
:ref:`ln-sierra-usage-pipeline`).
:ref:`usage/pipeline`).

- ``ros1/`` - Common :term:`ROS1` bindings.

Expand Down
7 changes: 3 additions & 4 deletions docs/src/description.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ SIERRA is a command line tool and plugin framework for:
- Improving the reproducibility of scientific research, particular in AI.

It supports a wide range of platforms, execution environments, and experiment
input/output formats--see :ref:`ln-sierra-support-matrix` for details. A short
overview of the research automation SIERRA provides is here:
:ref:`ln-sierra-usage-pipeline`. To get started, see
:ref:`ln-sierra-getting-started`.
input/output formats--see :ref:`support-matrix` for details. A short overview
of the research automation SIERRA provides is here: :ref:`usage/pipeline`. To
get started, see :ref:`getting-started`.
12 changes: 6 additions & 6 deletions docs/src/faq.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _ln-sierra-faq:
.. _faq:

===
FAQ
Expand All @@ -16,14 +16,14 @@ FAQ
A: No! Experiment execution happens in stage 2, and graph generation happens
in stage4. If you just want to add/remove lines from a graph, change the
title, formatting, etc., you can just tell SIERRA to re-run stage 4 via
``--pipeline 4``. See :ref:`ln-sierra-usage-pipeline` for more details about
``--pipeline 4``. See :ref:`usage/pipeline` for more details about
pipeline stages.

#. Q: How to I resume an experiment which got killed part of the way through by
an HPC scheduler for exceeding its job time limit ?

A: Run SIERRA just as you did before, but add ``--exec-resume``, which will
tell SIERRA to pick up where it left off. See :ref:`ln-sierra-usage-cli` for
tell SIERRA to pick up where it left off. See :ref:`usage/cli` for
the full cmdline reference.

#. Q: How do I run a non-default set of pipeline stages, such as {3,4}?
Expand Down Expand Up @@ -63,7 +63,7 @@ FAQ
#. Q: SIERRA fails to run on my HPC environment?

A: The most likely reason is that you don't have the necessary environment
variables set up--see :ref:`ln-sierra-exec-env-hpc` for details on what is
variables set up--see :ref:`plugins/exec-env/hpc` for details on what is
required.

#. Q: SIERRA doesn't generate any graphs during stage4/the graph I'm interested
Expand Down Expand Up @@ -95,7 +95,7 @@ FAQ
stages. The files generated in stages {3,4,5} are generated `from` the
earlier results, so it is OK to overwrite those. However, if you are sure you
want to overwrite stuff, you can pass ``--exp-overwrite`` to disable this
behavior during stages {1,2}. See also :ref:`ln-sierra-philosophy`.
behavior during stages {1,2}. See also :ref:`philosophy`.

#. Q: I need to apply very precise/nuanced configuration to experiments that is
too specific to be easily captured in a :term:`Batch Criteria` or other
Expand All @@ -107,7 +107,7 @@ FAQ
tags, modifying attributes. This is a good way to apply tricky configuration
which doesn't really fit anywhere else, or to try out some "quick and dirty"
changes to see if they do what you want before codifying them with a python
class (see :ref:`ln-sierra-tutorials-project-main-config` for details on how
class (see :ref:`tutorials/project/main-config` for details on how
to do that).

#. Q: SIERRA can't find a module it should be able to find via
Expand Down
Loading

0 comments on commit a6567d3

Please sign in to comment.