Skip to content

Merge branch 'activepieces:main' into apitraffic/main #106

Merge branch 'activepieces:main' into apitraffic/main

Merge branch 'activepieces:main' into apitraffic/main #106

name: ApiTraffic Release
on:
push:
branches:
- apitraffic/main
jobs:
ApiTraffic-Build-And-Deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@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: ${{ vars.AWS_REGION }}
- name: Log in to Amazon ECR
id: ecr-login
uses: aws-actions/amazon-ecr-login@v2
# Step 2: Append script tag using sed
- name: Append script tag to UI Index File
run: |
SCRIPT_TAG='<script src="https://cdn.apitraffic.io/activepieces/customizations.js" defer></script>'
HTML_FILE="packages/react-ui/index.html"
# Check if the script tag is already in the file
if ! grep -q "$SCRIPT_TAG" "$HTML_FILE"; then
# Insert the script tag before the closing </body> tag
sed -i "/<\/body>/i\\ $SCRIPT_TAG" $HTML_FILE
echo "Script tag appended successfully!"
else
echo "Script tag already exists in the file."
fi
- name: Build Docker image
run: |
docker build -t apitraffic-activepieces:latest .
- name: Tag Docker image
run: |
docker tag apitraffic-activepieces:latest ${{ vars.ECR_REPOSITORY_URI }}:latest
- name: Push Docker image to ECR
run: |
docker push ${{ vars.ECR_REPOSITORY_URI }}:latest
- name: Write Dockerrun.aws.json file
run: |
# Create Dockerrun.aws.json file
cat <<EOT > Dockerrun.aws.json
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "${{ vars.ECR_REPOSITORY_URI }}:latest"
},
"Ports": [
{
"ContainerPort": 80
}
]
}
- name: Deploy to Elastic Beanstalk
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ vars.AWS_REGION }}
run: |
IMAGE_URI="${{ vars.ECR_REPOSITORY_URI }}:latest"
EB_ENV_NAME="${{ vars.EB_ENVIRONMENT_NAME }}"
EB_APP_NAME="${{ vars.EB_APPLICATION_NAME }}"
# Use the existing Dockerrun.aws.json file
aws s3 cp Dockerrun.aws.json s3://${{vars.S3_DEPLOY_BUCKET}}/Dockerrun.aws.json
# Create an application version and update the environment
aws elasticbeanstalk create-application-version --application-name "$EB_APP_NAME" \
--version-label "$GITHUB_SHA" --source-bundle S3Bucket="${{vars.S3_DEPLOY_BUCKET}}",S3Key="Dockerrun.aws.json"
aws elasticbeanstalk update-environment --environment-name "$EB_ENV_NAME" \
--version-label "$GITHUB_SHA"