forked from brain-bican/models
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added ga.py and lg.py before merging upstream changes
- Loading branch information
Showing
35 changed files
with
5,251 additions
and
2,456 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: generating other formats for anatomical_structure | ||
|
||
on: | ||
pull_request_target: | ||
types: [opened, synchronize] | ||
paths: | ||
- 'linkml-schema/anatomical_structure.yaml' | ||
|
||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate_from_reusable: | ||
uses: brain-bican/models/.github/workflows/reusable-generate_other_formats.yaml@main | ||
with: | ||
model_name: anatomical_structure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: generating other formats for assertion_evidence | ||
|
||
on: | ||
pull_request_target: | ||
types: [opened, synchronize] | ||
paths: | ||
- 'linkml-schema/assertion_evidence.yaml' | ||
|
||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate_from_reusable: | ||
uses: brain-bican/models/.github/workflows/reusable-generate_other_formats.yaml@main | ||
with: | ||
model_name: assertion_evidence |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: generating other formats for genome_annotation | ||
|
||
on: | ||
pull_request_target: | ||
types: [opened, synchronize] | ||
paths: | ||
- 'linkml-schema/genome_annotation.yaml' | ||
|
||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate_from_reusable: | ||
uses: brain-bican/models/.github/workflows/reusable-generate_other_formats.yaml@main | ||
with: | ||
model_name: genome_annotation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: generating other formats for library_generation | ||
|
||
on: | ||
pull_request_target: | ||
types: [opened, synchronize] | ||
paths: | ||
- 'linkml-schema/library_generation.yaml' | ||
|
||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate_from_reusable: | ||
uses: brain-bican/models/.github/workflows/reusable-generate_other_formats.yaml@main | ||
with: | ||
model_name: library_generation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: Reusable workflow for generating other formats | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
model_name: | ||
description: 'A name of the model, without the .yaml extension' | ||
required: true | ||
type: string | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout this repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
repository: ${{ github.event.pull_request.head.repo.full_name }} | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Install the required python packages | ||
run: python -m pip install .[test] | ||
|
||
- name: Other installations | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y build-essential git wget curl | ||
- name: Generate other model representations | ||
run: | | ||
cd linkml-schema | ||
name=${{ inputs.model_name }}; | ||
echo "Processing $name model..."; | ||
gen-json-schema ${name}.yaml > ../json-schema-autogen/${name}.json; | ||
# generating jsonld context and removing generation_date field to avoid constant updates | ||
gen-jsonld-context ${name}.yaml > ../jsonld-context-autogen/${name}.context.jsonld; | ||
sed -i "/generation_date/d" ../jsonld-context-autogen/${name}.context.jsonld; | ||
gen-pydantic ${name}.yaml > ../models_py-autogen/${name}.py; | ||
if [ ${name} = "library_generation" ] || [ ${name} = "genome_annotation" ]; then | ||
echo "Fixing erdiagrams for $name"; | ||
python ../utils/fix_and_create_erdiagram.py; | ||
else | ||
gen-erdiagram ${name}.yaml > ../erdiagram-autogen/${name}.md; | ||
fi | ||
cd .. | ||
- name: Adding other model representations to git | ||
run: | | ||
name=${{ inputs.model_name }}; | ||
git config --global user.name "action@github.com" | ||
git config --global user.email "Github Actions" | ||
git branch | ||
git diff | ||
git add json-schema-autogen/${name}.json | ||
git add jsonld-context-autogen/${name}.context.jsonld | ||
git add models_py-autogen/${name}.py | ||
git add erdiagram-autogen/${name}.md | ||
if ! git diff --quiet HEAD; then | ||
git commit -m "generate another formats for ${name} model" | ||
git pull --rebase # to avoid conflicts with different wf runs | ||
git push | ||
else | ||
echo "No changes to commit" | ||
fi |
94 changes: 94 additions & 0 deletions
94
.github/workflows/reusable-generate_other_formats_new.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
name: Reusable workflow for generating other formats | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
model_name: | ||
description: 'A name of the model(s), without the .yaml extension. Models should be separated by a comma.' | ||
required: true | ||
type: string | ||
linkml_version: | ||
description: 'linkml version to test (optional, by default it uses one from the pyproject.toml)' | ||
required: false | ||
type: string | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout this repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
repository: ${{ github.event.pull_request.head.repo.full_name }} | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Install the required python packages | ||
run: python -m pip install .[test] | ||
|
||
- name: Updating linkml if requested | ||
if: ${{ inputs.linkml_version != null }} | ||
run: | | ||
pip install linkml==${{ inputs.linkml_version }} | ||
echo "linkml version: ${{ inputs.linkml_version }} has been installed" | ||
- name: Other installations | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y build-essential git wget curl | ||
- name: Generate other model representations | ||
run: | | ||
cd linkml-schema | ||
models_list="${{ inputs.model_name }}" | ||
echo " " | ||
echo "Model list: $models_list" | ||
for name in $(echo "$models_list" | tr ',' '\n'); do | ||
echo "Processing $name model..."; | ||
linkml generate json-schema ${name}.yaml > ../json-schema-autogen/${name}.json; | ||
echo "json-schema generated"; | ||
# generating jsonld context and removing generation_date field to avoid constant updates | ||
linkml generate jsonld-context ${name}.yaml > ../jsonld-context-autogen/${name}.context.jsonld; | ||
sed -i "/generation_date/d" ../jsonld-context-autogen/${name}.context.jsonld; | ||
echo "jsonld-context generated"; | ||
linkml generate pydantic ${name}.yaml > ../models_py-autogen/${name}.py; | ||
echo "pydantic model generated"; | ||
if [ ${name} = "library_generation" ] || [ ${name} = "genome_annotation" ]; then | ||
echo "Fixing erdiagrams for $name"; | ||
python ../utils/fix_and_create_erdiagram.py; | ||
else | ||
linkml generate erdiagram ${name}.yaml > ../erdiagram-autogen/${name}.md; | ||
fi | ||
echo "erdiagram generated"; | ||
done | ||
cd .. | ||
- name: Adding other model representations to git | ||
run: | | ||
git config --global user.name "action@github.com" | ||
git config --global user.email "Github Actions" | ||
git branch | ||
models_list="${{ inputs.model_name }}" | ||
echo "Model list: $models_list" | ||
for name in $(echo "$models_list" | tr ',' '\n'); do | ||
echo "Processing: $name" | ||
git add json-schema-autogen/${name}.json | ||
git add jsonld-context-autogen/${name}.context.jsonld | ||
git add models_py-autogen/${name}.py | ||
git add erdiagram-autogen/${name}.md | ||
done | ||
if ! git diff --quiet HEAD; then | ||
git commit -m "generate another formats for ${models_list} model(s)" | ||
git pull --rebase # to avoid conflicts with different wf runs | ||
git push | ||
else | ||
echo "No changes to commit" | ||
fi |
19 changes: 19 additions & 0 deletions
19
.github/workflows/software_update_generate_other_formats.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: testing a linkml version, generating other formats for multiple models | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
linkml_version: | ||
description: 'linkml version to test' | ||
required: true | ||
type: string | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
generate_from_reusable: | ||
uses: brain-bican/models/.github/workflows/reusable-generate_other_formats_new.yaml@main | ||
with: | ||
model_name: genome_annotation,library_generation,anatomical_structure,assertion_evidence | ||
linkml_version: ${{ github.event.inputs.linkml_version }} |
Oops, something went wrong.