Skip to content

updates to the automatic generation GA workflows #111

updates to the automatic generation GA workflows

updates to the automatic generation GA workflows #111

name: test generating other formats
on:
push:
branches:
- main
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout this repository
uses: actions/checkout@v3
- 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
for file in *.yaml; do
if [[ "$file" != *bican* && "$file" != *core* ]]; then
name=`basename ${file} .yaml`;
echo "Processing $name file..";
gen-json-schema ${file} > ../json-schema-autogen/${name}.json;
# generating jsonld context and removing generation_date field to avoid constant updates
gen-jsonld-context ${file} > ../jsonld-context-autogen/${name}.context.jsonld;
sed -i "/generation_date/d" ../jsonld-context-autogen/${name}.context.jsonld;
gen-pydantic ${file} > ../models_py-autogen/${name}.py;
if [ ${name} = "library_generation" ] || [ ${name} = "genome_annotation" ]; then
echo "Creating and Fixing diagrams for $name";
python ../utils/fix_and_create_erdiagram.py
else
gen-erdiagram ${file} > ../erdiagram-autogen/${name}.md;
fi
fi
done
cd ..
- name: Create a new testing branch to check autogenerated formats (deleting first if the branch exists)
run: |
branch_name="testing-autogen-formats"
# Check if the branch exists locally
if git show-ref --verify --quiet refs/heads/$branch_name; then
echo "Branch $branch_name exists locally. Deleting it."
git branch -D $branch_name
fi
# creating the new branch
git checkout -b $branch_name
- name: Creating another branch and to check other model representations
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
if ! git diff --quiet; then
git add json-schema-autogen/*.json
git add jsonld-context-autogen/*.context.jsonld
git add models_py-autogen/*.py
git add erdiagram-autogen/*.md
git commit -m "generate another formats and add them to the testing branch"
git push
else
echo "No changes to commit"
fi