name: publish prd | Docker image on: push: branches: - main paths-ignore: - '**.md' - 'examples/**' env: AWS_ROLE_DEV_CICD: "arn:aws:iam::463722570299:role/promethai-dev-base-role-github-ci-cd" AWS_ACCOUNT_ID_DEV: "463722570299" ENVIRONMENT: prd jobs: publish_docker_to_ecr: name: Publish Docker PromethAI image runs-on: ubuntu-latest permissions: id-token: write contents: read steps: - name: Take code from repo uses: actions/checkout@v3 - name: Set environment variable for stage id: set-env run: | if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then echo "STAGE=prd" >> $GITHUB_ENV echo "::set-output name=stage::prd" else echo "STAGE=dev" >> $GITHUB_ENV echo "::set-output name=stage::dev" fi # - name: Use output # run: echo "The stage is ${{ steps.set-env.outputs.stage }}" # - name: Configure AWS credentials # uses: aws-actions/configure-aws-credentials@v1 # with: # role-to-assume: ${{ env.AWS_ROLE_DEV_CICD }} # aws-region: eu-west-1 # - name: Create Docker image and push to ECR # uses: ./.github/actions/image_builder # id: generate-promethai-docker # with: # stage: prd # aws_account_id: ${{ env.AWS_ACCOUNT_ID_DEV }} # should_publish: true # ecr_image_repo_name: promethai-prd-backend-promethai-backend # dockerfile_location: ./ # - name: Export Docker image tag # id: export-promethai-docker-tag # run: | # export DOCKER_TAG=$(cat /tmp/.DOCKER_IMAGE_VERSION) # echo "Docker tag is: $DOCKER_TAG" # echo "promethai_docker_tag_backend=$DOCKER_TAG" >> $GITHUB_OUTPUT # ## - name: Create Tag and Release ## runs-on: ubuntu-latest ## uses: actions/checkout@v3 ## needs: publish_docker_to_ecr # ensure this job runs after Docker image is pushed ## steps: ## - name: Check out code ## uses: actions/checkout@v3 ## - name: Bump version and push tag ## id: bump_version_and_push_tag ## uses: anothrNick/github-tag-action@1.34.0 ## env: ## GITHUB_TOKEN: ${{ secrets.PAT_FOR_CROSS_REPOS_CICD_TRIGGERING }} ## WITH_V: true ## DEFAULT_BUMP: 'minor' # or 'minor' or 'major' ## - name: Create Release ## id: create_release ## uses: actions/create-release@v1 ## env: ## GITHUB_TOKEN: ${{ secrets.PAT_FOR_CROSS_REPOS_CICD_TRIGGERING }} ## with: ## tag_name: ${{ steps.bump_version_and_push_tag.outputs.tag }} ## release_name: Release ${{ steps.bump_version_and_push_tag.outputs.tag }} # outputs: # promethai_docker_tag_backend: ${{ steps.export-promethai-docker-tag.outputs.promethai_docker_tag_backend }} # # apply_tf: # name: Trigger terraform apply workflow # runs-on: ubuntu-latest # needs: publish_docker_to_ecr # steps: # - name: TF apply workflow triggers step # uses: actions/github-script@v6 # with: # github-token: ${{ secrets.PAT_FOR_CROSS_REPOS_CICD_TRIGGERING }} # script: | # await github.rest.actions.createWorkflowDispatch({ # owner: 'topoteretes', # repo: 'PromethAI-Infra', # workflow_id: 'terraform.apply.yml', # ref: 'main' # })