Sign in to create and edit playbooks. Sign In Register

Deploy via GitHub Actions

MCE-3 Order: #3 Datalake Formation Has Dependencies

Updated 1 month, 2 weeks ago

Guidance

Purpose

Deploy the CDK app through GitHub Actions with OIDC. Production path for a GitHub-hosted lake repo.

Inputs

  • Lake Scope Contract (ci must be github_actions).
  • CDK Application (includes DeployStack).
  • Starter .github/workflows/deploy.yml — copy from the clone; do not invent a second pipeline. Template: https://github.com/FeatureFactory-io/ops-lake-starter/blob/main/.github/workflows/deploy.yml.
  • Skill GitHub Actions CI/CD → Recipe.

Skip when

ci is gitlab_ci. Do not create deploy.yml "just in case".

Steps

  1. Keep starter .github/workflows/deploy.yml.
  2. Chicken-and-egg: laptop, same region as the contract: cdk bootstrap then cdk deploy OpsLakeDeploy (or --all) once. Read DeployRoleArn from stack outputs. GitHub → Settings → Secrets and variables → Actions → New repository secret AWS_DEPLOY_ROLE_ARN. Also OPSLAKE_GITHUB_PAT (repo, read:org). Never GITHUB_*. After that, never cdk deploy a shared env from a laptop.
  3. permissions: id-token: write. Assume the deploy role via aws-actions/configure-aws-credentials. No AWS_ACCESS_KEY_ID.
  4. Jobs: pytest → cdk deploy --all --require-approval never. Print DeployRoleArn, GithubWebhookUrl, StreamlitMartUrl to the job summary. IAM simulate Streamlit task-role S3 read.
  5. OIDC trust both repo:{org}/{lake_repo}:* and repo:{org}@*/{lake_repo}@*:*. A main push AssumeRoleWithWebIdentity must succeed (check the Actions log).
  6. After first GHA deploy, record URLs/ARNs in docs/deploy-manifest.yaml. Org webhook registration is the next human step (activity Stand Up Serverless Ingestion) — deploy does not by itself land events.

Done when

  • Workflow file is the only shared-env deploy path.
  • OIDC covers both sub shapes; AWS_DEPLOY_ROLE_ARN is set.

Feeds

Pipeline + populate-lake. Shared-env resources appear only after this workflow runs on main.

Details
Order:
#3
Phase:
Predecessor:
MCE-2 Model the Data Lake as CDK Stacks
Created:
Aug 31, 2026
Last Updated:
Sep 17, 2026
Workflow
Model and Deploy Infrastructure as Code

Lock the lake's scope and stand the AWS estate up as code so every later step lands on the same …

View Workflow
Assigned Agent
Data Platform Engineer

Agent: Data Platform Engineer Role Owns Datalake Formation: Scope Contract → Python CDK (DeployStack + …

Required Skills
Rules
Input Artifacts 3
Output Artifacts 1