Add debug log #18
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: Docker Build, Push and Deploy Pitchlake UI | |
on: | |
push: | |
branches: | |
- main | |
env: | |
AWS_REGION: eu-central-1 | |
ECR_REPOSITORY: pitchlake-ui-new_images_repository | |
ECS_SERVICE: pitchlake-ui-new-app | |
ECS_CLUSTER: pitchlake-ui-new-ecs-cluster | |
CONTAINER_NAME: pitchlake-ui-new | |
TASK_NAME: pitchlake-ui-new-app | |
NODE_ENV: production | |
PORT: ${{vars.PORT}} | |
NEXT_PUBLIC_VAULT_ADDRESSES: ${{vars.VAULT_ADDRESSES}} | |
NEXT_PUBLIC_API_URL: ${{vars.API_URL}} | |
NEXT_PUBLIC_ENVIRONMENT: ${{vars.ENVIRONMENT}} | |
NEXT_PUBLIC_RPC_URL_MAINNET: ${{secrets.RPC_URL_MAINNET}} | |
NEXT_PUBLIC_RPC_URL_SEPOLIA: ${{secrets.RPC_URL_SEPOLIA}} | |
NEXT_PUBLIC_RPC_URL_DEVNET: ${{secrets.RPC_URL_DEVNET}} | |
NEXT_PUBLIC_RPC_URL_JUNO_DEVNET: ${{vars.RPC_URL_JUNO_DEVNET}} | |
NEXT_PUBLIC_WS_URL: ${{vars.WS_URL}} | |
FOSSIL_API_KEY: ${{secrets.FOSSIL_API_KEY}} | |
NEXT_PUBLIC_FOSSIL_API_URL: ${{vars.FOSSIL_API_URL}} | |
permissions: | |
id-token: write | |
contents: write | |
jobs: | |
build_push_deploy: | |
runs-on: ubuntu-latest | |
environment: staging | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Check if Docker is installed | |
run: | | |
if ! command -v docker &> /dev/null | |
then | |
sudo apt-get update | |
sudo apt-get install -y docker.io | |
sudo apt-get install -y docker-compose | |
fi | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::654654236251:role/terraform-20241003185909187100000001 | |
role-session-name: Github | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Login to Amazon ECR | |
id: login-ecr | |
uses: aws-actions/amazon-ecr-login@v2 | |
with: | |
mask-password: "true" | |
- name: Build, tag, and push image to Amazon ECR | |
id: build-image | |
env: | |
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} | |
ECR_REPOSITORY: ${{ env.ECR_REPOSITORY }} | |
run: | | |
IMAGE_TAG=pitchlake-ui-${{ github.sha }} | |
IMAGE_URI=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG | |
echo "IMAGE_URI=$IMAGE_URI" >> $GITHUB_ENV | |
docker buildx build \ | |
--platform=linux/amd64 \ | |
--build-arg PORT=${{ env.PORT }} \ | |
--build-arg NEXT_PUBLIC_VAULT_ADDRESSES=${{ env.NEXT_PUBLIC_VAULT_ADDRESSES }} \ | |
--build-arg NEXT_PUBLIC_API_URL=${{ env.NEXT_PUBLIC_API_URL }} \ | |
--build-arg NEXT_PUBLIC_ENVIRONMENT=${{ env.NEXT_PUBLIC_ENVIRONMENT }} \ | |
--build-arg NEXT_PUBLIC_RPC_URL_MAINNET=${{ env.NEXT_PUBLIC_RPC_URL_MAINNET }} \ | |
--build-arg NEXT_PUBLIC_RPC_URL_SEPOLIA=${{ env.NEXT_PUBLIC_RPC_URL_SEPOLIA }} \ | |
--build-arg NEXT_PUBLIC_RPC_URL_DEVNET=${{ env.NEXT_PUBLIC_RPC_URL_DEVNET }} \ | |
--build-arg NEXT_PUBLIC_RPC_URL_JUNO_DEVNET=${{ env.NEXT_PUBLIC_RPC_URL_JUNO_DEVNET }} \ | |
--build-arg NEXT_PUBLIC_WS_URL=${{ env.NEXT_PUBLIC_WS_URL }} \ | |
--build-arg FOSSIL_API_KEY=${{ env.FOSSIL_API_KEY }} \ | |
--build-arg NEXT_PUBLIC_FOSSIL_API_URL=${{ env.NEXT_PUBLIC_FOSSIL_API_URL }} \ | |
-f ./Dockerfile \ | |
-t $IMAGE_URI \ | |
./ | |
docker push $IMAGE_URI | |
- name: Download task definition | |
run: | | |
aws ecs describe-task-definition --task-definition ${{ env.TASK_NAME }} --query taskDefinition > task-definition.json | |
- name: Log task definition | |
run: cat task-definition.json | |
- name: Fill in the new image ID in the Amazon ECS task definition | |
id: task-def | |
uses: aws-actions/amazon-ecs-render-task-definition@v1 | |
with: | |
task-definition: task-definition.json | |
container-name: ${{ env.CONTAINER_NAME }} | |
image: ${{ env.IMAGE_URI }} | |
- name: Deploy Amazon ECS task definition | |
uses: aws-actions/amazon-ecs-deploy-task-definition@v2 | |
with: | |
task-definition: ${{ steps.task-def.outputs.task-definition }} | |
service: ${{ env.ECS_SERVICE }} | |
cluster: ${{ env.ECS_CLUSTER }} | |
wait-for-service-stability: true |