Skip to content

Commit f65b02e

Browse files
authored
feat(pace-172): update docs with runtimes and upload artifacts to releases (#208)
* docs(pace-172): add runtimes section * fix(pace-172): incorrect path to new docs section * feat(pace-172): upload jar artifacts to release
1 parent c181c30 commit f65b02e

File tree

4 files changed

+52
-3
lines changed

4 files changed

+52
-3
lines changed

.github/workflows/publish-release-artifacts.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,23 @@ jobs:
5252
run: |
5353
make copy-json-schema-to-resources
5454
55-
# JVM artifact
55+
# JVM artifacts
5656
- uses: actions/setup-java@v4
5757
with:
5858
distribution: temurin
59-
java-version: 17
59+
java-version: 21
6060
- uses: gradle/actions/setup-gradle@v3
61-
- run: ./gradlew prepareForDocker -PciBuild -PgeneratedBufDependencyVersion=${{ env.BUF_DEPENDENCY_VERSION }}
61+
- run: ./gradlew build prepareForDocker -PciBuild -PgeneratedBufDependencyVersion=${{ env.BUF_DEPENDENCY_VERSION }}
62+
- name: Upload
63+
env:
64+
GITHUB_TOKEN: ${{secrets.GH_TOKEN}}
65+
run: |
66+
tag_name="${GITHUB_REF##*/}"
67+
mkdir artifacts
68+
find . -type d -name "libs" -not -path "./core/*" -not -path "./build/*" | xargs -I{} find "{}" -type f -name "*.jar" | xargs -I{} sh -c 'cp "{}" "./artifacts/$(echo {} | cut -d / -f 2).jar"'
69+
gh release upload "$tag_name" $(find artifacts -type f -name "*.jar" -printf "%p ")
70+
71+
# Build container image
6272
- name: "Generate Proto Filedescriptor"
6373
# Normally generated in the Gradle prepareForDocker step, but the ciBuild flag disables that
6474
run: |

docs/SUMMARY.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@
4545
* [PostgreSQL](global-actions/global-transforms/processing-platform-tags/postgresql.md)
4646
* [Data Catalog Tags](global-actions/global-transforms/data-catalog-tags.md)
4747

48+
## Runtimes
49+
50+
* [Overview](runtimes/overview.md)
51+
4852
## Plugins
4953

5054
* [Definition](plugins/definition.md)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Running PACE dbt module in a container
2+
3+
The requirements for running PACE dbt module inside a container are:
4+
* JVM Runtime (Java 17 or later)
5+
* The PACE dbt module jar file (can be retrieved from the PACE releases on GitHub)
6+
7+
An example of what a Dockerfile could look like is shown below:
8+
9+
```Dockerfile
10+
FROM eclipse-temurin:21-jre-jammy as jvm
11+
12+
FROM python:slim
13+
14+
RUN mkdir /app
15+
WORKDIR /app
16+
17+
# Copy the JVM runtime
18+
COPY --from=jvm /opt/java/openjdk /opt/java/openjdk
19+
20+
# Set the environment variables and add the JVM to the PATH
21+
ENV JAVA_HOME=/opt/java/openjdk
22+
ENV PATH="${JAVA_HOME}/bin:${PATH}"
23+
```

docs/runtimes/overview/overview.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Runtimes
2+
3+
PACE supports the following runtimes:
4+
5+
* Spring Boot application
6+
A continuous running application that is connected to your Data Catalog and Processing Platform.
7+
This is meant to be instructed through the API to perform specific actions, such as create a view
8+
based on a Data Policy.
9+
* Standalone dbt module
10+
A module that includes the same core functionality that the Spring Boot application offers, but is
11+
meant to be short-lived, within the scope of its task. It is used to extend a dbt project, in
12+
order read the `manifest.json` and create Data Policies based on the models in the dbt project.

0 commit comments

Comments
 (0)