Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr_prek.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ jobs:
with:
persist-credentials: false
fetch-depth: 0
- uses: stackabletech/actions/run-prek@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
- uses: stackabletech/actions/run-prek@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
hadolint: ${{ env.HADOLINT_VERSION }}
2 changes: 2 additions & 0 deletions config/retired_files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
# Anything specified in the retired_files variable will be deleted.
# This is uncommented as I had issues with everything being deleted when this was just present as an empty key.
# May be something to investigate.
# TODO (@Techassi): Clean those up
retired_files:
- .readme/static/borrowed/sdp_overview.png
- .github/workflows/integration-test.yaml
- .github/workflows/pr_pre-commit.yaml
- .github/workflows/build.yml
- .github/ISSUE_TEMPLATE/normal-issue.md
Expand Down
22 changes: 11 additions & 11 deletions template/.github/workflows/build.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

- name: Check for changed files
id: check
uses: stackabletech/actions/detect-changes@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/detect-changes@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
patterns: |
- '.github/workflows/build.yaml'
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:

- name: Build Container Image
id: build
uses: stackabletech/actions/build-container-image@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/build-container-image@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-name: ${{ env.OPERATOR_NAME }}
image-index-manifest-tag: ${{ steps.version.outputs.OPERATOR_VERSION }}
Expand All @@ -182,7 +182,7 @@ jobs:

- name: Publish Container Image to oci.stackable.tech
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: stackabletech/actions/publish-image@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-image@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-registry-uri: oci.stackable.tech
image-registry-username: robot$sdp+github-action-build
Expand All @@ -193,7 +193,7 @@ jobs:

- name: Publish Container Image to quay.io
if: ${{ !github.event.pull_request.head.repo.fork }}
uses: stackabletech/actions/publish-image@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-image@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-registry-uri: quay.io
image-registry-username: stackable+robot_sdp_github_action_build
Expand Down Expand Up @@ -223,7 +223,7 @@ jobs:
persist-credentials: false

- name: Publish and Sign Image Index to oci.stackable.tech
uses: stackabletech/actions/publish-image-index-manifest@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-image-index-manifest@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-registry-uri: oci.stackable.tech
image-registry-username: robot$sdp+github-action-build
Expand All @@ -232,7 +232,7 @@ jobs:
image-index-manifest-tag: ${{ needs.build-container-image.outputs.operator-version }}

- name: Publish and Sign Image Index to quay.io
uses: stackabletech/actions/publish-image-index-manifest@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-image-index-manifest@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-registry-uri: quay.io
image-registry-username: stackable+robot_sdp_github_action_build
Expand Down Expand Up @@ -262,7 +262,7 @@ jobs:
submodules: recursive

- name: Package, Publish, and Sign Helm Chart to oci.stackable.tech
uses: stackabletech/actions/publish-helm-chart@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-helm-chart@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
chart-registry-uri: oci.stackable.tech
chart-registry-username: robot$sdp-charts+github-action-build
Expand All @@ -274,7 +274,7 @@ jobs:
publish-and-sign: ${{ !github.event.pull_request.head.repo.fork }}

- name: Package, Publish, and Sign Helm Chart to quay.io
uses: stackabletech/actions/publish-helm-chart@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/publish-helm-chart@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
chart-registry-uri: quay.io
chart-registry-username: stackable+robot_sdp_charts_github_action_build
Expand Down Expand Up @@ -306,13 +306,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Run OpenShift Preflight Check for oci.stackable.tech
uses: stackabletech/actions/run-openshift-preflight@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/run-openshift-preflight@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-index-uri: oci.stackable.tech/sdp/${{ env.OPERATOR_NAME }}:${{ needs.build-container-image.outputs.operator-version }}
image-architecture: ${{ matrix.arch }}

