diff --git a/.github/workflows/pr_prek.yml b/.github/workflows/pr_prek.yml index 366ae229..ea0b071a 100644 --- a/.github/workflows/pr_prek.yml +++ b/.github/workflows/pr_prek.yml @@ -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 }} diff --git a/config/retired_files.yaml b/config/retired_files.yaml index 7ba4bc20..acecc221 100644 --- a/config/retired_files.yaml +++ b/config/retired_files.yaml @@ -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 diff --git a/template/.github/workflows/build.yaml.j2 b/template/.github/workflows/build.yaml.j2 index 36866cec..34c72f40 100644 --- a/template/.github/workflows/build.yaml.j2 +++ b/template/.github/workflows/build.yaml.j2 @@ -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' @@ -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 }} @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 }} @@ -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 }} diff --git a/template/.github/workflows/integration-test-custom.yaml b/template/.github/workflows/integration-test-custom.yaml new file mode 100644 index 00000000..4683e387 --- /dev/null +++ b/template/.github/workflows/integration-test-custom.yaml @@ -0,0 +1,49 @@ +--- +name: Integration Test (Custom) + +on: + workflow_dispatch: + inputs: + test-runner: + description: Name of the test runner, eg. `amd64` (see test/interu.yaml) + required: true + test-suite: + description: Name of the test-suite, eg. `openshift` + test: + description: Name of the test, eg. `smoke` + +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 + 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-runner }} + test-suite: ${{ inputs.test-suite }} + test-mode: custom + test: ${{ inputs.test }} + + - 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 diff --git a/template/.github/workflows/integration-test-profile.yaml b/template/.github/workflows/integration-test-profile.yaml new file mode 100644 index 00000000..8d5acd6f --- /dev/null +++ b/template/.github/workflows/integration-test-profile.yaml @@ -0,0 +1,59 @@ +--- +name: Integration Test (Profile + Schedule) + +on: + schedule: + # At 04:00 on Sunday. See: https://crontab.guru/#0_4_*_*_0 + - cron: "0 4 * * 0" + workflow_dispatch: + inputs: + test-profile: + description: Name of the test runner, eg. `smoke-latest` or `schedule` (see test/interu.yaml) + required: true + +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: Determine Profile + id: profile + env: + GITHUB_EVENT_NAME: ${{ github.event_name }} + PROFILE_INPUT: ${{ inputs.test-profile }} + shell: bash + run: | + if [ "$EVENT_NAME" = "schedule" ]; then + echo "PROFILE=schedule" | tee -a "$GITHUB_OUTPUT" + else + echo "PROFILE=${PROFILE_INPUT}" | tee -a "$GITHUB_OUTPUT" + fi + + - name: Run Integration Test + id: test + 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: ${{ steps.profile.outputs.PROFILE }} + 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 diff --git a/template/.github/workflows/integration-test.yml b/template/.github/workflows/integration-test.yml deleted file mode 100644 index 3a1582b1..00000000 --- a/template/.github/workflows/integration-test.yml +++ /dev/null @@ -1,65 +0,0 @@ ---- -name: Integration Test - -on: - # schedule: - # # At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0 - # - cron: "0 0 * * 0" - workflow_dispatch: - inputs: - test-mode: - description: Test mode - required: true - type: choice - options: - - profile - - custom - test-mode-input: - description: | - The profile or the runner used. Eg: `smoke-latest` or `amd64` (see tests/interu.yaml) - required: true - 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` - -permissions: {} - -jobs: - test: - name: Run Integration Test - 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 - with: - 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() || github.run_attempt > 1 }} - uses: stackabletech/actions/send-slack-notification@dc83bb926cc464f0f32454e934777116bd1c7768 # v0.16.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 diff --git a/template/.github/workflows/pr_prek.yaml.j2 b/template/.github/workflows/pr_prek.yaml.j2 index 9888e046..c461042d 100644 --- a/template/.github/workflows/pr_prek.yaml.j2 +++ b/template/.github/workflows/pr_prek.yaml.j2 @@ -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 }}