Skip to content

ci: Update integration test workflow and action versions #836

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 19, 2025
Merged
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
5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/02-bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@
label: Affected Stackable version
description: Which version of the Stackable Operator do you see this bug in?

# - type: input
#

Check warning on line 15 in .github/ISSUE_TEMPLATE/02-bug_report.yml

View workflow job for this annotation

GitHub Actions / pre-commit

15:1 [comments-indentation] comment not indented like content
- type: input
attributes:
label: Affected Apache NiFi version
description: Which version of Apache NiFi do you see this bug in?
#
#

Check warning on line 20 in .github/ISSUE_TEMPLATE/02-bug_report.yml

View workflow job for this annotation

GitHub Actions / pre-commit

20:1 [comments-indentation] comment not indented like content
- type: textarea
attributes:
label: Current and expected behavior
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@
RUSTC_BOOTSTRAP: 1
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand Down Expand Up @@ -110,19 +110,19 @@
continue-on-error: ${{ matrix.checks == 'advisories' }}

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
- uses: EmbarkStudios/cargo-deny-action@30f817c6f72275c6d54dc744fbca09ebc958599f # v2.0.12
- uses: EmbarkStudios/cargo-deny-action@f2ba7abc2abebaf185c833c3961145a3c275caad # v2.0.13
with:
command: check ${{ matrix.checks }}

run_rustfmt:
name: Run Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand All @@ -139,11 +139,11 @@
runs-on: ubuntu-latest
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand All @@ -155,7 +155,7 @@
with:
key: clippy
cache-all-crates: "true"
# TODO (@Techassi): Remove this step (unmaintained action, kinda useless step anyway)

Check warning on line 158 in .github/workflows/build.yml

View workflow job for this annotation

GitHub Actions / pre-commit

158:9 [comments-indentation] comment not indented like content
- name: Run clippy action to produce annotations
uses: giraffate/clippy-action@13b9d32482f25d29ead141b79e7e04e7900281e0 # v1.0.1
env:
Expand All @@ -165,7 +165,7 @@
clippy_flags: --all-targets -- -D warnings
reporter: 'github-pr-review'
github_token: ${{ secrets.GITHUB_TOKEN }}
# TODO (@Techassi): Remove, done by pre-commit

Check warning on line 168 in .github/workflows/build.yml

View workflow job for this annotation

GitHub Actions / pre-commit

