fix preview tests #22
Workflow file for this run
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
name: E2E Tests for Astro Deploy Action | |
on: | |
push: | |
branches: | |
- main | |
- e2e-tests | |
workflow_dispatch: | |
env: | |
ASTRO_API_TOKEN: ${{ secrets.ASTRO_API_TOKEN }} | |
ORGANIZATION_ID: ${{ secrets.ORGANIZATION_ID }} | |
WORKSPACE_ID: ${{ secrets.WORKSPACE_ID }} | |
DEPLOYMENT_ID: ${{ secrets.DEPLOYMENT_ID }} | |
ASTRONOMER_HOST: ${{ secrets.ASTRONOMER_HOST }} | |
jobs: | |
# dag-deploy-test: | |
# name: DAG Deploy Test | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v4 | |
# - name: Install dependencies | |
# run: | | |
# sudo apt-get install jq | |
# # we need to pre-install the CLI to set the context | |
# curl -sSL https://install.astronomer.io | sudo bash -s | |
# - name: Set CLI context | |
# run: astro context switch ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Get Deployment Info Before Test | |
# id: get-deployment-before | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Simulate DAG Update | |
# run: | | |
# git config user.name "Dummy User" | |
# git config user.email "dummy@example.com" | |
# echo "# Simulated change" >> e2e/astro-project/dags/example_dag_basic.py | |
# git add e2e/astro-project/dags/example_dag_basic.py | |
# git commit -m "Simulate DAG update" | |
# - name: Deploy to Astro | |
# uses: ./ | |
# with: | |
# deployment-id: ${{ secrets.DEPLOYMENT_ID }} | |
# workspace: ${{ secrets.WORKSPACE_ID }} | |
# parse: true | |
# root-folder: e2e/astro-project | |
# - name: Get Deployment Info After Test | |
# id: get-deployment-after | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Validate Deployment | |
# uses: ./.github/workflows/e2e/validate_deployment | |
# with: | |
# dag_tarball_version_before: ${{ steps.get-deployment-before.outputs.desired_dag_tarball_version }} | |
# image_version_before: ${{ steps.get-deployment-before.outputs.desired_image_version }} | |
# dag_tarball_version_after: ${{ steps.get-deployment-after.outputs.desired_dag_tarball_version }} | |
# image_version_after: ${{ steps.get-deployment-after.outputs.desired_image_version }} | |
# pytests-test: | |
# name: Pytest Test | |
# runs-on: ubuntu-latest | |
# needs: dag-deploy-test | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v4 | |
# - name: Install dependencies | |
# run: | | |
# sudo apt-get install jq | |
# # we need to pre-install the CLI to set the context | |
# curl -sSL https://install.astronomer.io | sudo bash -s | |
# - name: Set CLI context | |
# run: astro context switch ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Get Deployment Info Before Test | |
# id: get-deployment-before | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Run Pytest | |
# uses: ./ | |
# with: | |
# deployment-id: ${{ secrets.DEPLOYMENT_ID }} | |
# workspace: ${{ secrets.WORKSPACE_ID }} | |
# pytest: true | |
# root-folder: e2e/astro-project | |
# - name: Get Deployment Info After Test | |
# id: get-deployment-after | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Validate Deployment | |
# uses: ./.github/workflows/e2e/validate_deployment | |
# with: | |
# dag_tarball_version_before: ${{ steps.get-deployment-before.outputs.desired_dag_tarball_version }} | |
# image_version_before: ${{ steps.get-deployment-before.outputs.desired_image_version }} | |
# dag_tarball_version_after: ${{ steps.get-deployment-after.outputs.desired_dag_tarball_version }} | |
# image_version_after: ${{ steps.get-deployment-after.outputs.desired_image_version }} | |
# custom-docker-image-test: | |
# name: Custom Docker Image Test | |
# runs-on: ubuntu-latest | |
# needs: dag-deploy-test | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v2 | |
# - name: Install dependencies | |
# run: | | |
# sudo apt-get install jq | |
# # we need to pre-install the CLI to set the context | |
# curl -sSL https://install.astronomer.io | sudo bash -s | |
# - name: Build Docker image | |
# run: cd e2e/astro-project && docker build -t custom-image:latest . | |
# - name: Set CLI context | |
# run: astro context switch ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Get Deployment Info Before Test | |
# id: get-deployment-before | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Deploy to Astro | |
# uses: ./ | |
# with: | |
# deployment-id: ${{ secrets.DEPLOYMENT_ID }} | |
# workspace: ${{ secrets.WORKSPACE_ID }} | |
# image-name: custom-image:latest | |
# root-folder: e2e/astro-project | |
# - name: Get Deployment Info After Test | |
# id: get-deployment-after | |
# uses: ./.github/workflows/e2e/get_deployment_info | |
# with: | |
# deployment_id: ${{ secrets.DEPLOYMENT_ID }} | |
# organization_id: ${{ secrets.ORGANIZATION_ID }} | |
# astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
# astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
# - name: Validate Deployment | |
# uses: ./.github/workflows/e2e/validate_deployment | |
# with: | |
# dag_tarball_version_before: ${{ steps.get-deployment-before.outputs.desired_dag_tarball_version }} | |
# image_version_before: ${{ steps.get-deployment-before.outputs.desired_image_version }} | |
# dag_tarball_version_after: ${{ steps.get-deployment-after.outputs.desiredDagTarballVersion }} | |
# image_version_after: ${{ steps.get-deployment-after.outputs.desired_image_version }} | |
deployment-preview-test: | |
name: Deployment Preview Test | |
runs-on: ubuntu-latest | |
# needs: custom-docker-image-test | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
id: install-pre-reqs | |
run: | | |
sudo apt-get install jq | |
# we need to pre-install the CLI to set the context | |
curl -sSL https://install.astronomer.io | sudo bash -s | |
echo "preview_id=$(( RANDOM % 1000 ))" >> GITHUB_ENV | |
- name: Set CLI context | |
run: astro context switch ${{ secrets.ASTRONOMER_HOST }} | |
- name: Create Deployment Preview | |
id: create-preview | |
uses: ./ | |
with: | |
deployment-id: ${{ secrets.DEPLOYMENT_ID }} | |
workspace: ${{ secrets.WORKSPACE_ID }} | |
action: create-deployment-preview | |
preview-name: test-preview-${{ steps.install-pre-reqs.outputs.preview-id }} | |
root-folder: e2e/astro-project | |
- name: Get Deployment Info Before Test | |
id: get-deployment-before | |
uses: ./.github/workflows/e2e/get_deployment_info | |
with: | |
deployment_id: ${{ steps.create-preview.outputs.preview-id }} | |
organization_id: ${{ secrets.ORGANIZATION_ID }} | |
astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
- name: Deploy to Deployment Preview | |
id: deploy-preview | |
uses: ./ | |
with: | |
deployment-id: ${{ steps.create-preview.outputs.preview-id }} | |
workspace: ${{ secrets.WORKSPACE_ID }} | |
action: deploy-deployment-preview | |
root-folder: e2e/astro-project | |
preview-name: test-preview-${{ steps.install-pre-reqs.outputs.preview-id }} | |
- name: Get Deployment Info After Test | |
id: get-deployment-after | |
uses: ./.github/workflows/e2e/get_deployment_info | |
with: | |
deployment_id: ${{ steps.deploy-preview.outputs.preview-id }} | |
organization_id: ${{ secrets.ORGANIZATION_ID }} | |
astro_api_token: ${{ secrets.ASTRO_API_TOKEN }} | |
astronomer_host: ${{ secrets.ASTRONOMER_HOST }} | |
- name: Validate Deployment | |
uses: ./.github/workflows/e2e/validate_deployment | |
with: | |
dag_tarball_version_before: ${{ steps.get-deployment-before.outputs.desired_dag_tarball_version }} | |
image_version_before: ${{ steps.get-deployment-before.outputs.desired_image_version }} | |
dag_tarball_version_after: ${{ steps.get-deployment-after.outputs.desired_dag_tarball_version }} | |
image_version_after: ${{ steps.get-deployment-after.outputs.desired_image_version }} | |
- name: Delete Deployment Preview | |
id: delete-preview | |
uses: ./ | |
with: | |
deployment-id: ${{ steps.create-preview.outputs.preview-id }} | |
workspace: ${{ secrets.WORKSPACE_ID }} | |
action: delete-deployment-preview | |
- name: Validate Deployment Preview Deletion | |
run: echo "Deployment preview deleted successfully." |