fix: favicon path update #39
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: Deploy to AWS | |
on: | |
push: | |
branches: ['Abel/Deploy'] # Update to push to 'main' when complete | |
concurrency: | |
group: deploy-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
AWS_REGION: ${{ secrets.AWS_REGION }} # Use GitHub secrets for AWS region | |
ECR_REPOSITORY: app # Set this to your Amazon ECR repository name | |
ECS_SERVICE: SkyDevOps # Set this to your Amazon ECS service name | |
ECS_CLUSTER: Sky # Set this to your Amazon ECS cluster name | |
permissions: | |
contents: read | |
jobs: | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-latest | |
environment: production | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Login to AWS ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v2 | |
- name: Build and push new Docker image to AWS ECR | |
id: build-image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
IMAGE_TAG: latest | |
run: | | |
# Enable error handling | |
set -e | |
set -o pipefail | |
# Use Docker Buildx to build the image for x86_64 | |
docker buildx build --platform linux/amd64 --push -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . | |
echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT | |
- name: Deploy to AWS ECS | |
run: | | |
# Enable error handling | |
set -e | |
set -o pipefail | |
# Update the ECS service to use the latest task definition revision and capture output | |
UPDATE_OUTPUT=$(aws ecs update-service \ | |
--cluster ${{ env.ECS_CLUSTER }} \ | |
--service ${{ env.ECS_SERVICE }} \ | |
--force-new-deployment) | |
# Wait until the service has stabilized | |
aws ecs wait services-stable \ | |
--cluster ${{ env.ECS_CLUSTER }} \ | |
--services ${{ env.ECS_SERVICE }} | |
# Echo the output for debugging purposes | |
echo "$UPDATE_OUTPUT" |