...
See the bottom of the <properties>
for properties that sub-projects should define.
Making changes to the parent pom
Making changes to the parent pom requires releasing org.apache.flink:flink-connector-parent artifact. But before releasing it, the changes can be tested in CI with the test project hosted in the ci branch. As the 2 components are not hosted in the same branch, a workaround so that the test project can use this updated parent without releasing it is to:
- create a flink-connector-shared-utils-test clone repo with a io.github.user.flink:flink-connector-parent custom artifact in its parent_pom branch. This allows to directly commit to and install the custom artifact in the CI
- update the parent in the pom of the test project in the ci_utils branch to use the io.github.user.flink:flink-connector-parent custom artifact
- add a custom ci script that does the cloning and mvn install in the ci.yml github action script. That way we can test in CI with the updated flink-connector-parent artifact. An example of such a script is below:
Code Block |
---|
steps:
- name: Temp check out parent_pom code
uses: actions/checkout@v3
with:
ref: "my_parent_pom_branch"
- name: Temp install parent_pom
run: mvn clean install |
CI utilities
we have a collection of ci utilities that connectors should use.
...
Code Block |
---|
jobs:
compile_and_test:
uses: ./.github/workflows/ci.yml
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
with:
flink_version: 1.16.0
flink_url: https://dist.apache.org/repos/dist/release/flink/flink-1.16.0/flink-1.16.0-bin-scala_2.12.tgz
branch: v3.0
cache_flink_binary: true |
Release utilities
...