Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3057 commits
Select commit Hold shift + click to select a range
d4c94fd
YAML deploy needs to handle dimension link deletion for all links not…
shangyian Dec 10, 2024
a0c0f3a
Fix tests
shangyian Dec 11, 2024
18cff7b
Merge pull request #1249 from shangyian/yaml-dim-link-deletion
shangyian Dec 11, 2024
c73f83a
Merge pull request #1242 from shangyian/measures-sql-from-derived
shangyian Dec 12, 2024
c521970
Add tests for yaml ref and join link deletion
shangyian Dec 12, 2024
64f1b54
Fix YAML export to use new dimension link structure
shangyian Dec 12, 2024
1c7e253
Fix pulling
shangyian Dec 12, 2024
35d966e
Merge pull request #1250 from shangyian/yaml-dim-link-deletion
shangyian Dec 12, 2024
3522e15
Bumping DJ to version 0.0.1a78
Dec 9, 2024
86d4326
Merge pull request #1245 from DataJunction/releases/version-0.0.1a78
shangyian Dec 12, 2024
486a0fa
Get to parity with YAML functionality when exporting existing namespaces
shangyian Dec 13, 2024
a75bd3e
Add cli for pull and deploy
shangyian Dec 13, 2024
17e7ae4
Support column attributes with YAML
shangyian Dec 14, 2024
dd73253
Clean up DJ CLI
shangyian Dec 14, 2024
574d9e0
Refactor column attribute and partition handling
shangyian Dec 14, 2024
99c193d
Refactor column attribute deployment
shangyian Dec 14, 2024
e817907
Move build name to namespace server export
shangyian Dec 14, 2024
ce0f86d
Remove extraneous functionality from cli
shangyian Dec 14, 2024
5a95c3a
Fix
shangyian Dec 14, 2024
787e647
Fix recursion error from deepcopy
shangyian Dec 14, 2024
42113eb
Add support for setting column display names via YAML
shangyian Dec 14, 2024
bba61d7
Add addtional tests for YAML functionality
shangyian Dec 14, 2024
e36894b
Add additional tests. Fix failures
shangyian Dec 15, 2024
ea5b352
Add test coverage
shangyian Dec 15, 2024
8b3769d
Clarify
shangyian Dec 15, 2024
3ff7171
Fix tests
shangyian Dec 15, 2024
6e7c255
Set to async test
shangyian Dec 15, 2024
552b3a3
Merge pull request #1252 from shangyian/fix-recursion-error
shangyian Dec 16, 2024
69bdfa4
Merge pull request #1251 from shangyian/yaml-export-parity
shangyian Dec 17, 2024
a26c2d3
Add DJ CLI tool for pulling and deploying YAML
shangyian Dec 16, 2024
3c265e0
Fix tests
shangyian Dec 18, 2024
e87bb81
Fix
shangyian Dec 18, 2024
60f5c9a
Fix
shangyian Dec 18, 2024
a058297
Fix
shangyian Dec 18, 2024
7ff4a4f
Fix bug with exporting of some metrics YAML
shangyian Dec 18, 2024
b2f2bd7
Fix another null str concatenantion error
shangyian Dec 18, 2024
f8c4952
Merge pull request #1254 from shangyian/yaml-cli
shangyian Dec 19, 2024
9f0ca97
Bumping DJ to version 0.0.1a79
Dec 16, 2024
5f840a0
Fix build name should not have slashes
shangyian Dec 19, 2024
95ccdee
Merge pull request #1253 from DataJunction/releases/version-0.0.1a79
shangyian Dec 19, 2024
6765e80
Make measures generated from metrics unique based on the expression
shangyian Dec 19, 2024
35ad396
Simplify uniqueness loop
shangyian Dec 19, 2024
9e32bd2
Fix lint
shangyian Dec 19, 2024
a382b4a
Fix tests
shangyian Dec 19, 2024
8175899
Semantic entity name should be based on parent node
shangyian Dec 20, 2024
a7619ec
Fix tests
shangyian Dec 21, 2024
4f54d8b
Fix tests and convert tags test to use module-level client
shangyian Dec 21, 2024
dbdef82
Merge pull request #1255 from shangyian/unique-measures
shangyian Dec 21, 2024
c6efe22
Support displaying markdown in node descriptions in the UI
shangyian Dec 21, 2024
9b3df75
Update packages for djui test
shangyian Dec 21, 2024
f173bfb
Fix jest
shangyian Dec 21, 2024
049d623
Fix jest handling of react-markdown deps
shangyian Dec 21, 2024
9b9d1d1
Merge pull request #1256 from shangyian/desc-markdown
shangyian Dec 21, 2024
d747733
Bumping DJ to version 0.0.1a80
Dec 23, 2024
313c857
Merge pull request #1257 from DataJunction/releases/version-0.0.1a80
shangyian Dec 23, 2024
fe4b23c
Add is_hidden to DimensionAttributeOutput
anhl-svg Dec 6, 2024
78d6ba2
Add enum that represents all system-managed column attributes
shangyian Jan 5, 2025
e6e413b
Add test for setting columns to hidden
shangyian Jan 5, 2025
f6221de
Upgrade pycln to v2.4.0 (latest)
shangyian Jan 5, 2025
72146c7
Remove pycln due to bug
shangyian Jan 5, 2025
ff73d43
Merge pull request #1243 from DataJunction/is-hidden
shangyian Jan 6, 2025
ddd0fc2
Bumping DJ to version 0.0.1a81
Jan 6, 2025
161885b
Merge pull request #1258 from DataJunction/releases/version-0.0.1a81
shangyian Jan 6, 2025
8dcf375
Better categorize the various exceptions into user vs system errors, …
shangyian Jan 7, 2025
46fa26d
Raise specific SQL parsing error for syntax errors when parsing SQL
shangyian Jan 7, 2025
9af72dc
Fix a few edge cases in exception handling
shangyian Jan 7, 2025
742132a
Fix tests
shangyian Jan 7, 2025
55a1feb
Test coverage
shangyian Jan 7, 2025
fea0960
Address comments
shangyian Jan 7, 2025
1d8eb1a
Fix lint
shangyian Jan 7, 2025
3e6c91f
Merge pull request #1262 from shangyian/better-exception-handling
shangyian Jan 8, 2025
91f7421
Fold dimension attribute properties under a single field for ease of …
shangyian Jan 8, 2025
d43b441
Add list of column attribute names for the database object
shangyian Jan 8, 2025
0f446bc
Add graphql query for retrieving common dimensions
shangyian Jan 8, 2025
a03b2d4
Fix client tests
shangyian Jan 8, 2025
4e6cb99
Fix tests for dimension attribute properties change
shangyian Jan 8, 2025
f22b5c2
Change DJ UI to depend on dimension attribute properties
shangyian Jan 8, 2025
e9dd3a9
Fix test
shangyian Jan 8, 2025
6c6a658
Add resolver for handling lazy loading of dimension node on attributes
shangyian Jan 8, 2025
a3f708f
Add test for common dimensions query
shangyian Jan 8, 2025
f8fea5c
Add test for common dimensions query
shangyian Jan 8, 2025
1467bba
Add test for common dimensions query
shangyian Jan 8, 2025
ebce777
Update GQL commonDimensions query to work for all node types, not jus…
shangyian Jan 10, 2025
cbbaf23
Fix
shangyian Jan 10, 2025
23bdaf0
Fix retrieving dimensions for metric nodes
shangyian Jan 10, 2025
14b427e
Merge pull request #1263 from shangyian/add-common-dims-gql
shangyian Jan 10, 2025
c0a15bc
Automatically determine whether to preaggregate for measure SQL. Also…
shangyian Jan 8, 2025
331696f
Only generate preaggregated measures SQL if it is viable for the give…
shangyian Jan 10, 2025
b8c350f
Default to false for requesting preagg
shangyian Jan 10, 2025
46547c5
Add tests for automatic detection of preagg compatibility
shangyian Jan 10, 2025
b7ca851
Fix lint
shangyian Jan 10, 2025
51bf1d2
Merge pull request #1264 from shangyian/measures-auto-preagg
shangyian Jan 14, 2025
6ad2865
Add measures SQL query to GQL
shangyian Jan 10, 2025
82d1061
Move sql query to separate file. Refactor inputs to be more organized
shangyian Jan 10, 2025
74a56dd
Move inputs to query file
shangyian Jan 10, 2025
e11c1a0
Add tests for measures sql endpoint
shangyian Jan 10, 2025
017ecec
Fix imports
shangyian Jan 14, 2025
bd5c3cc
Fix lint
shangyian Jan 14, 2025
683e621
Fix preagg arg
shangyian Jan 14, 2025
0a88dce
Merge pull request #1266 from shangyian/sql-gql
shangyian Jan 14, 2025
c6a99f0
For the docker compose setup, seed with both an initial user as well …
shangyian Jan 15, 2025
1d309cc
Clean up notebooks
shangyian Jan 15, 2025
f95fede
Shortcircuit the source node refresh if no table is found.
agorajek Jan 15, 2025
88e7b10
Fix lint
shangyian Jan 15, 2025
2bd3bcb
Merge pull request #1270 from DataJunction/fix-source-refresh
agorajek Jan 15, 2025
73c46f6
Merge pull request #1271 from shangyian/seed-initial-data
shangyian Jan 15, 2025
b9a7307
Fix bug where getting preagg measures sql for metrics that reference …
shangyian Jan 16, 2025
16549c6
Merge pull request #1273 from shangyian/local-dim-measures-sql
shangyian Jan 16, 2025
9f4d63e
Add support for querying tags with GQL
shangyian Jan 14, 2025
3fcee31
Add tests for tags-related GraphQL queries
shangyian Jan 15, 2025
59a551f
Remove unnecessary db logic
shangyian Jan 17, 2025
5a6f1ce
Add validation checks for metric SQL when creating a metric
shangyian Jan 17, 2025
f3280bb
Add tests
shangyian Jan 17, 2025
615120b
Minor refactoring so that each query has their own file
shangyian Jan 18, 2025
b1aa110
Fix lint
shangyian Jan 18, 2025
f8753a0
Cleanup
shangyian Jan 18, 2025
04afc40
Merge pull request #1269 from shangyian/add-tags-gql
shangyian Jan 18, 2025
03e0a32
Add additional metric metadata to graphql endpoint
shangyian Jan 18, 2025
ab30b6d
Only request very specific fields to populate the metric node info pa…
shangyian Jan 18, 2025
9481eb2
Fix tests
shangyian Jan 18, 2025
15ce6ed
Add checks for additional metric query validation edge
shangyian Jan 18, 2025
4fa1b43
Merge pull request #1277 from shangyian/reduce-metric-fetch
shangyian Jan 18, 2025
3d80cd7
Merge pull request #1276 from shangyian/validate-metric
shangyian Jan 18, 2025
cdce904
Bumping DJ to version 0.0.1a82
Jan 13, 2025
b577f06
Merge pull request #1267 from DataJunction/releases/version-0.0.1a82
shangyian Jan 18, 2025
40d972a
Generate faster measures SQL by removing expensive and unnecessary va…
shangyian Jan 19, 2025
38f3926
Clear up naming
shangyian Jan 19, 2025
c4c1b0b
Merge pull request #1278 from shangyian/faster-sql
shangyian Jan 21, 2025
ab533c6
Bumping DJ to version 0.0.1a83
Jan 20, 2025
d50fda4
Merge pull request #1279 from DataJunction/releases/version-0.0.1a83
shangyian Jan 21, 2025
43ce9e9
Load search backend queries async
shangyian Jan 21, 2025
ebe7c15
Add several timestamp related UDFs.
agorajek Jan 23, 2025
e38f977
Merge pull request #1283 from DataJunction/more-time-udfs
agorajek Jan 23, 2025
2f0a28f
Merge pull request #1281 from shangyian/load-search-async
shangyian Jan 23, 2025
3dfb10e
Add alembic migration to released datajunction-server library
shangyian Jan 23, 2025
844a5b4
Fix lint
shangyian Jan 23, 2025
df8df0b
Move alembic to within datajunction_server
shangyian Jan 23, 2025
2d0dcf8
Fix lint for alembic version files
shangyian Jan 23, 2025
dd88931
Fix migrations tests
shangyian Jan 24, 2025
62d83d6
Update docker compose setup to use new alembic location
shangyian Jan 24, 2025
c4c53f4
Do not include alembic in pytest coverage
shangyian Jan 24, 2025
48197b9
Skip alembic env files when running pytest
shangyian Jan 24, 2025
c0363d3
Fix
shangyian Jan 24, 2025
5a9ce33
Fix by adding ignore under pytest call
shangyian Jan 24, 2025
f69a5f9
Merge pull request #1288 from shangyian/alembic-migrations-release
shangyian Jan 24, 2025
515d526
Add the ability to store pickled compiled query ASTs in Postgres
shangyian Jan 21, 2025
c2baada
Update tests
shangyian Jan 21, 2025
139cf3d
Make the healthcheck point to an endpoint that doesn't result in a te…
shangyian Jan 21, 2025
94e1e53
coverage
shangyian Jan 21, 2025
3493a1f
Swap to zlib compressed AST
shangyian Jan 22, 2025
4398112
Fix tests
shangyian Jan 22, 2025
43f4be8
Add back support for compiled pre-agg queries
shangyian Jan 23, 2025
587d5b4
Fix lint
shangyian Jan 25, 2025
41a1811
Lock dependencies to py3.10 or above
shangyian Jan 24, 2025
2580947
Remove unnecessary dependencies
shangyian Jan 24, 2025
a7c90b6
Remove unnecessary dependencies
shangyian Jan 24, 2025
f6d62e1
Some more cleanup and fix tests
shangyian Jan 24, 2025
92f7196
Fix
shangyian Jan 24, 2025
c5670a4
Fix
shangyian Jan 24, 2025
891aa46
Fix
shangyian Jan 24, 2025
8ab7321
Fix
shangyian Jan 24, 2025
fba2c0c
Remove dependency on non-existent group
shangyian Jan 25, 2025
fc1ed3a
Pin a few deps
shangyian Jan 25, 2025
2521281
Fix
shangyian Jan 25, 2025
f5fff01
Fix
shangyian Jan 25, 2025
30c7d1a
Fix
shangyian Jan 25, 2025
2daf707
Add back sqlparse
shangyian Jan 26, 2025
b652113
Fix lockfile
shangyian Jan 26, 2025
fcc785d
Merge pull request #1280 from shangyian/pickle-query-ast
shangyian Jan 27, 2025
e2f34f1
Add custom metadata field to node revision.
agorajek Jan 24, 2025
2992ad0
Add custom metadata field to the cleint side.
agorajek Jan 25, 2025
fd5d215
Alembic code lint.
agorajek Jan 27, 2025
e159878
Merge pull request #1292 from shangyian/py310
shangyian Jan 27, 2025
91a45df
Revert "Alembic code lint."
agorajek Jan 27, 2025
ab915f0
Merge pull request #1291 from DataJunction/issue/1289
agorajek Jan 28, 2025
9d1153d
Bumping DJ to version 0.0.1a84
Jan 27, 2025
c409d00
Merge pull request #1293 from DataJunction/releases/version-0.0.1a84
agorajek Jan 28, 2025
5cf565f
Fix bug with displaying required dimensions for metrics
shangyian Jan 29, 2025
aa7aa38
Merge pull request #1296 from shangyian/metrics-required-dims-bug
shangyian Jan 29, 2025
492994b
Disable query AST population for now
shangyian Jan 30, 2025
e0a6023
Fix
shangyian Jan 30, 2025
548da6c
Fix import order
shangyian Jan 30, 2025
3bfb12b
Fix coverage
shangyian Jan 30, 2025
0c922c1
Merge pull request #1298 from shangyian/disable-query-ast
shangyian Jan 30, 2025
dd54bc2
[fix] bug in how AVG is decomposed into measures.
anhl-svg Jan 31, 2025
f190125
lint fixes to pass make check
anhl-svg Jan 31, 2025
9363cf7
Revert "lint fixes to pass make check"
anhl-svg Jan 31, 2025
b0dfb17
update test
anhl-svg Jan 31, 2025
dbfd71a
lint fix
anhl-svg Jan 31, 2025
7d79945
Fix measures SQL test
shangyian Feb 1, 2025
31d6086
Merge pull request #1299 from DataJunction/fix-pre-agg-count-bug
shangyian Feb 1, 2025
3ac86d2
Bumping DJ to version 0.0.1a85
Feb 1, 2025
0996dfa
Merge pull request #1302 from DataJunction/releases/version-0.0.1a85
shangyian Feb 1, 2025
6c6aa4d
Add slack invite link
samredai Feb 5, 2025
dccd3d3
Merge pull request #1306 from DataJunction/slack
shangyian Feb 6, 2025
6e99b8f
Add new cube materialization option that uses pre-aggregated measures…
shangyian Feb 2, 2025
088bd70
Add new cube materialization models and logic
shangyian Feb 2, 2025
c1710ec
Remove extraneous
shangyian Feb 2, 2025
d06feff
v0.0.1-a84.dev2
shangyian Feb 2, 2025
2994681
Include materialization info as API endpoint
shangyian Feb 2, 2025
c96cf8c
Fix materializations UI to have a single cube choice
shangyian Feb 3, 2025
9514b0b
Fix tests
shangyian Feb 4, 2025
b4ff309
Fix tests
shangyian Feb 4, 2025
8115fbb
Fix client tests
shangyian Feb 4, 2025
8b29f10
Fix
shangyian Feb 4, 2025
cd54f37
Fix tests
shangyian Feb 4, 2025
07ecc70
Fix tests
shangyian Feb 4, 2025
f9fd67f
Fix tests
shangyian Feb 7, 2025
7e4961f
Fix
shangyian Feb 8, 2025
c5900c9
Fix
shangyian Feb 8, 2025
a91e3ca
Add additional tests
shangyian Feb 8, 2025
efa5048
Fix
shangyian Feb 8, 2025
5d2b72c
Fix tests
shangyian Feb 8, 2025
b74b9ed
Fix tests
shangyian Feb 9, 2025
b70517c
Fix tests
shangyian Feb 9, 2025
8a1c1a2
Add better logging
shangyian Feb 9, 2025
d5f3582
Fix timeout
shangyian Feb 9, 2025
3a7a4a5
Fix coverage
shangyian Feb 10, 2025
080295a
Merge pull request #1304 from shangyian/smart-cube-materialization
shangyian Feb 10, 2025
60c1a25
Bumping DJ to version 0.0.1a86
Feb 10, 2025
053deae
Merge pull request #1303 from DataJunction/releases/version-0.0.1a86
shangyian Feb 10, 2025
cc38632
Hide deactivated nodes from DAG
shangyian Feb 10, 2025
a7b2080
Merge pull request #1307 from shangyian/dag-hide-deactivated
shangyian Feb 11, 2025
155ad43
switch to ruff
samredai Jan 31, 2025
cea15dd
Running ruff on new files
shangyian Feb 12, 2025
6ab5d0d
Merge pull request #1301 from samredai/ruff
shangyian Feb 12, 2025
adbf26f
Fix Pydantic model definition for valid OpenAPI schema
shangyian Feb 12, 2025
91c0973
Add test for validating OpenAPI schema
shangyian Feb 12, 2025
38a0dd2
Add additional logging for GQL endpoints
shangyian Feb 12, 2025
432689a
Remove some pylint skips
shangyian Feb 12, 2025
4c69133
Remove more pylint
shangyian Feb 12, 2025
8c9dbc4
Remove pylint directives
shangyian Feb 12, 2025
f373a00
Remove additional pylint directives
shangyian Feb 12, 2025
1816a90
Fix tests
shangyian Feb 12, 2025
d4bee92
Fix coverage
shangyian Feb 12, 2025
518f8f3
Fix materialization
shangyian Feb 12, 2025
68fb486
Merge pull request #1308 from shangyian/fix-openapi-json
shangyian Feb 12, 2025
1d6319b
Endpoints and data model for saving user notification subscriptions (…
samredai Feb 13, 2025
cf70ce0
run tests on main branch after merging PR (#1310)
samredai Feb 13, 2025
f206de7
Add foreign key reference mapping to dimension link metadata output (…
shangyian Feb 18, 2025
944f55e
Python and javascript integration tests (#1311)
samredai Feb 18, 2025
fb3cc28
Add/Edit Node Page UI Extension (#1314)
shangyian Feb 19, 2025
8da9b84
Bumping DJ to version 0.0.1a87 (#1312)
agorajek Feb 19, 2025
00f4e9c
Added cache interface and cachelib + noop implementations (#1209)
samredai Feb 19, 2025
e9bb4e2
Update java client (#1315)
samredai Feb 20, 2025
78bde66
Attach availability to materialization
shangyian Feb 23, 2025
b6207d0
Expose ids when retrieving materializations or calling the query serv…
shangyian Feb 23, 2025
3fd677e
Add migration for existing links and url
shangyian Feb 23, 2025
5647d9a
Fix
shangyian Feb 23, 2025
bf683fa
Use jsonb instead of json and fix migration script
shangyian Feb 24, 2025
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
  •  
  •  
  •  
11 changes: 8 additions & 3 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# .coveragerc to control coverage.py
[run]
branch = True
source = datajunction
# omit = bad_file.py
source = dj
omit =
*/dj/sql/parsing/backends/grammar/generated/*
*/dj/sql/parsing/backends/antlr4.py
*/dj/sql/parsing/ast.py

[paths]
source =
src/
dj/
*/site-packages/

[report]
Expand All @@ -26,3 +29,5 @@ exclude_lines =
# Don't complain if non-runnable code isn't run:
if 0:
if __name__ == .__main__.:

if TYPE_CHECKING:
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
### Summary

<!-- What's this change about? -->

### Test Plan

<!-- How did you test your change? -->

- [ ] PR has an associated issue: #
- [ ] `make check` passes
- [ ] `make test` shows 100% unit test coverage

### Deployment Plan

<!-- Any special instructions around deployment? -->
114 changes: 114 additions & 0 deletions .github/workflows/client-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: "Manual : Run client integration tests"
on:
schedule:
- cron: '0 12 * * *'
workflow_dispatch:
jobs:
python-client-integration:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11']
steps:
- uses: actions/checkout@v2
- name: Build and launch DJ demo environment
uses: hoverkraft-tech/compose-action@v2.0.1
with:
compose-file: "./docker-compose.yml"
services: |
dj
postgres_metadata
db-migration
db-seed
djqs
djqs-db-migration
djrs-redis
djrs-worker
djrs-beat
dj-trino
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- uses: pdm-project/setup-pdm@v3
name: Setup PDM
with:
python-version: ${{ matrix.python-version }}
architecture: x64
prerelease: true
enable-pep582: true
- name: Install dependencies
run: |
pdm sync -d
cd ./datajunction-clients/python; pdm install -d -G pandas
- name: Python client integration tests
run: cd datajunction-clients/python && make test PYTEST_ARGS="--integration -k test_integration"

javascript-client-integration:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Build and launch DJ demo environment
uses: hoverkraft-tech/compose-action@v2.0.1
with:
compose-file: "./docker-compose.yml"
services: |
dj
postgres_metadata
db-migration
db-seed
djqs
djqs-db-migration
djrs-redis
djrs-worker
djrs-beat
dj-trino
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install Dev Dependencies
run: npm install --only=dev
working-directory: ./datajunction-clients/javascript
- name: Javascript client integration tests
run: npm test
working-directory: ./datajunction-clients/javascript

java-client-integration:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 17 ]
distribution: [ 'temurin' ]
steps:
- uses: actions/checkout@v3
- name: Build and launch DJ demo environment
uses: hoverkraft-tech/compose-action@v2.0.1
with:
compose-file: "./docker-compose.yml"
services: |
dj
postgres_metadata
db-migration
db-seed
djqs
djqs-db-migration
djrs-redis
djrs-worker
djrs-beat
dj-trino
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.distribution }}
- name: Build with Gradle
uses: gradle/gradle-build-action@v3
with:
arguments: cleanTest test
build-root-directory: ./datajunction-clients/java

65 changes: 65 additions & 0 deletions .github/workflows/generate-openapi-client.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: "Manual : Generate OpenAPI client"
on:
workflow_dispatch:
jobs:
generate-python-client:
env:
PDM_DEPS: 'urllib3<2'
runs-on: ubuntu-latest
name: Generate Python Client
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Install DJ
run: |
python -m pip install --upgrade pip
pip install .

- name: Generate OpenAPI Spec
run: ./scripts/generate-openapi.py -o openapi.json

- name: Configure Git
run: |
git config user.name "GitHub Actions Bot"
git config user.email "<>"

- name: Commit OpenAPI Spec
run: |
git add openapi.json
git commit -m "Updating OpenAPI Spec"

- name: Generate Python client
uses: openapi-generators/openapitools-generator-action@v1.4.0
with:
generator: python
openapi-file: openapi.json
config-file: ./.github/files/python-client-gen.yml
command-args: --skip-validate-spec

- name: Move client to right directory
run: |
mkdir -p ./openapi/python
cp -r python-client/* ./openapi/python/
rm -rf python-client

- name: Set short sha
id: sha
run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Commit generated files
run: |
git add openapi/python/
git commit -m "Update DJ Python client"
git checkout -b ci-pr/python-client-${{ steps.sha.outputs.short_sha }}
git push --set-upstream origin ci-pr/python-client-${{ steps.sha.outputs.short_sha }}

- name: Open a PR
run: gh pr create -B main -H ci-pr/python-client-${{ steps.sha.outputs.short_sha }} --title 'Update Python Client - ${{ steps.sha.outputs.short_sha }}' --body '(This PR was generated by a GitHub action)'
env:
GITHUB_TOKEN: ${{ secrets.REPO_SCOPED_TOKEN }}
61 changes: 61 additions & 0 deletions .github/workflows/generate-openapi-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: "Manual : Generate OpenAPI spec"
on:
workflow_dispatch:
jobs:
generate-openapi-spec:
env:
PDM_DEPS: 'urllib3<2'
defaults:
run:
working-directory: ./datajunction-server
runs-on: ubuntu-latest
name: OpenAPI Spec
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 19

- name: Install DJ
run: |
python -m pip install --upgrade pip
pip install .

- name: Generate OpenAPI Spec
run: |
./scripts/generate-openapi.py -o ../openapi.json

- name: Generate Markdown Docs from Spec
run: |
npm install -g widdershins
widdershins ../openapi.json -o ../docs/content/0.1.0/docs/developers/the-datajunction-api-specification.md --code=true --omitBody=true --summary=true

- name: Configure Git
run: |
git config user.name "GitHub Actions Bot"
git config user.email "<>"

- name: Set short sha
id: sha
run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Commit OpenAPI Spec
run: |
git add ../openapi.json
git add ../docs/content/0.1.0/docs/developers/the-datajunction-api-specification.md
git commit -m "Updating OpenAPI Spec"
git checkout -b ci-pr/python-client-${{ steps.sha.outputs.short_sha }}
git push --set-upstream origin ci-pr/python-client-${{ steps.sha.outputs.short_sha }}

- name: Open a PR
run: gh pr create -B main -H ci-pr/python-client-${{ steps.sha.outputs.short_sha }} --title 'Update OpenAPI Spec - ${{ steps.sha.outputs.short_sha }}' --body '(This PR was generated by a GitHub action)'
env:
GITHUB_TOKEN: ${{ secrets.REPO_SCOPED_TOKEN }}
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python package
name: "@Daily : Run tests with latest dependencies"

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 6 * * *'

jobs:
build:
daily:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [3.8, 3.9, '3.10']
python-version: ['3.10', '3.11.0rc1']

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
- name: Install latest dependencies
run: |
python -m pip install --upgrade pip
pip install -e '.[testing]'
- name: Test with pytest
run: |
pytest --cov=src/datajunction -vv tests/ --doctest-modules src/datajunction
pre-commit run --all-files
pytest --cov-fail-under=100 --cov=dj -vv tests/ --doctest-modules dj --without-integration --without-slow-integration
Loading