see the branch work/oda and its actions, which installs the ODAFileConverter
and tests it against our produced dwgs from json. DXF not yet.

```
TeighaFileConverter . .. ACAD2004 DXF 0 1 example_2004.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2004.dwg" :
  .dwg file needs recovery

dwgread -oexample_2007.json ../test/test-data/example_2007.dwg
./dwgwrite -y -v0 -o example_2007.dwg example_2007.json
TeighaFileConverter . .. ACAD2007 DXF 0 1 example_2007.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2007.dwg" :
  .dwg file needs recovery

dwgread -oexample_2010.json ../test/test-data/example_2010.dwg
./dwgwrite -y -v0 -o example_2010.dwg example_2010.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 example_2010.dwg
ODA Warning: Cannot set C to that value.
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2010.dwg" :
  .dwg file needs recovery

dwgread -oexample_2013.json ../test/test-data/example_2013.dwg
./dwgwrite -y -v0 -o example_2013.dwg example_2013.json
TeighaFileConverter . .. ACAD2013 DXF 0 1 example_2013.dwg
ODA Warning: Cannot set C to that value.
ODA Warning: Object improperly read
AcDbRegion(176)
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2013.dwg" :
  .dwg file needs recovery

dwgread -oexample_2018.json ../test/test-data/example_2018.dwg
./dwgwrite -y -v0 -o example_2018.dwg example_2018.json
TeighaFileConverter . .. ACAD2018 DXF 0 1 example_2018.dwg
ODA Warning: Cannot set C to that value.
ODA Warning: General modeling failure
AcDbRegion(176)
ODA Warning: Object improperly read
AcDbRegion(176)
ODA Warning: General modeling failure
AcDb3dSolid(2E1)
ODA Warning: Object improperly read
AcDb3dSolid(2E1)
ODA Warning: General modeling failure
AcDbRegion(37D)
ODA Warning: Invalid input
AcDb3dPolyline(41A)
ODA Warning: Invalid input
AcDbPolyFaceMesh(4E4)
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2018.dwg" :
  Object of class AcDbLayerTableRecord can't be cast to AcDbEntity.

dwgread -oexample_r14.json ../test/test-data/example_r14.dwg
./dwgwrite -y -v0 -o example_r14.dwg example_r14.json
TeighaFileConverter . .. ACAD14 DXF 0 1 example_r14.dwg
ODA Warning: Invalid RoundTripR14 data
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_r14.dwg" :
  CRC does not match

dwgread -oexample_r13.json ../test/test-data/example_r13.dwg
./dwgwrite -y -v0 -o example_r13.dwg example_r13.json
TeighaFileConverter . .. ACAD13 DXF 0 1 example_r13.dwg
ODA Warning: Invalid RoundTripR14 data
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_r13.dwg" :
  Object improperly read: <AcDbProxyObject> (38E)
 Previous error: .dwg file needs recovery

dwgread -oentities-3d.json ../test/test-data/r11/entities-3d.dwg
./dwgwrite -y -v0 -o entities-3d.dwg entities-3d.json
TeighaFileConverter . .. ACAD12 DXF 0 1 entities-3d.dwg
dwgread -oentities.json ../test/test-data/r2.10/entities.dwg
./dwgwrite -y -v0 -o entities.dwg entities.json
TeighaFileConverter . .. ACAD10 DXF 0 1 entities.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/entities.dwg" :
  Unsupported early .dwg file version

dwgread -oText.json ../test/test-data/2010/Text.dwg
./dwgwrite -y -v0 -o Text.dwg Text.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 Text.dwg
ODA Warning: Color index 27397
ODA Warning: Cannot set C to that value.
ODA Warning: Color index 27397
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/Text.dwg" :
  Object improperly read: <AcDbMLeaderStyle> (E5)
 Previous error: Object improperly read

dwgread -oLeader.json ../test/test-data/2010/Leader.dwg
./dwgwrite -y -v0 -o Leader.dwg Leader.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 Leader.dwg
ODA Warning: Color index 27397
ODA Warning: Cannot set C to that value.
ODA Warning: Color index 27397
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/Leader.dwg" :
  Object improperly read: <AcDbMLeaderStyle> (E5)
 Previous error: Object improperly read
```
add oda check to json.test, add to CI
This is a GitHub Issue
repo:libredwg
owner:LibreDWG
Title : add oda check to json.test, add to CI
Issue date:

