Commit Graph

985 Commits

Author SHA1 Message Date
Dan 965739581a run_pyl 2023-02-27 14:05:00 -05:00
Dan 4b4bbeff25 Needed an additional check for empty correlation keys - which on a RECEIVE message, should always match anything.
When finding messages to match a send, assure they are RECIEVE messages.

Fix some of the json output for messages sent to the front end
2023-02-27 14:01:21 -05:00
jasquat e3ae71777f
remove unwanted test files w/ burnettk 2023-02-27 12:08:40 -05:00
jasquat 9ce870274c
script to get last user completing a task is working w/ burnettk 2023-02-27 12:08:07 -05:00
jasquat b3f2169c3a
Merge remote-tracking branch 'origin/main' into feature/script_get_last_user_completing_task 2023-02-27 10:45:04 -05:00
Jon Herron 8b519bb95d poetry remove orjson 2023-02-27 09:35:51 -05:00
burnettk 610fd2e777
wip for get_last_user_completing_task script task 2023-02-25 23:31:23 -05:00
burnettk 26a82585a0
postgres really will just order however it wants if you do not specify an order_by clause 2023-02-25 22:35:46 -05:00
burnettk 6b9c06b566
add ppg.ba4.sme and ba5 2023-02-24 23:42:19 -05:00
burnettk 2098cd209f
fix postgres db name and comment out debug job 2023-02-24 16:57:53 -05:00
jasquat e969ea05d3
removed some unused code from task and fixed the logs table a bit w/ burnettk 2023-02-24 16:18:49 -05:00
Dan c0bbba6f85 run_pyl 2023-02-24 15:02:03 -05:00
jasquat 2f1a3e3677
skip failing test if postgres and added comment about cause w/ burnettk 2023-02-24 14:57:17 -05:00
Dan d9ab0fde32 # SpiffWorkflow:
1) Type Safe checking on correlation properties (no more str())
2) A running workflows Correlations are once again at the key level.

