-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
159 changed files
with
6,497 additions
and
5,325 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,226 @@ | ||
name: Nightly Release Tests | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
# Run every night at 2 AM UTC | ||
- cron: '0 2 * * *' | ||
|
||
jobs: | ||
not-cluster-tests: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Run not cluster tests | ||
env: | ||
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | ||
TEST_USERNAME: ${{ secrets.TEST_USERNAME }} | ||
ORG_MEMBER_TOKEN: ${{ secrets.ORG_MEMBER_TOKEN }} | ||
ORG_MEMBER_USERNAME: ${{ secrets.ORG_MEMBER_USERNAME }} | ||
run: pytest --level release tests -k "not cluster" --detached | ||
timeout-minutes: 180 | ||
|
||
- name: Teardown all clusters | ||
if: always() | ||
run: | | ||
sky status | ||
sky down --all -y | ||
sky status | ||
cluster-tests: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Run cluster and not on-demand tests | ||
env: | ||
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | ||
TEST_USERNAME: ${{ secrets.TEST_USERNAME }} | ||
ORG_MEMBER_TOKEN: ${{ secrets.ORG_MEMBER_TOKEN }} | ||
ORG_MEMBER_USERNAME: ${{ secrets.ORG_MEMBER_USERNAME }} | ||
run: pytest --level release tests -k "cluster and not ondemand" --detached | ||
timeout-minutes: 180 | ||
|
||
- name: Teardown all cluster-tests clusters | ||
if: always() | ||
run: | | ||
sky status | ||
sky down --all -y | ||
sky status | ||
ondemand-aws-tests: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Run on-demand aws tests | ||
env: | ||
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | ||
TEST_USERNAME: ${{ secrets.TEST_USERNAME }} | ||
ORG_MEMBER_TOKEN: ${{ secrets.ORG_MEMBER_TOKEN }} | ||
ORG_MEMBER_USERNAME: ${{ secrets.ORG_MEMBER_USERNAME }} | ||
run: pytest --level release tests -k "ondemand_aws_cluster" --detached | ||
timeout-minutes: 180 | ||
|
||
- name: Teardown all ondemand-aws-tests clusters | ||
if: always() | ||
run: | | ||
sky status | ||
sky down --all -y | ||
sky status | ||
ondemand-gcp-tests: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Run on-demand gcp tests | ||
env: | ||
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | ||
TEST_USERNAME: ${{ secrets.TEST_USERNAME }} | ||
ORG_MEMBER_TOKEN: ${{ secrets.ORG_MEMBER_TOKEN }} | ||
ORG_MEMBER_USERNAME: ${{ secrets.ORG_MEMBER_USERNAME }} | ||
run: pytest --level release tests -k "ondemand_gcp_cluster" --detached | ||
timeout-minutes: 180 | ||
|
||
- name: Teardown all ondemand-gcp-tests clusters | ||
if: always() | ||
run: | | ||
sky status | ||
sky down --all -y | ||
sky status | ||
kubernetes-tests: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Run kubernetes tests | ||
env: | ||
TEST_TOKEN: ${{ secrets.TEST_TOKEN }} | ||
TEST_USERNAME: ${{ secrets.TEST_USERNAME }} | ||
ORG_MEMBER_TOKEN: ${{ secrets.ORG_MEMBER_TOKEN }} | ||
ORG_MEMBER_USERNAME: ${{ secrets.ORG_MEMBER_USERNAME }} | ||
run: pytest --level release tests -k "ondemand_k8s_cluster" --detached | ||
timeout-minutes: 180 | ||
|
||
check-cluster-status: | ||
if: always() | ||
needs: | ||
- not-cluster-tests | ||
- cluster-tests | ||
- ondemand-aws-tests | ||
- ondemand-gcp-tests | ||
- kubernetes-tests | ||
runs-on: ubuntu-latest | ||
permissions: | ||
id-token: write | ||
contents: read | ||
steps: | ||
- name: Check out repository code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Release Testing | ||
uses: ./.github/workflows/setup_release_testing | ||
with: | ||
KUBECONFIG: ${{ secrets.KUBECONFIG }} | ||
AWS_OSS_ROLE_ARN: ${{ secrets.AWS_OSS_ROLE_ARN }} | ||
DEV_AWS_ACCESS_KEY: ${{ secrets.DEV_AWS_ACCESS_KEY }} | ||
DEV_AWS_SECRET_KEY: ${{ secrets.DEV_AWS_SECRET_KEY }} | ||
GCP_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} | ||
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} | ||
CI_ACCOUNT_TOKEN: ${{ secrets.CI_ACCOUNT_TOKEN }} | ||
CI_ACCOUNT_USERNAME: ${{ secrets.CI_ACCOUNT_USERNAME }} | ||
API_SERVER_URL: ${{ env.API_SERVER_URL }} | ||
|
||
- name: Wait to check cluster status | ||
run: sleep 600 # 10 minutes | ||
|
||
- name: Check cluster status | ||
run: sky status |
Oops, something went wrong.