Skip to content

ci: adding release please support#4

Merged
tanderson-ld merged 9 commits intomainfrom
ta/sc-235492/adding-release-please-support
Apr 25, 2024
Merged

ci: adding release please support#4
tanderson-ld merged 9 commits intomainfrom
ta/sc-235492/adding-release-please-support

Conversation

@tanderson-ld
Copy link
Contributor

@tanderson-ld tanderson-ld commented Apr 24, 2024

Adds release please support

@tanderson-ld tanderson-ld requested review from a team, cwaldren-ld and louis-launchdarkly and removed request for louis-launchdarkly April 24, 2024 18:51
- uses: ./.github/actions/full-release
with:
workspace_path: lib/java-server-sdk-otel
dry_run: true #TODO make this false

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting the TODOs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. My intention is to merge this and test things out first.

/production/common/releasing/sonatype/password = SONATYPE_PASSWORD,
/production/common/releasing/android_code_signing/private_key_id = SIGNING_KEY_ID,
/production/common/releasing/android_code_signing/private_key_passphrase = SIGNING_KEY_PASSPHRASE'
s3_path_pairs: 'launchdarkly-releaser/android/code-signing-keyring.gpg = code-signing-keyring.gpg'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reviewers: This was part of testing secrets redaction that merged to main temporarily. Is now removed.


-name: Echo Test
shell: bash
run: echo ${{ inputs.echo_test }}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reviewers: This was part of testing secrets redaction that merged to main temporarily. Is now removed.

required: false
default: 'temurin'
echo_test:
required: false
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reviewers: This was part of testing secrets redaction that merged to main temporarily. Is now removed.

@tanderson-ld tanderson-ld merged commit 223648b into main Apr 25, 2024
@tanderson-ld tanderson-ld deleted the ta/sc-235492/adding-release-please-support branch April 25, 2024 18:02
tanderson-ld added a commit that referenced this pull request Feb 12, 2026
…fication (#136)

**Requirements**

- [x] I have followed the repository's [pull request submission
guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)

**Related issues**

N/A

**Describe the solution you've provided**

Adds a new GitHub Actions workflow that runs the Java server SDK
contract tests nightly (4am UTC) with the `-enable-long-running-tests`
flag enabled. If the tests fail, a Slack notification is sent to alert
the team.

Key details:
- **Schedule**: Runs daily at 4am UTC via cron, with `workflow_dispatch`
for manual triggering (supports custom branch and Slack test
notification inputs)
- **Test execution**: Reuses the existing `ci` and `contract-tests`
composite actions; the `contract-tests` action now accepts a
`test_harness_params` input to pass `-enable-long-running-tests`
- **Slack notification**: Uses `slackapi/slack-github-action` (pinned to
v2.1.1 SHA) with an incoming webhook (`SLACK_WEBHOOK_URL` secret) to
post to Slack on failure, including a link to the failed run
- **Test Slack job**: A separate `test-slack-notification` job can be
triggered manually via `workflow_dispatch` to verify the Slack
integration is working
- **Contract test service updates**: Added `server-side-polling`
capability and polling parameter support to the test service entity
- **FDv2 suppressions**: Three `streaming/fdv2` fallback/recovery tests
are suppressed pending spec alignment between Go and Java
implementations

**Items for reviewer attention:**
1. **`SLACK_WEBHOOK_URL` secret** — must be configured in the repo
settings with a webhook routed to `#sdks-java`. The channel is
determined by the webhook configuration, not the workflow.
2. **No `timeout-minutes`** — long-running tests could potentially hang
indefinitely. Consider adding a timeout.
3. **Notification scope** — the Slack job triggers on `failure` only,
not `cancelled` or `timed_out`. Decide if those states should also
notify.
4. **Contract test service changes** — verify the new polling support in
`SdkClientEntity.java` is correct, particularly the conditional logic
for `params.polling != null && params.dataSystem == null` and the base
URI endpoint wiring.

**Describe alternatives you've considered**

- Could use `rtCamp/action-slack-notify` (used by `ldcli`) instead of
`slackapi/slack-github-action`, but the official Slack action is more
widely used across LD repos (`terraform-provider-launchdarkly`,
`streamer`, `ld-docs-private`).

**Updates since initial revision**

- Extended `contract-tests` composite action with `test_harness_params`
input instead of splitting out individual make targets (addresses
original item #4)
- Added `workflow_dispatch` inputs for branch selection and Slack
notification testing
- Added `test-slack-notification` job for verifying Slack integration
- Added `server-side-polling` capability and polling params to the
contract test service
- Added 3 FDv2 streaming fallback/recovery test suppressions (pending
spec alignment)
- Pinned `slackapi/slack-github-action` to v2.1.1 SHA
(`91efab103c0de0a537f72a35f6b8cda0ee76bf0a`)

**Additional context**

[Link to Devin
run](https://app.devin.ai/sessions/9fb4e81a67fd47098803d5d7dabd008b)
Requested by: tanderson@launchdarkly.com


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Primarily CI/workflow changes, but it also adjusts contract-test
service configuration logic for polling which could alter how tests
initialize and exercise the SDK.
> 
> **Overview**
> Adds a new `Nightly Contract Tests` GitHub Actions workflow that runs
server SDK contract tests nightly (and on manual dispatch), with an
optional branch override and an optional Slack test-notification path.
> 
> Extends the `contract-tests` composite action to accept
`test_harness_params` and pass them through to `make`, enabling the
nightly workflow to run the harness with `-enable-long-running-tests`,
and posts a Slack alert via an incoming webhook when the nightly job
fails.
> 
> Updates the contract test service to advertise `server-side-polling`,
accept polling config (including a `filter`), and wire polling
endpoints/data source when streaming isn’t used; also adds FDv2
suppressions for several streaming fallback/recovery tests.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
69b9f64. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: tanderson@launchdarkly.com <tanderson@launchdarkly.com>
Co-authored-by: Todd Anderson <127344469+tanderson-ld@users.noreply.github.com>
Co-authored-by: semgrep-code-launchdarkly[bot] <167133144+semgrep-code-launchdarkly[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants