<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Development on GCP Connectors for Apache Flink</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/</link><description>Recent content in Development on GCP Connectors for Apache Flink</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/index.xml" rel="self" type="application/rss+xml"/><item><title>Testing</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/testing/</guid><description>&lt;h1 id="testing"&gt;Testing&lt;a class="anchor" href="#testing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The suites fall into three kinds, split by what they need to run: nothing beyond Docker, real
Google Cloud credentials, or wall clock. &lt;code&gt;just verify&lt;/code&gt; runs the first kind and excludes the
other two, so an ordinary build is credential-free and its duration is bounded.&lt;/p&gt;
&lt;h2 id="unit-and-integration-tests"&gt;Unit and integration tests&lt;a class="anchor" href="#unit-and-integration-tests"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Name a unit test &lt;code&gt;*Test&lt;/code&gt; and an integration test &lt;code&gt;*ITCase&lt;/code&gt;. The build selects by the first
suffix alone: a class ending in &lt;code&gt;Test&lt;/code&gt; runs in the unit execution, and every other test class
lands in the integration execution — an unconventional name does not escape the build, it runs
in the wrong lane. Both kinds run in &lt;code&gt;just verify&lt;/code&gt;. The integration tests
talk to Docker-backed service emulators, so Docker must be running, but no Google Cloud project
is touched. An emulator is a convenience rather than an authority: the deviations that have
been measured are recorded on the connector pages, and the real service is exercised by the
gated suites below.&lt;/p&gt;</description></item><item><title>Checks</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/checks/</guid><description>&lt;h1 id="checks"&gt;Checks&lt;a class="anchor" href="#checks"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Beyond the Maven build, CI runs a suite of repository-specific checkers — scripts under
&lt;code&gt;scripts/&lt;/code&gt; (mostly Python, some shell), most behind a &lt;code&gt;just check-*&lt;/code&gt; recipe.
Several are deliberately two-way: they
hold the documentation to the source &lt;em&gt;and&lt;/em&gt; the source to the documentation, so an option that
loses its table row fails the same check as a table row that loses its option. A contributor
meeting one for the first time should know that its failure message names the repair, and that
it is cheaper to run the relevant checker locally than to discover it on the pull request.&lt;/p&gt;</description></item><item><title>Contributing</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/development/contributing/</guid><description>&lt;h1 id="contributing"&gt;Contributing&lt;a class="anchor" href="#contributing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Contributions are welcome, and they start with an issue rather than a pull request — the same
consensus-first shape as &lt;a href="https://flink.apache.org/how-to-contribute/contribute-code/"&gt;Apache Flink&amp;rsquo;s contribution
process&lt;/a&gt;. Agreeing on the problem
and the approach before code exists is what keeps a pull request reviewable and keeps effort
from being spent on a change that would not be accepted.&lt;/p&gt;
&lt;h2 id="before-writing-code"&gt;Before writing code&lt;a class="anchor" href="#before-writing-code"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Open an issue describing the problem or the proposal, or comment on an existing one, and reach
agreement on the approach there. For a typo-level fix a pull request alone is fine; for
anything that changes behavior, a public API, or a settled design, the discussion comes first.&lt;/p&gt;</description></item></channel></rss>