diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yml b/.github/ISSUE_TEMPLATE/02-bug_report.yml index 8e4e3680..f462a543 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yml @@ -12,11 +12,12 @@ body: label: Affected Stackable version description: Which version of the Stackable Operator do you see this bug in? -# - type: input +# + - type: input attributes: label: Affected Apache NiFi version description: Which version of Apache NiFi do you see this bug in? -# +# - type: textarea attributes: label: Current and expected behavior diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 50296286..b48719fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,11 +42,11 @@ jobs: 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 @@ -110,11 +110,11 @@ jobs: 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 }} @@ -122,7 +122,7 @@ jobs: 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 @@ -139,11 +139,11 @@ jobs: 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 @@ -178,11 +178,11 @@ jobs: 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 @@ -201,11 +201,11 @@ jobs: 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 @@ -226,7 +226,7 @@ jobs: 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 @@ -261,11 +261,11 @@ jobs: 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 @@ -332,15 +332,15 @@ jobs: 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 }} @@ -376,9 +376,9 @@ jobs: # 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 @@ -421,9 +421,9 @@ jobs: 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 diff --git a/.github/workflows/general_daily_security.yml b/.github/workflows/general_daily_security.yml index 46a1862d..d4c7825c 100644 --- a/.github/workflows/general_daily_security.yml +++ b/.github/workflows/general_daily_security.yml @@ -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 diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 767f57e9..b58d2bac 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -1,17 +1,5 @@ --- 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: @@ -19,119 +7,54 @@ on: # - 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 diff --git a/.github/workflows/pr_pre-commit.yaml b/.github/workflows/pr_pre-commit.yaml index a781f1e6..776d3ee5 100644 --- a/.github/workflows/pr_pre-commit.yaml +++ b/.github/workflows/pr_pre-commit.yaml @@ -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 }} diff --git a/tests/infrastructure.yaml b/tests/infrastructure.yaml deleted file mode 100644 index 34fc945e..00000000 --- a/tests/infrastructure.yaml +++ /dev/null @@ -1,5 +0,0 @@ -cluster-ttl: 6h -instance-size: medium -disk: 100 -nodes: 3 -parallelism: 1 diff --git a/tests/interu.yaml b/tests/interu.yaml new file mode 100644 index 00000000..56bafbdd --- /dev/null +++ b/tests/interu.yaml @@ -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