# Backend
1) Both send and receive messages can have correlation_keys - and we compare these to each other to quickly assure a match (if they both exist - otherwise we fall back to comparing the properties on the receive to the sending messages payload)
2) Cleaned up the migrations to just one file
2023-02-24 14:53:22 -05:00
jasquat 40dbba88e5
look users up by service and username instead of service_id since usernames have to be unique anyway w/ burnettk 2023-02-24 10:41:57 -05:00
jasquat 81ef2c7300
avoid using task-data endpoint for task data and only use it to get tasks based on spiff step instead 2023-02-24 09:21:21 -05:00
jasquat 6ec5e7e57d
put back the task data code when getting tasks 2023-02-23 18:32:59 -05:00
jasquat 4f7a82f8d1
Merge remote-tracking branch 'origin/main' into feature/task_data_api_refactor 2023-02-23 17:10:23 -05:00
jasquat 06c4af9e17
removed commented out code w/ burnettk 2023-02-23 17:09:33 -05:00
jasquat 8463b2cda9
removed task-data endpoints since we no longer need them w/ burnettk 2023-02-23 17:07:53 -05:00
burnettk 1f3b5129fe
turn off profiling again 2023-02-23 16:54:38 -05:00
burnettk 2e94950779
add two users and update one 2023-02-23 16:39:30 -05:00
Dan 3a03b92ff0 BPMN Parser was returning all retrieval expressions, rather than the ones specific to a correlation property, as was intended.
Adding a correlation cache - so we have a reference of all the messages and properties (though still lacking a description of keys)
Adding yet another migration, maybe should squash em.
2023-02-23 16:36:32 -05:00
jasquat 6dc42aa273
added api to get task data and do not return from task data list anymore w/ burnettk 2023-02-23 15:59:19 -05:00
Dan 7343c2efde run_pyl (part 2) 2023-02-23 15:09:22 -05:00
jasquat d2eb2d85d8
Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-23 15:06:27 -05:00
jasquat 3eb15527fb
added comment about refactoring getting task data w/ burnettk jbirddog 2023-02-23 15:06:23 -05:00
burnettk 0897635c5f
lint 2023-02-23 15:01:45 -05:00
burnettk 470e0002cd
add test users 2023-02-23 14:58:14 -05:00
Dan 0b6596cad4 Adding Migration. 2023-02-23 14:42:00 -05:00
jasquat 9b88241882
remove task size check since it can take a long time to run and we do not do anything with it w/ burnettk jbirddog 2023-02-23 14:41:45 -05:00
Dan 9bf32a7560 Merge remote-tracking branch 'origin/main' into feature/message_fixes 2023-02-23 14:26:04 -05:00
Dan aa8c5022ea run_pyl 2023-02-23 14:17:22 -05:00
Dan 8c673c4fb6 BPMN.io -- Just show the message names not the ids - to assure we are only exposing the names.
SpiffWorkflow -
    - start_messages function should return message names, not ids.
    - don't catch external thrown messages within the same workflow process
    - add an expected value to the Correlation Property Model so we can use this well defined class as an external communication tool (rather than building an arbitrary dictionary)
    - Added a "get_awaiting_correlations" to an event, so we can get a list of the correlation properties related to the workflows currently defined correlation values.
    - workflows.waiting_events() function now returns the above awaiting correlations as the value on returned message events
 Backend
    - Dropping MessageModel and MessageCorrelationProperties - at least for now.  We don't need them to send / receive messages though we may eventually want to track the messages and correlations defined across the system - these things (which are ever changing) should not be directly connected to the Messages which may be in flux - and the cross relationships between the tables could cause unexpected and unceissary errors.  Commented out the caching logic so we can turn this back on later.
    - Slight improvement to API Errors
    - MessageInstances are no longer in a many-to-many relationship with Correlations - Each message instance has a unique set of message correlations specific to the instance.
    - Message Instances have users, and can be linked through a "counterpart_id" so you can see what send is connected to what recieve.
    - Message Correlations are connected to  recieving message instances.  It is not to a process instance, and not to a message model.  They now include the expected value and retrieval expression required to validate an incoming message.
    - A process instance is not connected to message correlations.
    - Message Instances are not always tied to a process instance (for example, a Send Message from an API)
    - API calls to create a message use the same logic as all other message catching code.
    - Make use of the new waiting_events() method to check for any new recieve messages in the workflow (much easier than
    churning through all of the tasks)
    - One giant mother of a migration.
