Skip to content

Nightly Acceptance Tests #120

Nightly Acceptance Tests

Nightly Acceptance Tests #120

Workflow file for this run

name: Nightly Acceptance Tests
on:
schedule:
# Will run at 00:00 every day
- cron: "0 0 * * *"
jobs:
nightly:
strategy:
fail-fast: false
matrix:
products:
- container/v1beta1
- instance/v1
- marketplace/v2
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# Checkout should always be before setup-go to ensure caching is working
- name: Checkout
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: 1.23.0
- name: Run Acceptance Tests
run: go test -v ./api/${{ matrix.products }} -timeout=4h
env:
SDK_UPDATE_CASSETTES: true
SCW_DEBUG: 1
SCW_ACCESS_KEY: ${{ secrets.SCW_ACCESS_KEY }}
SCW_SECRET_KEY: ${{ secrets.SCW_SECRET_KEY }}
SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
SCW_DEFAULT_PROJECT_ID: ${{ secrets.SCW_DEFAULT_PROJECT_ID }}
- name: Ping on failure
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "'"Scaleway Sdk-Go Nightly workflow failed: <https://github.com/scaleway/scaleway-sdk-go/actions/runs/${GITHUB_RUN_ID}|${FAILED_PRODUCT}>"'"
}
}
]
}' \
${SLACK_WEBHOOK_NIGHTLY};
env:
SLACK_WEBHOOK_NIGHTLY: ${{ secrets.SLACK_WEBHOOK_NIGHTLY }}
FAILED_PRODUCT: ${{ matrix.products }}
# sweeper needs to run after nightly completed
# no matter what are the results of the jobs
sweeper:
runs-on: ubuntu-latest
permissions:
contents: read
needs: nightly
if: always()
steps:
# Checkout should always be before setup-go to ensure caching is working
- name: Checkout
uses: actions/checkout@v5
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: 1.23.0
- name: Run sweepers
run: go run -v ./cmd/sdk-sweeper
env:
SCW_DEBUG: 1
SCW_ACCESS_KEY: ${{ secrets.SCW_ACCESS_KEY }}
SCW_SECRET_KEY: ${{ secrets.SCW_SECRET_KEY }}
SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }}
SCW_DEFAULT_PROJECT_ID: ${{ secrets.SCW_DEFAULT_PROJECT_ID }}
- name: Ping on failure
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "'"Scaleway Sdk-Go sweepers in Nightly workflow failed: <https://github.com/scaleway/scaleway-sdk-go/actions/runs/${GITHUB_RUN_ID}>"'"
}
}
]
}' \
${SLACK_WEBHOOK_NIGHTLY};
env:
SLACK_WEBHOOK_NIGHTLY: ${{ secrets.SLACK_WEBHOOK_NIGHTLY }}