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

GH Actions CI #122

Merged
merged 11 commits into from
Jul 14, 2021
Merged

GH Actions CI #122

merged 11 commits into from
Jul 14, 2021

Conversation

maxsvetlik
Copy link
Member

PR for migration away from Travis CI to GH Actions.

@maxsvetlik maxsvetlik marked this pull request as draft July 14, 2021 20:50
@maxsvetlik maxsvetlik changed the base branch from master to architecture-update July 14, 2021 21:03
@maxsvetlik maxsvetlik marked this pull request as ready for review July 14, 2021 22:25
@maxsvetlik
Copy link
Member Author

Rejoice, it BUILDS!!

@maxsvetlik maxsvetlik mentioned this pull request Jul 14, 2021
@maxsvetlik
Copy link
Member Author

@YuqianJiang This PR targets architecture-update and replaces TravisCI. All good to merge this into that branch?

@maxsvetlik
Copy link
Member Author

Confirmed on a separate communication channel. Merging.

@maxsvetlik maxsvetlik merged commit f6d4517 into architecture-update Jul 14, 2021
@maxsvetlik maxsvetlik deleted the gh-actions branch July 14, 2021 22:36
@maxsvetlik maxsvetlik mentioned this pull request Jul 14, 2021
@nickswalker
Copy link
Member

