Skip to content

debug: Add more detailed debug information for IAM role ARN #15

debug: Add more detailed debug information for IAM role ARN

debug: Add more detailed debug information for IAM role ARN #15

Workflow file for this run

name: Deploy to AWS CloudFormation

Check failure on line 1 in .github/workflows/deploy.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/deploy.yml

Invalid workflow file

(Line: 36, Col: 12): Unrecognized function: 'length'. Located at position 35 within expression: secrets.AWS_ROLE_ARN_DEV != '' && length(secrets.AWS_ROLE_ARN_DEV) || 0
on:
push:
branches:
- main
- deploy
env:
AWS_REGION: ap-northeast-1
PROJECT_NAME: LambdaFramework
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Debug AWS Role ARN
run: |
echo "Current branch: ${{ github.ref }}"
echo "Branch condition: ${{ github.ref == 'refs/heads/main' }}"
echo "Using role ARN: ${{ github.ref == 'refs/heads/main' && secrets.AWS_ROLE_ARN_PROD || secrets.AWS_ROLE_ARN_DEV }}"
echo "AWS_ROLE_ARN_DEV exists: ${{ secrets.AWS_ROLE_ARN_DEV != '' }}"
echo "AWS_ROLE_ARN_PROD exists: ${{ secrets.AWS_ROLE_ARN_PROD != '' }}"
echo "AWS_ROLE_ARN_DEV length: ${{ secrets.AWS_ROLE_ARN_DEV != '' && length(secrets.AWS_ROLE_ARN_DEV) || 0 }}"
echo "AWS_ROLE_ARN_PROD length: ${{ secrets.AWS_ROLE_ARN_PROD != '' && length(secrets.AWS_ROLE_ARN_PROD) || 0 }}"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ github.ref == 'refs/heads/main' && secrets.AWS_ROLE_ARN_PROD || secrets.AWS_ROLE_ARN_DEV }}
aws-region: ${{ env.AWS_REGION }}
- name: Validate SAM template
run: |
# AWS認証情報の確認
aws sts get-caller-identity
echo "AWS Region: $AWS_REGION"
sam validate
env:
AWS_REGION: ${{ env.AWS_REGION }}
- name: Deploy with SAM
run: |
# ブランチに基づいて環境設定を決定
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
STACK_NAME="lambda-framework-prod"
ENVIRONMENT="production"
S3_BUCKET="${{ vars.S3_BUCKET_PROD }}"
else
STACK_NAME="lambda-framework-dev"
ENVIRONMENT="development"
S3_BUCKET="${{ vars.S3_BUCKET_DEV }}"
fi
echo "Deploying to environment: $ENVIRONMENT"
echo "Stack name: $STACK_NAME"
echo "AWS Region: $AWS_REGION"
echo "S3 Bucket: $S3_BUCKET"
sam build
sam deploy --no-confirm-changeset --no-fail-on-empty-changeset \
--stack-name $STACK_NAME \
--s3-bucket $S3_BUCKET \
--parameter-overrides ProjectName=${{ env.PROJECT_NAME }} Environment=$ENVIRONMENT
env:
AWS_REGION: ${{ env.AWS_REGION }}
SAM_CLI_TELEMETRY: 0
- name: Deploy status
if: always()
run: |
# ブランチに基づいて環境設定を決定
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
STACK_NAME="lambda-framework-prod"
ENVIRONMENT="production"
else
STACK_NAME="lambda-framework-dev"
ENVIRONMENT="development"
fi
echo "Deployment completed for branch: ${{ github.ref }}"
echo "Stack name: $STACK_NAME"
echo "Environment: $ENVIRONMENT"
echo "Commit: ${{ github.sha }}"