Deploy#1
Merged
Merged
Conversation
- Add GitHub Actions workflow for multi-environment deployment (main/deploy branches) - Create interactive setup scripts for AWS IAM roles and OIDC configuration - create_role.sh: Bash script for Linux/macOS/Windows Git Bash - create_role.ps1: PowerShell script for Windows - Add environment-specific deployment scripts - deploy-env.sh: Local deployment for development/production - deploy-env.ps1: PowerShell version for local deployment - Configure SAM CLI for multi-environment deployment - samconfig.toml: Environment-specific deployment parameters - template.yaml: CloudFormation template with environment parameters - Add GitHub Secrets setup documentation (GITHUB_SECRETS_SETUP.md) - Configure Git attributes for cross-platform compatibility - Update requirements.txt and VS Code settings - Implement branch-based environment mapping: - main branch → production environment - deploy branch → development environment - Add robust tool detection and installation for AWS CLI, SAM CLI, GitHub CLI - Support multiple authentication methods (OIDC, SSO, access keys) - Fix SAM CLI detection to prioritize sam.cmd on Windows
- Remove problematic strategy.matrix configuration - Use conditional logic based on github.ref instead - Simplify deployment configuration for main/deploy branches - Fix 'Unexpected value include' error in workflow
- Fix PIP installation error in GitHub Actions - py-rpds package does not exist, correct name is rpds-py - rpds-py is compatible with Python 3.11 - This resolves the 'Could not find a version that satisfies the requirement' error
- Move sam validate after AWS credentials configuration - Add explicit AWS_REGION environment variable to SAM steps - Add AWS identity verification for debugging - Fix 'AWS Region was not found' error in SAM execution - Ensure proper execution order: credentials → validate → deploy
- Add detailed OIDC provider creation steps - Add IAM role trust policy examples - Add troubleshooting section for 'Request ARN is invalid' error - Include verification commands for OIDC and IAM setup - Add step-by-step setup instructions for multi-account deployment
- Add validation to ensure AWS account ID is properly retrieved - Add debug information showing the exact ARN being registered - Improve error handling for AWS account ID retrieval - Add manual setup instructions when GitHub Secrets registration fails - Fix potential issue where account ID might be missing from ARN
- Fix variable expansion in ARN generation - Use PowerShell subexpression syntax for reliable variable expansion - Add debug information to show AWS account ID and role name - Fix OIDC provider ARN generation with proper variable expansion - Ensure ARN format includes account ID: arn:aws:iam:ACCOUNT_ID:role/ROLE_NAME
- Change from StringEquals to StringLike for sub condition - Allow both main and deploy branches in OIDC trust policy - Fix 'Request ARN is invalid' error in GitHub Actions - Update condition to use array format for multiple branch patterns - Ensure proper OIDC authentication for multi-branch deployment
- Replace hardcoded S3 bucket name with environment-specific variables - Add S3_BUCKET_DEV and S3_BUCKET_PROD variables for multi-environment deployment - Update create_role scripts to register environment-specific S3 bucket variables - Use GitHub Variables instead of hardcoded values for better flexibility - Support different S3 buckets for development and production environments
- Update README with comprehensive documentation - Test OIDC authentication and multi-environment deployment - Verify GitHub Actions workflow with updated configurations
- Add debug step to show current branch and IAM role ARN - Display which secrets are being used - Help identify OIDC authentication issue
- Fix IAM role ARN format from 'arn:aws:iam:ACCOUNT_ID:role/ROLE_NAME' - to 'arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME' (double colon) - This was causing 'Request ARN is invalid' error in GitHub Actions - Update PowerShell script to generate correct ARN format
- Add specific S3 permissions for SAM deployment bucket - Include s3:GetObject, s3:PutObject, s3:DeleteObject, s3:ListBucket - Add s3:GetBucketLocation, s3:GetObjectVersion, s3:PutObjectAcl - Allow s3:CreateBucket, s3:DeleteBucket, s3:ListAllMyBuckets for bucket management - Target specific S3 bucket: cn-seba-aws-sam-cli-managed-default-samclisourcebucket
- Add ProjectName parameter to Parameters section - Fix PROJECT_NAME references to use ProjectName parameter - Update LayerName and Export Name to use ProjectName - This resolves CloudFormation template format error
- Update parameter-overrides to use ProjectName instead of PROJECT_NAME - Ensure template.yaml parameter matches GitHub Actions workflow - Fix CloudFormation deployment parameter mapping
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.