name: Bankfeed Deployment to Amazon EKS on: push: branches: - main permissions: id-token: write contents: read jobs: deploy: name: Deploy timeout-minutes: 30 runs-on: ubuntu-latest environment: Development steps: - name: Checkout uses: actions/checkout@v4.1.7 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE }} role-session-name: GitHub_to_AWS_via_FederatedOIDC aws-region: ${{ secrets.AWS_REGION }} - name: Login to Amazon ECR Private id: login-ecr uses: aws-actions/amazon-ecr-login@v2.0.1 - name: Build, tag, and push image to Amazon ECR id: build-image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} run: | docker build -t 413144972343.dkr.ecr.us-east-1.amazonaws.com/agents-k8-dev:zfunctions-prod$(echo $GITHUB_SHA | head -c7) -f ./task/Dockerfile ./task docker push 413144972343.dkr.ecr.us-east-1.amazonaws.com/agents-k8-dev:zfunctions-prod$(echo $GITHUB_SHA | head -c7) - name: Update deployment file run: TAG=$(echo $GITHUB_SHA | head -c7) && sed -i 's||413144972343.dkr.ecr.us-east-1.amazonaws.com/agents-k8-dev:zfunctions-prod'${TAG}'|' $GITHUB_WORKSPACE/task/zfunctions-prod.yaml - name: Login AWS EKS on EKS Cluster run: aws eks update-kubeconfig --name ${{ secrets.CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - name: Deploy to AWS EKS run: kubectl apply -f $GITHUB_WORKSPACE/task/zfunctions-prod.yaml