Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
985 commits
Select commit Hold shift + click to select a range
8665709
Merge pull request #21 from kbase/add_docker_build
jayrbolton Aug 26, 2020
855152d
- use manifest file to specify files to be included in release
ialarmedalien Aug 20, 2020
b2357f1
Update changelog to use Keep a Changelog format
ialarmedalien Aug 20, 2020
541dd4e
Refactor parsing method to be more generic
ialarmedalien Aug 27, 2020
4875b05
Rename some functions and variables for greater consistency
ialarmedalien Aug 28, 2020
82a5996
Add env var that indicates when full specs have been loaded. If env v…
ialarmedalien Aug 28, 2020
2de5e06
Separate parser tests into two files
ialarmedalien Aug 28, 2020
ae1f8e4
Add badges
ialarmedalien Aug 28, 2020
2019ef3
Merge pull request #19 from kbase/parser_updates
jayrbolton Aug 28, 2020
cd9c48d
Merge pull request #23 from kbase/spec_test_env_var
jayrbolton Aug 28, 2020
74773d2
Merge pull request #24 from kbase/add-badges
jayrbolton Aug 28, 2020
b38f769
Standardise error responses and update tests
ialarmedalien Aug 30, 2020
3df50b0
Remove "status" key from error response and update affected files.
ialarmedalien Sep 1, 2020
2d2a762
Merge pull request #25 from kbase/standard_errors
jayrbolton Sep 1, 2020
e32e906
Remove injected ws_ids param unless it is required by the query
ialarmedalien Sep 1, 2020
8f45ed4
Move addition of ws_ids to query to after query param validation
ialarmedalien Sep 1, 2020
884bacb
refactor run_query to prevent unnecessary call to the workspace
ialarmedalien Sep 1, 2020
0d63bbf
Merge pull request #26 from kbase/remove_ws_ids
jayrbolton Sep 1, 2020
fb0abe1
Add edge type filtering to DJORNL queries
ialarmedalien Sep 2, 2020
38b9899
Fix auth responses for invalid or non-admin tokens
ialarmedalien Sep 2, 2020
718eecc
reorder filtering in spec queries. Add type to edge_types_filter
ialarmedalien Sep 2, 2020
4e2fcdb
Merge pull request #27 from kbase/edge_type_filtering
jayrbolton Sep 2, 2020
0e0e938
Merge pull request #28 from kbase/auth_bugfix
jayrbolton Sep 2, 2020
30e25ce
Patch security hole in spec_loader.py
ialarmedalien Sep 8, 2020
282958e
Improve output of spec/validate.py to give more detail on errors
ialarmedalien Sep 8, 2020
4dc2ea3
Fix incorrect comments for get_view and get_view_names
ialarmedalien Sep 8, 2020
7a01065
Merge pull request #32 from kbase/spec_loader_edits
jayrbolton Sep 8, 2020
44bd7f2
Merge pull request #33 from kbase/improve_schema_validate_output
ialarmedalien Sep 8, 2020
53ad1bb
Additional json validation test for arrays
ialarmedalien Sep 6, 2020
1c5bbea
Adding information on test requirements
ialarmedalien Sep 9, 2020
d4953a3
Merge pull request #31 from kbase/use_defs_for_djornl_nodes
jayrbolton Sep 11, 2020
fa37e61
silva spec
Sep 3, 2020
305e117
example to enum
Sep 4, 2020
83290f9
test silva node/edge json schema
Sep 9, 2020
a60df8e
move test, pair error with json inst, data source yaml
Sep 9, 2020
3273d4b
improve silva json schema tests
Sep 11, 2020
98f362a
use repo jsonschema validator starting from yaml
Sep 12, 2020
5f48481
Add "gene_" or "phenotype_" to keys param for DJORNL queries
ialarmedalien Sep 13, 2020
52c3996
Merge pull request #35 from kbase/stored_queries_param_edit
jayrbolton Sep 14, 2020
b10dc8a
Merge pull request #30 from n1mus/develop
ialarmedalien Sep 14, 2020
d39e84c
Fixing JSON pointer errors
ialarmedalien Sep 16, 2020
567d880
Merge pull request #36 from kbase/fix_json_pointers
jayrbolton Sep 16, 2020
21456a2
Change tests to remove duplication
ialarmedalien Sep 16, 2020
279d5ff
A few minor test edits
ialarmedalien Sep 16, 2020
127ea85
Make 0 the default distance for queries
ialarmedalien Sep 17, 2020
cde27d4
Merge pull request #37 from kbase/tiny_test_changes
jayrbolton Sep 17, 2020
699f336
Add newline break char
jayrbolton Sep 17, 2020
449bf39
Clean up docker deploy script to make it usable for CI
jayrbolton Sep 18, 2020
b7ef1d3
Update CHANGELOG.md and VERSON
jayrbolton Sep 18, 2020
0375ef5
Set version
jayrbolton Sep 18, 2020
f10e857
Add branch command
jayrbolton Sep 18, 2020
6900757
Merge pull request #38 from kbase/fix-docker-build-script
ialarmedalien Sep 18, 2020
0df30e5
Remove arango auth
jayrbolton Sep 18, 2020
80d6448
Ver and changelog
jayrbolton Sep 18, 2020
a448ef2
Merge pull request #40 from kbase/fix-wait-for-arango
ialarmedalien Sep 18, 2020
067e48e
Gitignore the test spec tarball
jayrbolton Sep 18, 2020
610f21a
Rename the test spec files to match the actual repo directory structure
jayrbolton Sep 18, 2020
4c5fe37
Simplify spec root directory; get the new repo structure working
jayrbolton Sep 18, 2020
28c4bea
Merge branch 'develop' into fix-spec-paths
jayrbolton Sep 18, 2020
75fd210
Fix comments
jayrbolton Sep 18, 2020
e879e36
Remove travis build in favor of github actions
jayrbolton Sep 18, 2020
35a7587
Merge pull request #41 from kbase/fix-spec-paths
jayrbolton Sep 21, 2020
cb2bd29
Merge branch 'develop' into remove-travis
jayrbolton Sep 21, 2020
60431fb
Merge pull request #42 from kbase/remove-travis
ialarmedalien Sep 21, 2020
6e9406a
Small alteration to results structure
ialarmedalien Sep 28, 2020
8cb734b
Temporary fix for "greenlet.greenlet size changed" warning
ialarmedalien Sep 29, 2020
416681b
Merge pull request #43 from kbase/alter_results
jayrbolton Sep 29, 2020
ea4e8b3
Fix the function that concatenates query parts for the api
jayrbolton Oct 5, 2020
680317a
Version and changelog
jayrbolton Oct 5, 2020
9989b82
Merge pull request #45 from kbase/fix-query-constructor
jayrbolton Oct 5, 2020
89ec55a
- rename edge file headers to "edge_type" and "score"
ialarmedalien Oct 5, 2020
7860465
Refactoring error tests to use a helper
ialarmedalien Oct 5, 2020
2203ee1
A more sophisticated node merge
ialarmedalien Oct 5, 2020
6be7c1a
Property name changes:
ialarmedalien Oct 6, 2020
71b8194
Property name changes:
ialarmedalien Oct 6, 2020
44e368f
Adding in header validation to the DJORNL parser
ialarmedalien Oct 6, 2020
b7100cc
Update edge types for networks from Jacobson Lab
izaakm Oct 6, 2020
2d10fc6
Merge pull request #46 from kbase/djornl_parser_check_file_headers
jayrbolton Oct 6, 2020
03a8dac
Merge pull request #50 from kbase/djornl_schema_property_name_changes
jayrbolton Oct 6, 2020
4fe7320
Merge pull request #48 from kbase/better_node_merging
jayrbolton Oct 6, 2020
a3e3847
WIP
jayrbolton Oct 6, 2020
ced39d8
Merge branch 'develop' into parser_test_refactor
jayrbolton Oct 6, 2020
cc3dc61
Merge pull request #47 from kbase/parser_test_refactor
jayrbolton Oct 6, 2020
541ad51
Alter DJORNL parser to have the node and edge indexes as attributes.
ialarmedalien Oct 7, 2020
217b67f
Add in checks for additional incorrect headers and for duplicated hea…
ialarmedalien Oct 7, 2020
a156d3a
Get the wait_for on arangodb working more reliably
jayrbolton Oct 8, 2020
a68cfb7
Some fixes for waiting on dependent services
jayrbolton Oct 8, 2020
ca506fa
Update CHANGELOG.md
jayrbolton Oct 8, 2020
b2d36ac
Restore spec release url in the docker-compose
jayrbolton Oct 8, 2020
465566d
Fix docker-compose; gitignore test coverage dir; clean up test script
jayrbolton Oct 8, 2020
51053a1
Add a couple type hints
jayrbolton Oct 8, 2020
d100ac4
Merge pull request #52 from kbase/djornl_parser_permanent_node_and_ed…
jayrbolton Oct 9, 2020
6a4b40d
DJORNL edges renamed
ialarmedalien Oct 20, 2020
a62f409
Merge pull request #54 from kbase/djornl_edge_renaming
ialarmedalien Oct 20, 2020
afd0a65
Add some table of contents links in the spec readme
jayrbolton Oct 20, 2020
cf17e3e
Rename edges to put the connection first
izaakm Oct 20, 2020
0c7f3ee
Moving conf and service conf inside method for easier mocking
ialarmedalien Nov 19, 2020
6658963
Merge pull request #53 from kbase/test-cleanup
ialarmedalien Nov 19, 2020
3c8f0fa
Adding black code formatter to dev requirements and running it prior …
ialarmedalien Nov 19, 2020
e39f83a
Updating the parser to parse edge directedness, plus adding tests for…
ialarmedalien Nov 19, 2020
c6ddf99
Upping the version and updating the changelog
ialarmedalien Nov 19, 2020
c4baf1c
Merge pull request #60 from kbase/djornl_directed_edges
jayrbolton Nov 20, 2020
b224bf4
Add --dry-run command line parameter.
dakotablair Nov 20, 2020
c8236cc
Bumping flake8 max-complexity up to 20.
dakotablair Nov 20, 2020
4fc9f51
Removing print so that errors only print once.
dakotablair Nov 24, 2020
c319007
Merge pull request #59 from dakotablair/dry-run
ialarmedalien Nov 24, 2020
9eebfb4
adding spec for sample_ontology_link collection in new samples folder.
Dec 15, 2020
16b8dd8
Merge branch 'develop' into develop
ialarmedalien Dec 16, 2020
8a24351
Add errors to DJORNL parser text output
ialarmedalien Dec 16, 2020
2f63af9
Merge pull request #51 from izaakm/develop
ialarmedalien Dec 16, 2020
a42279c
Small fixes to DJORNL edge file
ialarmedalien Dec 16, 2020
3595199
Updating edge files to account for changed names
ialarmedalien Dec 16, 2020
df9ead2
Merge pull request #62 from kbase/add_errors_to_text_output
dakotablair Dec 16, 2020
d499cca
Update the set-env command to the new version
ialarmedalien Dec 16, 2020
4b4da0a
Merge pull request #64 from kbase/remove_set_env_action
dakotablair Dec 16, 2020
56ed102
Merge pull request #63 from kbase/djornl_edge_edit
dakotablair Dec 16, 2020
2d37d72
Print error on timeout waiting for service
jayrbolton Dec 18, 2020
2e05ba7
Fix auth in wait_for.py
jayrbolton Dec 18, 2020
5e941bd
Debugging CI
jayrbolton Dec 18, 2020
2575741
Fix auth
jayrbolton Dec 18, 2020
122a824
Adding examples and some basic validation to _from and _to fields
Dec 21, 2020
024f03b
changing sample_ontology_link to be a delta time-travel
Dec 21, 2020
b98b34a
Merge pull request #61 from slebras/re_samples
jayrbolton Dec 23, 2020
74295fa
Merge branch 'develop' of https://github.com/kbase/relation_engine in…
jayrbolton Jan 6, 2021
1d305d6
add ontology_get_associated_samples
zhlu9890 Jan 13, 2021
8c76820
rename GO_get_terms_from_ws_objects to GO_get_terms_from_ws_object
zhlu9890 Jan 14, 2021
9575663
clarify @onto_terms
zhlu9890 Jan 20, 2021
71d5cc4
Merge pull request #65 from zhlu9890/develop
ialarmedalien Jan 20, 2021
2c7e9d7
add samples acl info retrieval in ontology_get_associated_samples query
zhlu9890 Jan 28, 2021
c803d3f
Additional collections for WITH clause to fix query
jayrbolton Jan 28, 2021
782b416
Update config.py
scanon Jan 29, 2021
e545f24
Update config.py
scanon Jan 29, 2021
4cf5770
Update config.py
scanon Jan 29, 2021
94257f7
Merge branch 'develop' into fix-related-objects-query
jayrbolton Jan 29, 2021
29030d7
Merge branch 'fix-related-objects-query' of https://github.com/kbase/…
jayrbolton Jan 29, 2021
dfc307c
Merge pull request #67 from zhlu9890/develop
jayrbolton Jan 29, 2021
747c0cf
Merge pull request #68 from kbase/fix-related-objects-query
jayrbolton Jan 29, 2021
c569ea9
Show the source (file path or URL) of the specs that we update
jayrbolton Jan 29, 2021
16a114d
Update changelog and version for the API
jayrbolton Jan 29, 2021
c2e87a2
Merge pull request #70 from kbase/show-update-source
jayrbolton Jan 29, 2021
9557414
add sample acls check logic to ontology_get_associated_samples
zhlu9890 Feb 4, 2021
97306ec
Merge remote-tracking branch 'upstream/develop' into develop
zhlu9890 Feb 4, 2021
a64e1f9
minor bug fix
zhlu9890 Feb 5, 2021
705d15d
Merge pull request #72 from zhlu9890/develop
jayrbolton Feb 6, 2021
9e7806b
returning sample acls info in ontology_get_associated_samples
zhlu9890 Feb 20, 2021
e434fcd
Merge pull request #74 from zhlu9890/develop
jayrbolton Feb 23, 2021
872ec8a
removing regexes
Mar 4, 2021
f9abd2a
Merge pull request #75 from slebras/remove_regex
jayrbolton Mar 4, 2021
4d35aff
fixing type information for sample_metadata_term in sample_ontology_l…
Mar 4, 2021
6f3ffc3
Merge pull request #76 from slebras/remove_regex
jayrbolton Mar 4, 2021
f565981
removing deltaloader requirement and changing from and to fields
Mar 4, 2021
1476abe
Merge pull request #77 from slebras/remove_regex
jayrbolton Mar 4, 2021
43b200b
changing sample_ontology_link required fields
Mar 4, 2021
4cdbb9a
Merge pull request #78 from slebras/remove_regex
jayrbolton Mar 4, 2021
209d189
update get_associated_samples for changes in sample_ontology_link edge
zhlu9890 Mar 5, 2021
be3e221
Merge pull request #79 from zhlu9890/develop
jayrbolton Mar 5, 2021
b840370
update ontology_get_associated_samples for update in sample service
zhlu9890 Mar 22, 2021
f0fd2cc
Merge pull request #80 from zhlu9890/develop
jayrbolton Mar 22, 2021
2b11a06
Bump pyyaml from 5.1.1 to 5.4
dependabot[bot] Mar 26, 2021
31650ee
Merge pull request #81 from kbase/dependabot/pip/pyyaml-5.4
jayrbolton Mar 29, 2021
da641cd
add ontology_get_term_by_name query
zhlu9890 Apr 20, 2021
b1592bb
add tests for stored_queries for ontology
zhlu9890 Apr 22, 2021
f727ed8
fix bug in tests
zhlu9890 Apr 22, 2021
e6ffd4f
Merge pull request #82 from zhlu9890/develop
zhlu9890 Apr 22, 2021
ee5e6ca
adding gaz_ontology collection
zhlu9890 May 12, 2021
599b4f5
adding uo_ontology and po_ontology collections and data_sources
zhlu9890 May 14, 2021
fe50d8d
Update edge_type.yaml in conjunction with update to exascale_data
izaakm May 20, 2021
789cf94
Update edge_type based on suggested edits
izaakm Jun 1, 2021
1caa169
adding script to auto-generate ontology yaml files
zhlu9890 Jun 25, 2021
cc2874a
adding script to auto-generate ontology yaml files
zhlu9890 Jul 1, 2021
15d10fb
adding tests on script for auto-generate ontology yaml files
zhlu9890 Jul 27, 2021
d9aca2a
remove GAZ, UO, PO files
zhlu9890 Jul 29, 2021
a4bb683
Running black on files
ialarmedalien Jul 29, 2021
2514e15
Updating codeowners and Dockerfile
ialarmedalien Jul 29, 2021
860cbdc
attempt to fix mypy probs
ialarmedalien Jul 29, 2021
d66638d
attempt II to fix mypy probs
ialarmedalien Jul 29, 2021
602055e
Merge pull request #85 from kbase/update_codeowners
ialarmedalien Jul 29, 2021
9106586
adding GAZ, UO, PO yaml files
zhlu9890 Aug 2, 2021
dde0e03
Merge remote-tracking branch 'upstream/develop' into develop
zhlu9890 Aug 2, 2021
f325adc
Merge pull request #84 from izaakm/update-djornl-networks-20210519
ialarmedalien Aug 9, 2021
3f308ea
Added TSV node file schema.
dakotablair Aug 4, 2021
b73511d
Updated test manifests for TSV files.
dakotablair Aug 5, 2021
3020026
Update edge_type.yaml to align with edge_data repo
dakotablair Aug 9, 2021
42df112
Merge pull request #87 from kbase/2021-08-updates
ialarmedalien Aug 10, 2021
290903c
add more tests
zhlu9890 Aug 16, 2021
76769fa
Merge remote-tracking branch 'upstream/develop' into develop
zhlu9890 Sep 22, 2021
c20bca2
adding ontology loading procedure documentataion
zhlu9890 Sep 22, 2021
832e819
Merge pull request #83 from zhlu9890/develop
scanon Sep 22, 2021
f90e1c2
fulltext search stored query + icu_tokenize analyzer
Jan 13, 2022
f79153e
Merge pull request #89 from kbase/DATAUP-607-integrate-aql-p0
ialarmedalien Jan 13, 2022
c4ae325
Create build_prodrc_pr.sh
bio-boris Jan 14, 2022
c6ccc27
Create build_test_pr.sh
bio-boris Jan 14, 2022
10218b5
Create deploy_tag.sh
bio-boris Jan 14, 2022
00be090
Create tag_environments.sh
bio-boris Jan 14, 2022
bf5e5dd
Rename .github/workflows/deploy_tag.sh to .github/workflows/scripts/d…
bio-boris Jan 14, 2022
6f42c90
Rename .github/workflows/tag_environments.sh to .github/workflows/scr…
bio-boris Jan 14, 2022
2821c62
Create tag_prod_latest.sh
bio-boris Jan 14, 2022
143a71e
Create tag_test_latest.sh
bio-boris Jan 14, 2022
a97d83f
Create tag_test_latest
bio-boris Jan 14, 2022
28031c1
Delete tag_test_latest
bio-boris Jan 14, 2022
8096961
Create build_prodrc_pr.yaml
bio-boris Jan 14, 2022
d97fbc3
Create build_test_pr.yaml
bio-boris Jan 14, 2022
fdfd23d
Create tag_environments.yaml
bio-boris Jan 14, 2022
b81781a
Create tag_prod_latest.yaml
bio-boris Jan 14, 2022
b6bbe32
Create tag_test_latest.yaml
bio-boris Jan 14, 2022
f17c5f9
Update perms
Jan 14, 2022
38002d3
Merge pull request #90 from kbase/githubactions
bio-boris Jan 14, 2022
422d684
Update CHANGELOG.md
bio-boris Jan 14, 2022
9c8c504
Merge pull request #91 from kbase/test_build
bio-boris Jan 14, 2022
bca4ca8
Update tag_test_latest.sh
bio-boris Jan 14, 2022
8ae02d9
Update CHANGELOG.md
bio-boris Jan 14, 2022
1144348
Merge pull request #92 from kbase/trigger_build
bio-boris Jan 14, 2022
3355276
ensure specs
Jan 15, 2022
1dd5b32
integrate ensure specs & test
Jan 26, 2022
370878a
revisions
Jan 28, 2022
7268234
docs, tests, etc.
Jan 31, 2022
bd01e66
unused local variable
Feb 1, 2022
0f04f79
updated edge_type.yaml to match data repo
mikacashman Feb 2, 2022
d709027
Merge pull request #94 from mikacashman/update-djornl-networks-2022-0…
ialarmedalien Feb 2, 2022
9b734cc
docs
Feb 2, 2022
efd0085
Merge pull request #93 from kbase/DATAUP-692-ensure-specs
ialarmedalien Feb 2, 2022
b953e51
Update README.md
bio-boris Feb 3, 2022
02eced6
Update README.md
bio-boris Feb 3, 2022
859852c
Merge pull request #95 from kbase/update_docs
bio-boris Feb 4, 2022
7e75e04
recursive obj subsetting
Feb 8, 2022
d13620b
Updating codeowners
ialarmedalien Feb 8, 2022
378515e
Merge pull request #98 from kbase/update_codeowners
ialarmedalien Feb 8, 2022
2e406f0
doc func
Feb 8, 2022
02abc7f
Merge pull request #97 from kbase/DATAUP-692-ensure-specs
Feb 8, 2022
d6a1bed
query testing & split for sorting
Feb 2, 2022
dc28800
cleanup; ignore long test module
Feb 22, 2022
79b954b
fix itsdangerous package
Feb 22, 2022
770e6c0
Merge pull request #99 from kbase/DATAUP-701-query-testing
Feb 22, 2022
b4460f7
don't restrict species search to ncbi
Feb 24, 2022
8b4457e
Merge pull request #100 from kbase/DATAUP-701-query-testing
Feb 25, 2022
a0a8372
prep release and DATAUP-706-doc-startup
Mar 2, 2022
14900f2
Merge pull request #101 from kbase/DATAUP-731-prep-release
Mar 3, 2022
6ae669d
compare stored query exe times with violin plots
Mar 3, 2022
8087b8a
split plots by old query failing/having results
Mar 12, 2022
2cd48f0
ignore asserts in test file
Mar 17, 2022
dd520a1
special char fulltext tests
Mar 17, 2022
5d4feb8
test fake sciname with pipe (|)
Mar 18, 2022
b6ac528
doc generic fulltext search as problematic
Mar 18, 2022
fd93db4
correct docs
Mar 21, 2022
51078b0
Merge pull request #102 from kbase/DATAUP-733-compare-graph-exe-time-…
Mar 21, 2022
1cd55bf
Merge pull request #103 from kbase/DATAUP-734-test-escape-chars
Mar 21, 2022
32cda69
DEVOPS-755 GHA (#104)
bio-boris Mar 24, 2022
a8ffb3e
Update CHANGELOG.md
bio-boris Mar 25, 2022
44cc2a3
Update Jinja to fix Markup (#106)
bio-boris Mar 29, 2022
088f72c
Update dev-requirements.txt (#108)
bio-boris Mar 29, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 51 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.dockerignore
.travis.yml
__pycache__
*.pyc
*.pyo
*.pyd
.Python
.tox
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
*.log
.git
.git*
CODEOWNERS
LICENSE.md
Makefile
hooks

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
/dist/
/client_src/dist/
eggs/
.eggs/
*.egg-info/
*.egg
MANIFEST

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# docker bits
Dockerfile*
docker-compose*
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/CODEOWNERS export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.travis.yml export-ignore
README.md export-ignore
/Makefile export-ignore
/test export-ignore
22 changes: 22 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Contributing to KBase

Important resources:

* [The KBase Code of Conduct](https://kbase.us/code-of-conduct/)
* [The KBase user documentation](https://kbase.us/new-to-kbase/)
* [The KBase users' slack channel](https://kbaseusers.slack.com)
* [The KBase SDK docs](https://kbase.github.io/kb_sdk_docs/)
* [The kbase Github organization](https://github.com/kbase)
* [The kbaseapps Github organization](https://github.com/kbaseapps)

## Submitting changes

After opening a Github pull request on the repo you'd like to update, be sure to:

* Update documentation, including the README.md file, any additional documentation under `/docs`, and any separate documentation sites that cover the functionality.
* Check that you added test coverage for any changes you made.
* Check if your changes break an API. If so, increment the version and ensure that any current dependents will not break.

Always write a clear log messages for your commits.

:tada: :100: Thank you for your contributions!
8 changes: 8 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

- [ ] I updated the README.md docs to reflect this change.

For changes to the codebase:

- [ ] I have written tests to cover this change.
- [ ] This is not a breaking API change OR
- [ ] This is a breaking API change and I have incremented the API version and added a summary to CHANGELOG.md.
31 changes: 31 additions & 0 deletions .github/workflows/build_prodrc_pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Build Prod RC Image
'on':
pull_request:
branches:
- master
- main
types:
- opened
- synchronize
- ready_for_review
jobs:
docker_build:
runs-on: ubuntu-latest
steps:
- name: Verify merge is develop -> main
if: github.head_ref != 'develop'
run: echo "Must merge from develop -> main/master"; exit 1
- name: Check out GitHub Repo
if: github.event.pull_request.draft == false && github.head_ref == 'develop'
with:
ref: "${{ github.event.pull_request.head.sha }}"
uses: actions/checkout@v2
- name: Build and Push to Packages
if: github.event.pull_request.draft == false && github.head_ref == 'develop'
env:
PR: "${{ github.event.pull_request.number }}"
SHA: "${{ github.event.pull_request.head.sha }}"
DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}"
DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}"
run: "./.github/workflows/scripts/build_prodrc_pr.sh\n"
27 changes: 27 additions & 0 deletions .github/workflows/build_test_pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Build Test Image
'on':
pull_request:
branches:
- develop
types:
- opened
- synchronize
- ready_for_review
jobs:
docker_build:
runs-on: ubuntu-latest
steps:
- name: Check out GitHub Repo
if: github.event.pull_request.draft == false
with:
ref: "${{ github.event.pull_request.head.sha }}"
uses: actions/checkout@v2
- name: Build and Push to Packages
if: github.event.pull_request.draft == false
env:
PR: "${{ github.event.pull_request.number }}"
SHA: "${{ github.event.pull_request.head.sha }}"
DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}"
DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}"
run: "./.github/workflows/scripts/build_test_pr.sh\n"
38 changes: 38 additions & 0 deletions .github/workflows/prod_release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Publish Release Image
'on':
release:
branches:
- main
- master
types:
- published
jobs:
docker_build:
runs-on: ubuntu-latest
steps:
- name: Check Tag
id: check-tag
run: |-
if [[ ${{ github.ref_name }} =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo ::set-output name=match::true
fi
- name: Report SemVer Check
if: steps.check-tag.outputs.match != 'true'
run: echo "Release version must follow semantic naming (e.g. 1.0.2)"; exit 1
- name: Check Source Branch
if: github.event.release.target_commitish != 'master' && github.event.release.target_commitish != 'main'
run: echo "Releases must be built from master/main branch"; exit 1
- name: Check out GitHub Repo
with:
ref: "${{ github.event.pull_request.head.sha }}"
uses: actions/checkout@v2
- name: Build and Push to Packages
env:
ISH: "${{ github.event.release.target_commitish }}"
PR: "${{ github.event.pull_request.number }}"
SHA: "${{ github.event.pull_request.head.sha }}"
VER: "${{ github.event.release.tag_name }}"
DOCKER_ACTOR: "${{ secrets.GHCR_USERNAME }}"
DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}"
run: "./.github/workflows/scripts/prod_release.sh\n"
49 changes: 49 additions & 0 deletions .github/workflows/run_tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Relation Engine test and deploy
on:
[push, pull_request]
jobs:
run_tests:
runs-on: ubuntu-latest
steps:
- name: checkout git repo
uses: actions/checkout@v2

- name: run tests
shell: bash
env:
GITHUB_ACTIONS_CI: 1
run: |
docker-compose build
docker-compose run re_api sh scripts/run_tests.sh
docker-compose down --remove-orphans

docker_build_and_push:
runs-on: ubuntu-latest
needs: run_tests
if: (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master') && github.event_name == 'push' && !contains(github.event.head_commit.message, 'skip_docker_build')
steps:
- name: checkout git repo
uses: actions/checkout@v2

- name: copy VERSION to TAG_NAME
shell: bash
run: |
mkdir -p .target
cp VERSION .target/TAG_NAME

- name: set env vars
shell: bash
run: |
echo "DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
echo "BRANCH=$(git symbolic-ref --short HEAD)" >> $GITHUB_ENV
echo "COMMIT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV

- name: build and push to dockerhub
uses: opspresso/action-docker@master
with:
args: --docker
env:
USERNAME: ${{ secrets.DOCKER_USERNAME }}
PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKERFILE: "Dockerfile"
IMAGE_NAME: "kbase/relation_engine_api"
17 changes: 17 additions & 0 deletions .github/workflows/scripts/build_prodrc_pr.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#! /usr/bin/env bash

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

echo "Branch is:" ${GITHUB_HEAD_REF}
docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io
docker build --build-arg BUILD_DATE="$DATE" \
--build-arg COMMIT="$COMMIT" \
--build-arg BRANCH="$GITHUB_HEAD_REF" \
--build-arg PULL_REQUEST="$PR" \
--label us.kbase.vcs-pull-req="$PR" \
-t ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" .
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR"
17 changes: 17 additions & 0 deletions .github/workflows/scripts/build_test_pr.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#! /usr/bin/env bash

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo $(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-develop")
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

echo $DOCKER_TOKEN | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin
docker build --build-arg BUILD_DATE="$DATE" \
--build-arg COMMIT="$COMMIT" \
--build-arg BRANCH="$GITHUB_HEAD_REF" \
--build-arg PULL_REQUEST="$PR" \
--label us.kbase.vcs-pull-req="$PR" \
-t ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" .
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR"

34 changes: 34 additions & 0 deletions .github/workflows/scripts/deploy_tag.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#! /usr/bin/env bash

# Usage: ./deploy_tag.sh -e TARGET -o ORG -r REPO -s DEV_PROD -t IMAGE_TAG
#
# Example 1: ./deploy_tag.sh -o "kbase" -r "narrative-traefiker" -s "dev" -t "pr-9001" -e "ci"
# Example 2: ./deploy_tag.sh -o "kbase" -r "narrative" -s "prod" -t "latest" -e "next"
#
# Where:
# -o ORG is the organization (`kbase`, `kbaseapps`, etc.)
# -r REPO is the repository (e.g. `narrative`)
# -s DEV_PROD determines whether to pull the development {APPNAME}-develop or production {APPNAME} image.
# -t IMAGE_TAG is the *current* Docker image tag, typically `pr-#` or `latest`
# -e TARGET is one of: `appdsshev`, `ci`, or `next`
#
# Be sure to set $TOKEN first!
# See: https://docs.github.com/en/packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images#authenticating-with-the-container-registry


while getopts e:o:r:s:t: option
do
case "${option}"
in
e) TARGET=${OPTARG};;
o) ORG=${OPTARG};;
r) REPO=${OPTARG};;
s) DEV_PROD=${OPTARG};;
t) IMAGE_TAG=${OPTARG};;
esac
done

curl -H "Authorization: token $TOKEN" \
-H 'Accept: application/vnd.github.everest-preview+json' \
"https://api.github.com/repos/$ORG/$REPO/dispatches" \
-d '{"event_type":"Tag '"$DEV_PROD"' '"$IMAGE_TAG"' for '"$TARGET"'", "client_payload": {"image_tag": "'"$IMAGE_TAG"'","target": "'"$TARGET"'","dev_prod": "'"$DEV_PROD"'"}}'
24 changes: 24 additions & 0 deletions .github/workflows/scripts/prod_release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#! /usr/bin/env bash

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

echo "ISH is:" $ISH
echo "GITHUB_REF is:" $GITHUB_REF
echo "HEAD_REF is:" $GITHUB_HEAD_REF
echo "BASE_REF is:" $GITHUB_BASE_REF
echo "Release is:" $GITHUB_REF_NAME
echo $DOCKER_TOKEN | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin
docker build --build-arg BUILD_DATE="$DATE" \
--build-arg COMMIT="$COMMIT" \
--build-arg BRANCH="$GITHUB_HEAD_REF" \
--build-arg PULL_REQUEST="$PR" \
--build-arg VERSION="$VER" \
--label us.kbase.vcs-pull-req="$PR" \
-t ghcr.io/"$MY_ORG"/"$MY_APP":"$VER" \
-t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" .
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"$VER"
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest"
22 changes: 22 additions & 0 deletions .github/workflows/scripts/tag_environments.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

#! /usr/bin/env bash
# Add vars for PR & environments to yaml, as called from external script

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

if [ $DEV_PROD = "dev" ] || [ $DEV_PROD = "develop" ]
then
IMAGE=$MY_APP"-develop"
else
IMAGE=$MY_APP
fi

echo "Dev or Prod:" $DEV_PROD
docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io
docker pull ghcr.io/"$MY_ORG"/"$IMAGE":"$IMAGE_TAG"
docker tag ghcr.io/"$MY_ORG"/"$IMAGE":"$IMAGE_TAG" ghcr.io/"$MY_ORG"/"$IMAGE":"$TARGET"
docker push ghcr.io/"$MY_ORG"/"$IMAGE":"$TARGET"
12 changes: 12 additions & 0 deletions .github/workflows/scripts/tag_prod_latest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! /usr/bin/env bash

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io
docker pull ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR"
docker tag ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" ghcr.io/"$MY_ORG"/"$MY_APP":"latest-rc"
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest-rc"
12 changes: 12 additions & 0 deletions .github/workflows/scripts/tag_test_latest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! /usr/bin/env bash

export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}')
export MY_APP=$(echo $(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-develop")
export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
export COMMIT=$(echo "$SHA" | cut -c -7)

docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io
docker pull ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR"
docker tag ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" ghcr.io/"$MY_ORG"/"$MY_APP":"latest"
docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest"
Loading