-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
new workflows to generate other formats for the models; using reusabl…
…e workflow
- Loading branch information
Showing
6 changed files
with
141 additions
and
74 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
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 "[email protected]" | ||
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 |