From c50b037324e51d974aac434f0188970e164997d9 Mon Sep 17 00:00:00 2001 From: Hunia Fatima Date: Tue, 29 Oct 2024 13:41:55 +0500 Subject: [PATCH] chore: consolidate docker image push workflows --- .../push-commerce-coordinator-image.yaml | 59 ---------- .../push-course-discovery-image.yaml | 58 ---------- .github/workflows/push-credentials-image.yaml | 59 ---------- .github/workflows/push-docker-images.yml | 96 ++++++++++++++++ .github/workflows/push-ecommerce-image.yaml | 61 ---------- .../push-edx-analytics-data-api-image.yaml | 58 ---------- .github/workflows/push-edx-exams-image.yaml | 59 ---------- .../workflows/push-edx-notes-api-image.yaml | 58 ---------- .../workflows/push-edx-platform-images.yml | 70 ------------ .../push-enterprise-access-image.yaml | 59 ---------- .../push-enterprise-catalog-image.yaml | 59 ---------- .../push-enterprise-subsidy-image.yaml | 59 ---------- .../push-program-intent-engagement-image.yaml | 58 ---------- .github/workflows/push-registrar-image.yaml | 58 ---------- .github/workflows/push-xqueue-image.yaml | 58 ---------- dockerfiles/edx-notes-api.Dockerfile | 2 +- images-data.json | 104 ++++++++++++++++++ 17 files changed, 201 insertions(+), 834 deletions(-) delete mode 100644 .github/workflows/push-commerce-coordinator-image.yaml delete mode 100644 .github/workflows/push-course-discovery-image.yaml delete mode 100644 .github/workflows/push-credentials-image.yaml create mode 100644 .github/workflows/push-docker-images.yml delete mode 100644 .github/workflows/push-ecommerce-image.yaml delete mode 100644 .github/workflows/push-edx-analytics-data-api-image.yaml delete mode 100644 .github/workflows/push-edx-exams-image.yaml delete mode 100644 .github/workflows/push-edx-notes-api-image.yaml delete mode 100644 .github/workflows/push-edx-platform-images.yml delete mode 100644 .github/workflows/push-enterprise-access-image.yaml delete mode 100644 .github/workflows/push-enterprise-catalog-image.yaml delete mode 100644 .github/workflows/push-enterprise-subsidy-image.yaml delete mode 100644 .github/workflows/push-program-intent-engagement-image.yaml delete mode 100644 .github/workflows/push-registrar-image.yaml delete mode 100644 .github/workflows/push-xqueue-image.yaml create mode 100644 images-data.json diff --git a/.github/workflows/push-commerce-coordinator-image.yaml b/.github/workflows/push-commerce-coordinator-image.yaml deleted file mode 100644 index 8470980..0000000 --- a/.github/workflows/push-commerce-coordinator-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Commerce Coordinator Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/commerce-coordinator.Dockerfile - push: true - target: app - tags: edxops/commerce-coordinator-dev:${{ steps.get-tag-name.outputs.result }} - - # Commenting the notification section temporarily as we don't have the owning team email for red-ventures yet. - # - name: Send failure notification - # if: failure() - # uses: dawidd6/action-send-mail@v3 - # with: - # server_address: email-smtp.us-east-1.amazonaws.com - # server_port: 465 - # username: ${{secrets.edx_smtp_username}} - # password: ${{secrets.edx_smtp_password}} - # subject: Push Image to docker.io/edxops failed in Commerce Coordinator - # to: team-cosmonauts@edx.org - # from: github-actions - # body: Push Image to docker.io/edxops for Commerce Coordinator failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-course-discovery-image.yaml b/.github/workflows/push-course-discovery-image.yaml deleted file mode 100644 index 4805065..0000000 --- a/.github/workflows/push-course-discovery-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Course Discovery Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-22.04 - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/course-discovery.Dockerfile - push: true - target: dev - tags: edxops/discovery-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Course Discovery - to: phoenix@2u.com - from: github-actions - body: Push Image to docker.io/edxops for Course Discovery failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-credentials-image.yaml b/.github/workflows/push-credentials-image.yaml deleted file mode 100644 index f565249..0000000 --- a/.github/workflows/push-credentials-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Credentials Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/credentials.Dockerfile - push: true - target: dev - tags: edxops/credentials-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in credentials - to: team-cosmonauts@edx.org - from: github-actions - body: Push Image to docker.io/edxops for credentials failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-docker-images.yml b/.github/workflows/push-docker-images.yml new file mode 100644 index 0000000..d73f57f --- /dev/null +++ b/.github/workflows/push-docker-images.yml @@ -0,0 +1,96 @@ +name: Build and Publish Docker Images + +on: + workflow_dispatch: + inputs: + image_to_build: + description: "Select an image that you want to build and push" + type: choice + options: + - commerce-coordinator + - course-discovery + - credentials + branch: + description: "Target branch from which the source dockerfile from image will be sourced" + + schedule: + - cron: "0 4 * * 1-5" # UTC Time + +jobs: + set-matrix: + runs-on: ubuntu-22.04 + outputs: + docker_images: ${{ steps.set-images-input.outputs.images_to_build }} + steps: + - name: Check out code + uses: actions/checkout@v4 + + - id: set-images-input + run: | + image_to_build="${{ github.event.inputs.image_to_build }}" + if [[ -n "$image_to_build" ]]; then + images=$(jq -c --arg name "$image_to_build" '[.[] | select(.name == $name)]' images-data.json) + echo "$images" + echo "images_to_build=$images" >> $GITHUB_OUTPUT + else + images=$(jq -c '.' images-data.json) + echo "$images" + echo "images_to_build=$images" >> $GITHUB_OUTPUT + fi + push: + runs-on: ubuntu-22.04 + continue-on-error: true + needs: [set-matrix] + + strategy: + matrix: + images: ${{ fromJson(needs.set-matrix.outputs.docker_images) }} + + steps: + - name: Get publish date + id: get-publish-date + uses: actions/github-script@v7 + with: + script: | + const date = new Date(); + const year = date.getUTCFullYear(); + const month = String(date.getUTCMonth() + 1).padStart(2, '0'); + const day = String(date.getUTCDate()).padStart(2, '0'); + const dateTag = `${year}-${month}-${day}`; + return dateTag + result-encoding: string + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build and push Dev Docker image + uses: docker/build-push-action@v6 + with: + file: ./dockerfiles/${{matrix.images.dockerfile || matrix.images.image_name}}.Dockerfile + push: true + platforms: ${{ matrix.images.os_platform }} + target: ${{ matrix.images.target }} + tags: edxops/${{matrix.images.image_name}}-dev:test, edxops/${{matrix.images.image_name}}-dev:${{ steps.get-publish-date.outputs.result }} + # ${{ steps.get-tag-name.outputs.result }} + + - name: Send failure notification + if: ${{ failure() && (matrix.images.owning_team_email) }} + uses: dawidd6/action-send-mail@v3 + with: + server_address: email-smtp.us-east-1.amazonaws.com + server_port: 465 + username: ${{secrets.edx_smtp_username}} + password: ${{secrets.edx_smtp_password}} + subject: Push Image to docker.io/edxops failed in ${{matrix.images.name}} + to: ${{matrix.images.owning_team_email}} + from: github-actions + body: Push Image to docker.io/edxops for ${{matrix.images.name}} failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-ecommerce-image.yaml b/.github/workflows/push-ecommerce-image.yaml deleted file mode 100644 index 255866a..0000000 --- a/.github/workflows/push-ecommerce-image.yaml +++ /dev/null @@ -1,61 +0,0 @@ -name: Build and Push Ecommerce Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/ecommerce.Dockerfile - push: true - target: dev - tags: edxops/ecommerce-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - -# Commenting this as we don't have email for red ventures yet -# - name: Send failure notification -# if: failure() -# uses: dawidd6/action-send-mail@v3 -# with: -# server_address: email-smtp.us-east-1.amazonaws.com -# server_port: 465 -# username: ${{secrets.edx_smtp_username}} -# password: ${{secrets.edx_smtp_password}} -# subject: Push Image to docker.io/edxops failed in ecommerce -# to: team-cosmonauts@edx.org -# from: github-actions -# body: Push Image to docker.io/edxops for ecommerce failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-edx-analytics-data-api-image.yaml b/.github/workflows/push-edx-analytics-data-api-image.yaml deleted file mode 100644 index 1b60021..0000000 --- a/.github/workflows/push-edx-analytics-data-api-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Edx Analytics Data Api Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/edx-analytics-data-api.Dockerfile - push: true - target: dev - tags: edxops/analytics-api-dev:${{ steps.get-tag-name.outputs.result }} - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Edx Analytics Data Api - to: team-cosmonauts@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Edx Analytics Data Api failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-edx-exams-image.yaml b/.github/workflows/push-edx-exams-image.yaml deleted file mode 100644 index ff8d780..0000000 --- a/.github/workflows/push-edx-exams-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Edx Exams Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/edx-exams.Dockerfile - push: true - target: app - tags: edxops/edx_exams:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in edx-exams - to: team-cosmonauts@edx.org - from: github-actions - body: Push Image to docker.io/edxops for edx-exams failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-edx-notes-api-image.yaml b/.github/workflows/push-edx-notes-api-image.yaml deleted file mode 100644 index 8ad2558..0000000 --- a/.github/workflows/push-edx-notes-api-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Edx Notes Api Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/edx-notes-api.Dockerfile - push: true - target: dev - tags: edxops/edx-notes-api-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Edx Notes Api - to: team-aurora@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Edx Notes Api failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-edx-platform-images.yml b/.github/workflows/push-edx-platform-images.yml deleted file mode 100644 index f68926f..0000000 --- a/.github/workflows/push-edx-platform-images.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Push edx-platform Docker Images - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - push: - runs-on: ubuntu-22.04 - - strategy: - matrix: - variant: - - { tag: 'lms-dev', port: '18000', target: 'development' } - - { tag: 'cms-dev', port: '18000', target: 'development' } - - { tag: 'cms', port: '18010', target: 'production'} - - { tag: 'lms', port: '18010', target: 'production' } - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/edx-platform.Dockerfile - push: true - platforms: linux/amd64,linux/arm64 - target: ${{ matrix.variant.target }} - build-args: | - SERVICE_VARIANT: ${{ matrix.variant.tag }} - SERVICE_PORT: ${{ matrix.variant.port }} - tags: edxops/${{matrix.variant.tag}}:${{ steps.get-tag-name.outputs.result }} - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in edx-platform - to: arch-bom@edx.org - from: github-actions - body: Push Image to docker.io/edxops for edx-platform failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-enterprise-access-image.yaml b/.github/workflows/push-enterprise-access-image.yaml deleted file mode 100644 index e4e81f9..0000000 --- a/.github/workflows/push-enterprise-access-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Enterprise Access Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/enterprise-access.Dockerfile - push: true - target: devstack - tags: edxops/enterprise-access-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Enterprise Access - to: team-titans@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Enterprise Access failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-enterprise-catalog-image.yaml b/.github/workflows/push-enterprise-catalog-image.yaml deleted file mode 100644 index ca77e93..0000000 --- a/.github/workflows/push-enterprise-catalog-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Enterprise Catalog Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/enterprise-catalog.Dockerfile - push: true - target: legacy_devapp - tags: edxops/enterprise-catalog-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Enterprise Catalog - to: team-titans@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Enterprise Catalog failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-enterprise-subsidy-image.yaml b/.github/workflows/push-enterprise-subsidy-image.yaml deleted file mode 100644 index bc776ce..0000000 --- a/.github/workflows/push-enterprise-subsidy-image.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build and Push Enterprise Subsidy Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/enterprise-subsidy.Dockerfile - push: true - target: devstack - tags: edxops/enterprise-subsidy-dev:${{ steps.get-tag-name.outputs.result }} - platforms: linux/amd64,linux/arm64 - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Enterprise Subsidy - to: team-titans@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Enterprise Subsidy failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-program-intent-engagement-image.yaml b/.github/workflows/push-program-intent-engagement-image.yaml deleted file mode 100644 index 7ecd972..0000000 --- a/.github/workflows/push-program-intent-engagement-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Program Intent Engagement Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/program-intent-engagement.Dockerfile - push: true - target: app - tags: edxops/program-intent-engagement-dev:${{ steps.get-tag-name.outputs.result }} - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Program Intent Engagement - to: team-cosmonauts@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Program Intent Engagement failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-registrar-image.yaml b/.github/workflows/push-registrar-image.yaml deleted file mode 100644 index fb70221..0000000 --- a/.github/workflows/push-registrar-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Registrar Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/registrar.Dockerfile - push: true - target: dev - tags: edxops/registrar-dev:${{ steps.get-tag-name.outputs.result }} - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in registrar - to: team-cosmonauts@edx.org - from: github-actions - body: Push Image to docker.io/edxops for registrar failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/push-xqueue-image.yaml b/.github/workflows/push-xqueue-image.yaml deleted file mode 100644 index 72cf5ac..0000000 --- a/.github/workflows/push-xqueue-image.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: Build and Push Xqueue Image - -on: - workflow_dispatch: - inputs: - branch: - description: "Target branch from which the source dockerfile from image will be sourced" - - schedule: - - cron: "0 4 * * 1-5" # UTC Time - -jobs: - build-and-push-image: - runs-on: ubuntu-latest - - steps: - - name: Get tag name - id: get-tag-name - uses: actions/github-script@v5 - with: - script: | - const tagName = "${{ github.event.inputs.branch }}" || 'latest'; - console.log('Will use tag: ' + tagName); - return tagName; - result-encoding: string - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push Dev Docker image - uses: docker/build-push-action@v6 - with: - file: ./dockerfiles/xqueue.Dockerfile - push: true - target: dev - tags: edxops/xqueue-dev:${{ steps.get-tag-name.outputs.result }} - - - name: Send failure notification - if: failure() - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.edx_smtp_username}} - password: ${{secrets.edx_smtp_password}} - subject: Push Image to docker.io/edxops failed in Xqueue - to: team-aurora@edx.org - from: github-actions - body: Push Image to docker.io/edxops for Xqueue failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/dockerfiles/edx-notes-api.Dockerfile b/dockerfiles/edx-notes-api.Dockerfile index 52cace9..ecb7f8d 100644 --- a/dockerfiles/edx-notes-api.Dockerfile +++ b/dockerfiles/edx-notes-api.Dockerfile @@ -47,7 +47,7 @@ RUN apt-get update && apt-get -qy install --no-install-recommends \ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN ln -s /usr/bin/python3 /usr/bin/python -RUN locale-gen en_US.UTF-8 +RUN locale-gen=en_US.UTF-8 ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 diff --git a/images-data.json b/images-data.json new file mode 100644 index 0000000..bc77ed8 --- /dev/null +++ b/images-data.json @@ -0,0 +1,104 @@ +[ + { + "image_name": "commerce-coordinator", + "name": "commerce coordinator", + "os_platform": "linux/arm64", + "target": "app" + }, + { + "image_name": "course-discovery", + "name": "course discovery", + "os_platform": "linux/arm64", + "target": "dev" + }, + { + "image_name": "credentials", + "name": "credentials", + "os_platform": "linux/arm64", + "target": "dev" + }, + { + "image_name": "ecommerce", + "name": "ecommerce", + "os_platform": "linux/arm64", + "target": "dev" + }, + { + "image_name": "edx-analytics-data-api", + "name": "edx analytics data api", + "os_platform": "linux/arm64", + "target": "dev", + "owning_team_email": "cbrash@redventures.com" + }, + { + "image_name": "edx-exams", + "name": "edx exams", + "os_platform": "linux/arm64", + "target": "app", + "owning_team_email": "cbrash@redventures.com" + }, + { + "dockerfile": "edx-platform", + "image_name": "cms-dev", + "name": "lms", + "os_platform": "linux/amd64,linux/arm64", + "target": "development", + "build_args": { + "SERVICE_VARIANT": "cms", + "SERVICE_PORT": "18010" + } + }, + { + "dockerfile": "edx-platform", + "image_name": "lms-dev", + "name": "lms", + "os_platform": "linux/amd64,linux/arm64", + "target": "development", + "build_args": { + "SERVICE_VARIANT": "lms", + "SERVICE_PORT": "18000" + } + }, + { + "image_name": "edx-notes-api", + "name": "edx notes api", + "os_platform": "linux/arm64", + "target": "dev" + }, + { + "image_name": "enterprise-access", + "name": "enterprise access", + "os_platform": "linux/arm64", + "target": "devstack" + }, + { + "image_name": "enterprise-catalog", + "name": "enterprise catalog", + "os_platform": "linux/arm64", + "target": "legacy_devapp" + }, + { + "image_name": "enterprise-subsidy", + "name": "enterprise subsidy", + "os_platform": "linux/arm64", + "target": "devstack" + }, + { + "image_name": "program-intent-engagement", + "name": "program intent engagement", + "os_platform": "linux/arm64", + "target": "app" + }, + { + "image_name": "registrar", + "name": "registrar", + "os_platform": "linux/arm64", + "target": "dev" + }, + { + "image_name": "xqueue", + "name": "xqueue", + "os_platform": "linux/arm64", + "target": "dev" + } +]