168:9 [comments-indentation] comment not indented like content
- name: Run clippy manually without annotations
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -178,11 +178,11 @@
runs-on: ubuntu-latest
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
Expand All @@ -201,11 +201,11 @@
runs-on: ubuntu-latest
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand All @@ -226,7 +226,7 @@
name: Check if committed README is the one we would render from the available parts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand Down Expand Up @@ -261,11 +261,11 @@
runs-on: ubuntu-latest
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand Down Expand Up @@ -332,20 +332,20 @@
IMAGE_TAG: ${{ steps.printtag.outputs.IMAGE_TAG }}
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@4c82c3ccdc1344ee11e9775dbdbdf43aa8a5614e # v1.5.1
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ${{ matrix.runner }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
- uses: cachix/install-nix-action@f0fe604f8a612776892427721526b4c7cfb23aba # v31.4.1
- uses: cachix/install-nix-action@fc6e360bedc9ee72d75e701397f0bb30dce77568 # v31.5.2
- uses: dtolnay/rust-toolchain@b3b07ba8b418998c39fb20f53e8b695cdcc8de1b
with:
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
components: rustfmt
# This step checks if the current run was triggered by a push to a pr (or a pr being created).

Check warning on line 348 in .github/workflows/build.yml

View workflow job for this annotation

GitHub Actions / pre-commit

348:9 [comments-indentation] comment not indented like content
# If this is the case it changes the version of this project in all Cargo.toml files to include the suffix
# "-pr<prnumber>" so that the published artifacts can be linked to this PR.
- uses: stackabletech/cargo-install-action@main
Expand Down Expand Up @@ -376,9 +376,9 @@

# Recreate charts and publish charts and docker image.
- name: Install cosign
uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac # v3.9.1
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
- name: Install syft
uses: anchore/sbom-action/download-syft@cee1b8e05ae5b2593a75e197229729eabaa9f8ec # v0.20.2
uses: anchore/sbom-action/download-syft@da167eac915b4e86f08b264dbdbc867b61be6f0c # v0.20.5
- name: Build Docker image and Helm chart
run: |
# Installing helm and yq on ubicloud-standard-8-arm only
Expand Down Expand Up @@ -421,9 +421,9 @@
OCI_REGISTRY_SDP_CHARTS_USERNAME: "robot$sdp-charts+github-action-build"
steps:
- name: Install cosign
uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac # v3.9.1
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/general_daily_security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0
Expand Down
139 changes: 31 additions & 108 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
@@ -1,137 +1,60 @@
---
name: Integration Test
run-name: |
Integration Test on ${{ inputs.test-platform }}-${{ inputs.test-architecture }} (${{ inputs.test-run == 'all' && 'all' || format('{0}={1}', inputs.test-run, inputs.test-parameter) }})

env:
DEFAULT_TEST_PLATFORM: kind-1.31.0
DEFAULT_TEST_ARCHITECTURE: amd64
DEFAULT_TEST_RUN: all
DEFAULT_TEST_PARAMETER: "" # Unused when the test-run is 'all'
TEST_PLATFORM: ${{ inputs.test-platform }}
TEST_ARCHITECTURE: ${{ inputs.test-architecture }}
TEST_RUN: ${{ inputs.test-run }}
TEST_PARAMETER: ${{ inputs.test-parameter }}

on:
# schedule:
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0

Check warning on line 6 in .github/workflows/integration-test.yml

View workflow job for this annotation

GitHub Actions / pre-commit

6:5 [comments-indentation] comment not indented like content
# - cron: "0 0 * * 0"
workflow_dispatch:
inputs:
test-platform:
description: |
The test platform to run on
required: true
type: choice
options:
- kind-1.31.2
- kind-1.30.6
- rke2-1.31.2
- rke2-1.30.6
- k3s-1.31.2
- k3s-1.30.6
- aks-1.29
- aks-1.28
- aks-1.27
- eks-1.29
- eks-1.28
- eks-1.27
- gke-1.29
- gke-1.28
- gke-1.27
- okd-4.15
- okd-4.14
- okd-4.13
test-architecture:
description: |
The architecture the tests will run on. Consult the run-integration-test action README for
more details on supported architectures for each distribution
test-mode:
description: Test mode
required: true
type: choice
options:
- amd64
- arm64
test-run:
description: Type of test run
- profile
- custom
test-mode-input:
description: The profile or the runner used
required: true
type: choice
options:
- all
- test-suite
- test
test-parameter:
description: Parameter to `--test-suite` or `--test` (ignored for `all`)
default: smoke
test-suite:
description: Name of the test-suite. Only used if test-mode is `custom`
test:
description: Name of the test. Only used of test-mode is `custom`

jobs:
test:
name: Run Integration Test
runs-on: ubuntu-latest
# services:
# otel-collector:
# image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-k8s:0.131.1
# volumes:
# - .:/mnt
steps:
- name: Override integration test options for scheduled run
if: github.event_name == 'schedule'
shell: bash
run: |
set -euo pipefail

echo "TEST_PLATFORM=$DEFAULT_TEST_PLATFORM" | tee -a "$GITHUB_ENV"
echo "TEST_ARCHITECTURE=$DEFAULT_TEST_ARCHITECTURE" | tee -a "$GITHUB_ENV"
echo "TEST_RUN=$DEFAULT_TEST_RUN" | tee -a "$GITHUB_ENV"
echo "TEST_PARAMETER=$DEFAULT_TEST_PARAMETER" | tee -a "$GITHUB_ENV"

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.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@4483641a7e24057bd2ba51cb4c3f2f0010ad21b7 # v0.8.4
uses: stackabletech/actions/run-integration-test@736565e3b8f657bcddff2897abcf5ccb82ae3e6c # v0.9.0
with:
test-platform: ${{ env.TEST_PLATFORM }}-${{ env.TEST_ARCHITECTURE }}
test-run: ${{ env.TEST_RUN }}
test-parameter: ${{ env.TEST_PARAMETER }}
replicated-api-token: ${{ secrets.REPLICATED_API_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() }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
uses: slackapi/slack-github-action@fcfb566f8b0aab22203f066d80ca1d7e4b5d05b3 # v1.27.1
if: ${{ failure() || github.run_attempt > 1 }}
uses: stackabletech/actions/send-slack-notification@736565e3b8f657bcddff2897abcf5ccb82ae3e6c # v0.9.0
with:
channel-id: "C07UYJYSMSN" # notifications-integration-tests
payload: |
{
"text": "Integration Test *${{ github.repository }}* failed",
"attachments": [
{
"pretext": "Started at ${{ steps.test.outputs.start-time }}, failed at ${{ steps.test.outputs.end-time }}",
"color": "#aa0000",
"actions": [
{
"type": "button",
"text": "Go to integration test run",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
# TODO: Update to version 2.1.0. This could look something like the following.
# The workflow is currently not in use, testing that the new version still works imposes effort.
# So I left it as a future exercise, but saved the current state.
#
# uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
# with:
# method: chat.postMessage
# token: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }}
# payload: |
# channel: "C07UYJYSMSN" # notifications-integration-tests
# text: "Integration Test *${{ github.repository }}* failed"
# attachments:
# - pretext: "Started at ${{ steps.test.outputs.start-time }}, failed at ${{ steps.test.outputs.end-time }}"
# color: "#aa0000"
# actions:
# - type: button
# text: Go to integration test run
# url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
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
6 changes: 3 additions & 3 deletions .github/workflows/pr_pre-commit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install host dependencies
uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # v1.5.3
with:
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
version: ubuntu-latest
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive
fetch-depth: 0
- uses: stackabletech/actions/run-pre-commit@9aae2d1c14239021bfa33c041010f6fb7adec815 # v0.8.2
- uses: stackabletech/actions/run-pre-commit@736565e3b8f657bcddff2897abcf5ccb82ae3e6c # v0.9.0
with:
python-version: ${{ env.PYTHON_VERSION }}
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}
Expand Down
5 changes: 0 additions & 5 deletions tests/infrastructure.yaml

This file was deleted.

25 changes: 25 additions & 0 deletions tests/interu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
runners:
amd64:
platform: aks-1.32
ttl: 6h
node-groups:
- name: default
arch: amd64
size: medium
disk-gb: 100
nodes: 3

profiles:
# TODO (@Techassi): This will be enabled later
# schedule:
# strategy: use-runner
# runner: amd64
# options:
# beku-parallelism: 2
smoke-latest:
strategy: use-runner
runner: amd64
options:
beku-parallelism: 2
beku-test-suite: smoke-latest
Loading