2023-02-23 13:53:03 -05:00
jasquat e4431500fc
do not call serialize if we can use the cached bpmn_json instead w/ burnettk 2023-02-23 13:48:27 -05:00
jasquat b8becd1b76
Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-23 11:19:26 -05:00
jasquat 6632f9fde2
turn on sentry detailed tracing for task-data w/ burnettk 2023-02-23 11:19:22 -05:00
burnettk a59ce277a3
update spiff 2023-02-23 11:02:40 -05:00
Kevin Burnett 8d07643586
Merge pull request #145 from sartography/data_size_script
Data size script
2023-02-22 17:36:31 -08:00
jasquat ba51b780ef
Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-22 15:35:02 -05:00
jasquat 68f4868692
set git user configs explicitly using the env vars w/ burnettk 2023-02-22 15:34:47 -05:00
burnettk e5da1ca50d
so we do not lose our minds when debugging on a server 2023-02-22 15:16:13 -05:00
jasquat 1d6c0c4eea
Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-22 14:42:46 -05:00
jasquat ccccf8bf96
show help text for textareas as well w/ burnettk 2023-02-22 14:42:43 -05:00
burnettk 3d5c60b14b
why not dict, too 2023-02-22 14:36:26 -05:00
Jon Herron 7d682617c8 Cleanup 2023-02-22 13:42:45 -05:00
Jon Herron dbd0db60e8 Getting ./bin/pyl to pass 2023-02-22 13:34:26 -05:00
Jon Herron 72f7b1fc27 Provide info about keys in task data and python env 2023-02-22 13:13:28 -05:00
Jon Herron 19879135e5 Unfactor to fix size calculation/type hint issues 2023-02-22 11:17:23 -05:00
Jon Herron ef7f78a366 Getting ./bin/pyl to pass 2023-02-22 11:04:07 -05:00
Jon Herron 879371255f Adding python env size 2023-02-22 10:55:09 -05:00
Jon Herron 1c6439ab59 Add cumulative task data size to script 2023-02-22 10:39:35 -05:00
burnettk 9a45183267
remove start and end events from simple logs view 2023-02-21 22:43:23 -05:00
burnettk 7ae03bec27
copy env so we are doing additive stuff rather than completely rewriting it 2023-02-21 22:00:02 -05:00
jasquat e506c37265
fix git bash script unbound error w/ burnettk 2023-02-21 17:08:09 -05:00
jasquat d059665431
more git config updates w/ burnettk 2023-02-21 16:43:52 -05:00
jasquat df3b713ce4
disable strict host checking for git commands w/ burnettk 2023-02-21 16:42:11 -05:00
jasquat b8b4734aea
fixed tests w/ burnettk 2023-02-21 15:28:54 -05:00
jasquat 2e0be30cbe
give access to download process data files if a user has access to start a process model w/ burnettk 2023-02-21 15:08:19 -05:00
Jakub Sokołowski b0a9f440cb
backend: create SSH key file when contents provided
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-21 20:02:16 +01:00
Jakub Sokołowski e54965f8ec
backend: use sensible lock filename for git
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-21 19:58:39 +01:00
Jakub Sokołowski 72a29aa327
backend: specify --rebase when using git pull
Otherwise it fails with:
```
Pulling without specifying how to reconcile divergent branches is discouraged.
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-21 19:58:38 +01:00
Jakub Sokołowski 2f88ba3013
backend: fix use of SSH private key for git ops
Primarily this is supposed to fix the `git pull` aciton triggered by
webhooks from GitHub. But in addition to that the point is to simplify
that committing wrapper which has far too much in it.

Instead of passing everything as CLI arguments one should make use of
already supported environment variables and the `env` argument to
`subprocess` functions like `run()`. Writing extra logic in the wrapper
only makes it unnecessarily complicated.

By passing both user, email, and the SSH options in `run_shell_command`
we avoid the need to repeat the same boilerplate to provide Git config
and SSH credentials.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-21 19:58:36 +01:00
jbirddog c6131d1a3f
Look in task data/script engine environment for data, not just workflow data. (#143) 2023-02-20 18:12:50 -05:00
Dan 7b16625cff run_pyl 2023-02-20 12:34:42 -05:00
Dan 5171e53240 * SpiffWorkflow event_definitions wanted to return a message event's correlation properties mested within correlation keys. But messages are directly related to properties, not to keys - and it forced a number of conversions that made for tricky code. So Messages now contain a dictionary of correlation properties only.
* SpiffWorkflow did not serialize correlations - so they were lost between save and retrieve.

* When comparing Correlation Property values - we are storing these values as strings in the database and can't convert them back to integers later, so I'm changing everying everywhere to compare after conversion to a string.  Don't feel great about this one.
* By using an SQL Alchemy join table, there is a lot of db queries we don't need to write.
* A few handy fucntions on db models to make it easier to work with correlations.
* Updated tests because I changed some of the BPMN models we were testing against.
* Database migration to use the new constraint names with the alternate form of the join table between correlation mesages to instance messages.
2023-02-20 11:50:35 -05:00
burnettk 5704c96356
delint 2023-02-20 10:58:04 -05:00
Jakub Sokołowski d4a90e208b
backend/git_service: accept webhook test requests
https://docs.github.com/en/webhooks-and-events/webhooks/testing-webhooks

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-20 13:11:21 +01:00
Jakub Sokołowski a79d25f7e7
backend/git_service: check repo URLs from webhook
Since we are cloning a private repo we are using `ssh_url` in our case.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-20 13:02:54 +01:00
Dan 6e7f36e55f Allow people to run commands like "flask db upgrade" without setting specific environment variables like FLASK_SESSION_SECRET_KEY everytime - they just need to add in their own /instance/config.py with their local configuration. 2023-02-19 10:37:00 -05:00
Dan 28ac9ef872 * Re-work message tests so I could wrap my simple head around what was happening - just needed an example that made sense to me.
* Clear out complex get_message_instance_receive how that many-to-many works.
* Create decent error messages when correlations fail
* Move correlation checks into the MessageInstance class
* The APIError could bomb out ugly if it hit a workflow exception with not Task Spec.
2023-02-18 13:09:58 -05:00
Dan 2cf38abedc bump spiffworkflow hash 2023-02-17 13:08:45 -05:00
Dan 4958dbf895 failing test. 2023-02-17 12:10:32 -05:00
Dan 50d3ee544b Merge branch 'main' into feature/message_fixes 2023-02-17 12:01:38 -05:00
Dan 948deb97bc work in progress -
* Link between message instance and correlations is now a link table and many-to-many relationships as recommended by SQLAlchemy
* Use the correlation keys, not the process id when accepting api messages.
2023-02-17 10:45:01 -05:00
jasquat bf6052d2cb
put the env vars in the env section of the github action configs w/ burnettk 2023-02-16 15:19:01 -05:00
jasquat 311a5b060d
added test for quickstart guide w/ burnettk 2023-02-16 15:05:55 -05:00
jasquat 012396b01e
pyl 2023-02-16 14:38:19 -05:00
jasquat c48bb712e8
Merge remote-tracking branch 'origin/main' into feature/support_local_openid_in_cypress_tests 2023-02-16 14:25:51 -05:00
burnettk 6f0c977f7e
use _GIT_SOURCE_BRANCH instead of _GIT_BRANCH 2023-02-16 14:10:31 -05:00
burnettk af45ca4301
fix unprefixed config 2023-02-16 13:56:48 -05:00
burnettk 93da627b24
update configs for publish feature 2023-02-16 13:47:26 -05:00
jasquat 5342b50bac
added some support for using the backend openid server for cypress tests w/ burnettk 2023-02-16 12:09:44 -05:00
burnettk 9a88dc2d81
add new uses and delete ppg.ba.sme1 2023-02-16 11:53:08 -05:00
jasquat f004db1562
the equal sign is not apart of the env var w/ burnettk 2023-02-16 11:18:50 -05:00
jasquat 1fd086f055
updated terraform deployed env config name w/ burnettk 2023-02-16 10:51:05 -05:00
jasquat 59a166ddf6
more config updates w/ burnettk 2023-02-16 10:21:02 -05:00
jasquat e1b71d5267
cleaned up the default config file a bit 2023-02-16 09:05:40 -05:00
jasquat bb0ac42fe5
pyl 2023-02-16 08:33:39 -05:00
jasquat fb5d902ce4
fixed some env vars for ci 2023-02-16 07:59:51 -05:00
jasquat 1f2a5e2ddf
pyl 2023-02-16 07:39:40 -05:00
jasquat 47807a6a0c
Merge remote-tracking branch 'origin/main' into feature/update_configs_with_prefix 2023-02-16 07:17:39 -05:00
burnettk 78fee35028
remove unused import 2023-02-16 06:34:03 -05:00
burnettk 84c77395d4
all tests pass w/ spiff lib upgrade, thanks for the help elizabeth 2023-02-15 22:56:12 -05:00
burnettk 608efeb565
format 2023-02-15 22:35:55 -05:00
jasquat 3abd4c92c6
updated remaining configs manually w/ burnettk 2023-02-15 17:21:37 -05:00
jasquat 78360de25f
updated secret config names as well w/ burnettk 2023-02-15 17:17:47 -05:00
jasquat 497389ceb9
updated configs to use the prefix using the script w/ burnettk 2023-02-15 17:07:12 -05:00
jasquat f9a7e40488
updated default user group var name for better prefix w/ burnettk 2023-02-15 16:43:40 -05:00
jasquat a6a1f06941
save task data to spiff step details when copmleting a user task as well w/ burnettk jbirddog 2023-02-15 15:34:51 -05:00