diff --git a/.github/workflows/integration-test-custom.yaml b/.github/workflows/integration-test-custom.yaml new file mode 100644 index 00000000..6350a318 --- /dev/null +++ b/.github/workflows/integration-test-custom.yaml @@ -0,0 +1,50 @@ +--- +name: Integration Test (Custom) + +on: + pull_request: {} + 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/.github/workflows/integration-test-profile.yaml b/.github/workflows/integration-test-profile.yaml new file mode 100644 index 00000000..145ceaae --- /dev/null +++ b/.github/workflows/integration-test-profile.yaml @@ -0,0 +1,60 @@ +--- +name: Integration Test (Profile + Schedule) + +on: + pull_request: {} + 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/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index de17f182..faf19913 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -43,9 +43,10 @@ jobs: # 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@feat/multi-line-logs # vxxx 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 }} @@ -53,7 +54,7 @@ jobs: - 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@feat/multi-line-logs # vxxx with: slack-token: ${{ secrets.SLACK_INTEGRATION_TEST_TOKEN }} failed-tests: ${{ steps.test.outputs.failed-tests }} diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 1b9c6067..87ac496d 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -55,6 +55,8 @@ struct Opts { cmd: Command, } +// need a change to trigger an image build, else tests can't pull the image with the PR tag. + #[tokio::main] async fn main() -> anyhow::Result<()> { let opts = Opts::parse(); diff --git a/tests/interu.yaml b/tests/interu.yaml index 56bafbdd..a76ae213 100644 --- a/tests/interu.yaml +++ b/tests/interu.yaml @@ -1,7 +1,7 @@ --- runners: amd64: - platform: aks-1.32 + platform: aks-1.36 ttl: 6h node-groups: - name: default