- name: Run OpenShift Preflight Check for quay.io
uses: stackabletech/actions/run-openshift-preflight@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/run-openshift-preflight@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
image-index-uri: quay.io/stackable/sdp/${{ env.OPERATOR_NAME }}:${{ needs.build-container-image.outputs.operator-version }}
image-architecture: ${{ matrix.arch }}
Expand Down Expand Up @@ -378,7 +378,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Send Notification
uses: stackabletech/actions/send-slack-notification@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/send-slack-notification@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
publish-helm-chart-result: ${{ needs.publish-helm-chart.result }}
publish-manifests-result: ${{ needs.publish-index-manifest.result }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
---
name: Integration Test
name: Integration Test (Dispatch)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

As mentioned, we should split this into a profile based workflow, and a kuttl based workflow (to set specific arguments like --test and --parallel)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

You can still set --test and --test-suite with the current approach. Getting rid of interu for the dispatch would also get rid of a whole bunch of wiring (like which cluster to use, setting up env vars, etc).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

My point is the current list of inputs is kinda painful (and that's coming from me who knows how to use it).

I think others in the team will have similar complaints.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

One idea I had was a prek hook that can update a drop-down in the action so it always has selectable items. That would remove some friction.


on:
# schedule:
# # At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
# - cron: "0 0 * * 0"
workflow_dispatch:
inputs:
test-mode:
Expand All @@ -31,31 +28,26 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
# services:
# otel-collector:
# image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-k8s:0.131.1
# volumes:
# - .:/mnt
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
submodules: recursive

# TODO: Enable the scheduled runs which hard-code what profile to use
- name: Run Integration Test
id: test
uses: stackabletech/actions/run-integration-test@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/run-integration-test@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
otlp-bearer-token: ${{ secrets.OTLP_BEARER_TOKEN }}
test-mode-input: ${{ inputs.test-mode-input }}
test-suite: ${{ inputs.test-suite }}
test-mode: ${{ inputs.test-mode }}
test: ${{ inputs.test }}

- name: Send Notification
if: ${{ failure() || github.run_attempt > 1 }}
uses: stackabletech/actions/send-slack-notification@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
uses: stackabletech/actions/send-slack-notification@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
slack-token: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
failed-tests: ${{ steps.test.outputs.failed-tests }}
Expand Down
42 changes: 42 additions & 0 deletions template/.github/workflows/integration-test-schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Integration Test (Schedule)

on:
schedule:
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
- cron: "0 0 * * 0"
Comment on lines +6 to +7

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I also wonder if we want to stagger these eventually. Less load on the image registry, etc...

Wish there was a random delay option in Actions.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

One idea is that we can make the schedule daily. Then each operator can have a local file with the day(s) that it should run. The workflow can bail out early if $today doesn't match the file.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yeah a jitter option would be nice. Also, it seems like we might want to shift the schedule slightly, because 00:00 UTC is very busy according to some threads online and results in massive delays.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yeah makes sense. But I think staggering tests over different days would be better.

If there are problems it gives developers some space to fix things without being overloaded at the start of the week.


permissions: {}

jobs:
test:
name: Run Integration Test
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
submodules: recursive

- name: Run Integration Test
id: test
if: github.event_name == 'schedule'
uses: stackabletech/actions/run-integration-test@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
otlp-bearer-token: ${{ secrets.OTLP_BEARER_TOKEN }}
test-mode-input: schedule
test-mode: profile

- name: Send Notification
if: ${{ failure() || github.run_attempt > 1 }}
uses: stackabletech/actions/send-slack-notification@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
slack-token: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
failed-tests: ${{ steps.test.outputs.failed-tests }}
test-health: ${{ steps.test.outputs.health }}
test-result: ${{ steps.test.conclusion }}
channel-id: C07UYJYSMSN # notifications-integration-tests
type: integration-test
2 changes: 1 addition & 1 deletion template/.github/workflows/pr_prek.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
persist-credentials: false
submodules: recursive
fetch-depth: 0
- uses: stackabletech/actions/run-prek@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.3
- uses: stackabletech/actions/run-prek@b5cc0acc5287f6184551b77f3ae4a5c3e41678c4 # v0.17.3
with:
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}
hadolint: ${{ env.HADOLINT_VERSION }}
Expand Down