--- start body ---
see the branch work/oda and its actions, which installs the ODAFileConverter
and tests it against our produced dwgs from json. DXF not yet.

```
TeighaFileConverter . .. ACAD2004 DXF 0 1 example_2004.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2004.dwg" :
  .dwg file needs recovery

dwgread -oexample_2007.json ../test/test-data/example_2007.dwg
./dwgwrite -y -v0 -o example_2007.dwg example_2007.json
TeighaFileConverter . .. ACAD2007 DXF 0 1 example_2007.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2007.dwg" :
  .dwg file needs recovery

dwgread -oexample_2010.json ../test/test-data/example_2010.dwg
./dwgwrite -y -v0 -o example_2010.dwg example_2010.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 example_2010.dwg
ODA Warning: Cannot set C to that value.
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2010.dwg" :
  .dwg file needs recovery

dwgread -oexample_2013.json ../test/test-data/example_2013.dwg
./dwgwrite -y -v0 -o example_2013.dwg example_2013.json
TeighaFileConverter . .. ACAD2013 DXF 0 1 example_2013.dwg
ODA Warning: Cannot set C to that value.
ODA Warning: Object improperly read
AcDbRegion(176)
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2013.dwg" :
  .dwg file needs recovery

dwgread -oexample_2018.json ../test/test-data/example_2018.dwg
./dwgwrite -y -v0 -o example_2018.dwg example_2018.json
TeighaFileConverter . .. ACAD2018 DXF 0 1 example_2018.dwg
ODA Warning: Cannot set C to that value.
ODA Warning: General modeling failure
AcDbRegion(176)
ODA Warning: Object improperly read
AcDbRegion(176)
ODA Warning: General modeling failure
AcDb3dSolid(2E1)
ODA Warning: Object improperly read
AcDb3dSolid(2E1)
ODA Warning: General modeling failure
AcDbRegion(37D)
ODA Warning: Invalid input
AcDb3dPolyline(41A)
ODA Warning: Invalid input
AcDbPolyFaceMesh(4E4)
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_2018.dwg" :
  Object of class AcDbLayerTableRecord can't be cast to AcDbEntity.

dwgread -oexample_r14.json ../test/test-data/example_r14.dwg
./dwgwrite -y -v0 -o example_r14.dwg example_r14.json
TeighaFileConverter . .. ACAD14 DXF 0 1 example_r14.dwg
ODA Warning: Invalid RoundTripR14 data
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_r14.dwg" :
  CRC does not match

dwgread -oexample_r13.json ../test/test-data/example_r13.dwg
./dwgwrite -y -v0 -o example_r13.dwg example_r13.json
TeighaFileConverter . .. ACAD13 DXF 0 1 example_r13.dwg
ODA Warning: Invalid RoundTripR14 data
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/example_r13.dwg" :
  Object improperly read: <AcDbProxyObject> (38E)
 Previous error: .dwg file needs recovery

dwgread -oentities-3d.json ../test/test-data/r11/entities-3d.dwg
./dwgwrite -y -v0 -o entities-3d.dwg entities-3d.json
TeighaFileConverter . .. ACAD12 DXF 0 1 entities-3d.dwg
dwgread -oentities.json ../test/test-data/r2.10/entities.dwg
./dwgwrite -y -v0 -o entities.dwg entities.json
TeighaFileConverter . .. ACAD10 DXF 0 1 entities.dwg
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/entities.dwg" :
  Unsupported early .dwg file version

dwgread -oText.json ../test/test-data/2010/Text.dwg
./dwgwrite -y -v0 -o Text.dwg Text.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 Text.dwg
ODA Warning: Color index 27397
ODA Warning: Cannot set C to that value.
ODA Warning: Color index 27397
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/Text.dwg" :
  Object improperly read: <AcDbMLeaderStyle> (E5)
 Previous error: Object improperly read

dwgread -oLeader.json ../test/test-data/2010/Leader.dwg
./dwgwrite -y -v0 -o Leader.dwg Leader.json
TeighaFileConverter . .. ACAD2010 DXF 0 1 Leader.dwg
ODA Warning: Color index 27397
ODA Warning: Cannot set C to that value.
ODA Warning: Color index 27397
OdError thrown during readFile of drawing "/home/runner/work/libredwg/libredwg/programs/Leader.dwg" :
  Object improperly read: <AcDbMLeaderStyle> (E5)
 Previous error: Object improperly read
```
--- end body ---

None