This config looks a bit like something I hacked together for Villa (not sure if there's any relation there) but it's not appropriate for BWI because it doesn't test installation. This used to be important because the core packages were released, and it may be important again if that's something people want to do.

@maxsvetlik
Copy link
Member Author

Thanks Nick, that's useful to know. It also explains why some of the travis builds were failing, but the GH actions passed- since its testing a weaker condition.

maxsvetlik added a commit that referenced this pull request Jul 16, 2021
* Add a more general Action Executor base class

Allows for thinner wrapping of ROS Actions while still supporting
logical translation style from LogicalNavigation
Remove "n-1" from Clingo interface due to new modeling

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add a more general Action Executor base class

Allows for thinner wrapping of ROS Actions while still supporting
logical translation style from LogicalNavigation
Remove "n-1" from Clingo interface due to new modeling

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Fix RosAction constructor

Wrong parameter passing would cause actions to not be registered with
their logical name
Remove dependency on bwi_logical_translator

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Ignore bwi_kr_execution

Changes to plan_execution have altered the action executor
interface, so we'll eventually have to do some updates here

* Add blind action executor

Support empty rule bodies in goal query (i.e., a query that passes a fact)
Don't timestamp facts in the head of a goal query

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Refactor table top perception services

Avoid transforming entire pointclouds
Move perception code to libbwi_perception
Make directories for library code

* Create additional headers

Spread code out amongst a few more headers for clarity
Initial refactoring of horizontal plane extraction

* Track missing headers

* Remove query(n) for rule with empty body in ASP goal
Fix bug with isGoalReached in BlindActionExecutor

* Add back box filtering

Some moving of functions

* Refactor horizontal surface detector

* Remove MC

Fix run result return

* Bump to CPP11

Change NULL to nullptr
Change throw() to noexcept
Use sharedptrs for actions, as they have the most delicate lifecycle

* Fix bugs in angle filtering

Flip filter sign. We want the slice, not the rest of the cloud
Set frame name correctly

* Extract clusters from structure only (ignore color)

Tweak interfaces to support additional arguments

* Notify execution observers of goal changes
This is used by plan executor to re-sense the robot's location upon receiving a new goal.

* Notify execution observers in blind execution

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* fix flipped object orientation in the map annotation tool

* Refactor ROSAction

Move all knowledge of parameters and name into subclasses
Handle failed state

* Change monitor query timestep

Update to match Clingo 4.5.1 behavior concerning incmode

* Fix failure counting in replanning executor

Print more information when failing to instantiate executors

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Add feedback and result to plan action

Extend ExecutionObserver with plan termination event
Add python fluent msg helpers

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add SmachAction interface

Support a standardized wrapping for Smach state machines wrapped as
action servers
Tighten up RosAction interface
Avoid run loop architecture for RosActions, and prefer
goal construction and finished callbacks

* Added some fields in and calculations in tabletop perception
for the purpose of storing groceries

* Make ROSAction fail on server failure

* Adding table height as an output

* Add knowledge representation

Ported from RoboCup
Move plan execution ros wrapper up into plan execution
to facilitate code reuse between BWI and villa
Move observers up to plan execution to facilitate reuse
Refactor bwi_kr plan execution node to use the new shared wrapper
Drop some bwi_kr_execution nodes that will be obsolete once
knowledge_representation integration is done
Commented out some actions that depend on logical translation updates
Update bwi_kr_execution to use new LogicalNavigation superclass
Update LogicalAction type

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add bwi specific knowledge representation package

Add new map-to-kb dumper to handle doors, rooms
Port over basic villa domain
Update kr_execution launch
Port over NavigateTo action
Drop approachdoor as it is subsumed by navigate_to
Port over more kr_execution testers
Bring logical translator up to date with villa translator
Support navigating to doors in logical translator
Add door sense service
Add connectivity output in annotation tool
Add UI labels for region connectivity
Fix 3rd floor connectivity

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Fixes to logical translator

Remove old domain cruft

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Support near and facing multiple locations

Change is_located to is_near to support being near multiple objects
Domain updates to support this change

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Begin SMACH port

Add knowledge rep interface for arbitrary SQL SELECT queries
Make prepare_knowledge fail early
Port over common SMACH helpers to bwi_tasks
Move goal formulators to kr_execution
Add basic visit_door_list SMACH port
Add bwi_dialog to house dialog helpers

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Add working SMACH visit door list

Make differences between objects and concepts clearer at the schema level
Update LTMC to better support adding concepts and objects with names
Make LTMC non-copyable
Make attribute typing information stronger to fix problems with retrieving
bools
Remove unneeded static casts in python wrapper
Support select query from Python
Load locations from map files
Update domain with schema changes
Change observation to allow facing, being near multiple different
items to better support dense objects in GDC
Add third initialization stage for actions to support giving actions
pointers to robot resources
Track bwi.yaml to add additional default knowledge to the KB
Rename multimaps for clarity

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Implement missing entity, concept helpers

Use reference instead of bare pointer in resource manager

* Support new action instantiation method

Move away from using partially initialized actions as templates
Use factory function objects that know how to couple resources
and fluent information with an action's template
Namespace prepare knowledge command
Add basic editor config

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Tweak KR helpers

Make error messages more explicit
Fix outdated concept reference removal implementation

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Make pointer ownership more explicit

Make plan executors own the actions they instantiate
Make it explicit that plan executor node does not own
the observers it is passed
Make it explicit that the plan executor does not own the reasoners
it is passed

Co-authored-by: Yuqian Jiang<jiangyuqian@utexas.edu>

* Remove action factory

Start stripping old executors down

* Add show_me helper

Add additional knowledge helpers

* Migrate knowledge_rep tests to gtest

Fix equality operator definition

* Outline KB query domain specific language

Add skeleton grammar
Add parser testing target

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Switch Bison/Flex to native cpp mode

Switch to variant symbol API
Change Bison output directory to put headers in workable location
Add parser testing target

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Expose AST on the interpreter

Test that a basic query causes a tree to become available
Handle end of file correctly
Update paren usage in the grammar

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Add Instance entity subclass

To better represent the differences between instances and concepts
Add helpers for exporting attribute data

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add Instance entity subclass

To better represent the differences between instances and concepts
Add helpers for exporting attribute data

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add OWL dumper

Add OWL populater stub

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Update XML populator

Log all plan queries

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Make annotator preserve key order on load and save

Support maps that have the yaml file named 'map.yaml' in annotate map

Co-authored-by: Nick Walker <nickswalker@utexas.edu>

* Fix dependencies

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Fix a bug in location annotation

Would cause locations to be saved in the wrong order
Remove incorrect dependency

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Report failure more responsibly

Count removed instances where possible in deleters
Show names for named entities in relation tables (in show_me)
Add boost python wrapper helper for methods that return optionals
Document many methods
Fix float loading in populate with knowledge
Migrate to pragma once

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Begin adding query caching mechanism

Add more flexible copy/link file interface to Clingo to better
support reasoning domains
Queries have unique folders which are named after the hash of their
contents
Add new optimization query interface
Update noexcept usage
Use pragma once

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Add Explaining observer

Fix a bug that could cause callbacks to receive invalid pointers
to Action Server results

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Bug fixes

Fix a bug that could cause some hashes to crash on
Create working memory path responsibly to avoid file handling crashes
Fix Concept::get_children

Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>

* Fixes to make visit_door_list_smach work again

Rename domain folders
Rename objects to instances in bwi knowledge

* Make agile_grasp dependency optional

Don't compile agile_grasp helpers unless agile grasp is found

* Update some C++ to avoid Melodic compiler errors

Avoid stricter type checking, const static initialization errors

* Fix agile_grasp compile flag

Update some cmake C++ flags

* Fix dependency for bwi_kr_execution

* open door works in simulation

Implement OpenSimulatedDoor using sense_door service
Fix getting the door faced by the robot in logical navigator
Allow action executor tester to test simulated actions

* Silence Clingo warning of undefined atoms

* Adapt go through door action to new interfaces

Make prepareGoalParameters return optional

* Update domain to enable planning for door actions

Update knowledge base in open_door
Fix recursive get concept and add test

* Add a goal formulator to take a room or a location

Make d3_414a doors consistent to simulator
Disable recovery for now

* Inital indigo backport

Force CPP11 a bit harder for indigo
Make PCL 1.8 optional
Add workarounds for missing std::put_time, boost::filesystem iterator helpers

* Allow build without MySQL backend

Outline Cmake route towards using a second backend where
MySQL isn't available

* Stub out PostgreSQL build

* Adopt CRTP for LTMC

Reformat the header to call the typeparam implementations of all functions
Move old MySQL implementation down

* Centralize DB interactions in the LTMC class

Make Entity, Concept and Instance thin wrappers over LTMC that
farm out any database interaction to LTTMC
Make Entity, Concept, and Instance templated by their actual LTMC
implementation
Set up aliases in the convenience header to expose pre-templatized
classes to library users so that they don't have to manually decide
on an implementation

* Use header symlink instead of compile flag for LTMC impl selection

Compile flags aren't picked up by other packages, and the way
they were used to conditionally include the correct hidden header
doesn't actually work when building other packages
Update some header includes to match new configuration

* Migrate to tf2 static broadcaster

The level_mux is assumed to change infrequently enough that a
listener can ignore the timestamp in its buffer. This isn't quite right
around the moment of a level change, but in practice it should not cause
any problems
The multi level map frame transforms will in fact never change

* Fix path to knowledge_representation in script

* Remove deprecated throw annotations

* Add Fluent and Law convenience constructors

Add Fluent user-defined literal

* Add Clingo 5.2 wrapper

Same as 4.5 unless testing uncovers anything

* Stub out testing for actasp

Add a mock domain for bit operations
Test plan generation for the domain
Add some basic tests on Fluent and Rule

* Remove remote reasoner

* Remove remote reasoner header

* Update MySQL apt version number

* Change macros to allow default pcl version (1.7.2) for Xenial

* Fix build issues after removing RemoteReasoner

* fix get_default_ltmc in python

* Use the last working mysql-connector-cpp

* Update README to use automatic install mysql script

* Remove bwi_perception dependency

* Comment out contraint in schema due to issues with 8.0.16

* AXE domain simulation

* Add unseen attributes to attributes table automatically

Implement attribute_exists and add_new_attribute

* Add early Postgres backend work

Add Postgres schema
Sketch basic implementation queries
Fix linking for postgres builds
Use uints for entity ids

* Fix most basic CRUD operations

Implement attribute queries
Implement entity deletion
Fix syntax of schema functions

* Fix remaining schema function issues

Add a remove_attribute function to simplify removing attributes across
all tables at once
Syntax tweaks to convert concept gathering into a function
All tests pass now

* Add more failing tests

Implement get_all_entities
Start covering instance/concept accounting and attribute behavior
Add postgresql rosdep to try to get things building out of box

* Fix and improve many queries

Use a simpler (no join) query for checking whether enties are concepts
or instances
Make attribute interface obey single type per attribute name
Make adding a new attribute type safe
Make it possible to reset schema from code by wrapping default state in SQL function

* Implement LTMC SQL interface for Postgres

Add minor coverage for the feature

* Update Industrial CI usage

* Update distro matrix with Melodic

* Load Postgres service in CI

* Fix build issue

* Replace knowledge_representation with submodule

* Fix bwi_kr_execution build

* Fix populate_with_map and populate_with_knowledge

* Add the required version number in knowledge file

* Fix knowledge to asp writer

Visit door list works again

* Changes for AHG building

Fix populate_with_map and goal formulator

* Add script to visit a random visitable location

* adds populate_from_map for ahg 1s

* Add basic multi-level knowledge

* removes unsupported travis flag

* Remove cubicle from bwi visit locations

* updates CI

* testing hook

* test hook

* test hook

* test hook

* adds possible missing ENV

* Update .travis.yml

* Update .travis.rosinstall

* Update .travis.rosinstall

* Update .travis.yml

* GH Actions CI (#122)

* Create main.yml

* Update main.yml

adds rosdep pull

* Update main.yml

* updates

* updates

* updates

* updates

* updates

* missing definition

* missing definition

Co-authored-by: Nick Walker <nick@nickwalker.us>
Co-authored-by: Yuqian Jiang <jiangyuqian@utexas.edu>
Co-authored-by: Nick Walker <nickswalker@utexas.edu>
Co-authored-by: thomas wei <thomasw219@gmail.com>
Co-authored-by: Rishi Shah <rishihahs@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants