Skip to content

Commit

Permalink
Merge pull request #147 from Ilhasoft/update/v7.4.0
Browse files Browse the repository at this point in the history
Update/v7.4.0
  • Loading branch information
rasoro authored Jul 26, 2023
2 parents 3e51f3b + fbbeb5a commit cff3d75
Show file tree
Hide file tree
Showing 62 changed files with 1,637 additions and 615 deletions.
93 changes: 93 additions & 0 deletions .github/workflows/build-courier-push-tag-sp-india-ire.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Build Courier in SP, India and Ireland (Push Tag)

on:
push:
tags:
- '*.*.*-staging'
- '*.*.*'

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set variables
run: |
TAG="$( echo "${GITHUB_REF}" | cut -d'/' -f3 )"
if grep -qs -e '^.*.*-develop' <<< "${TAG}" ; then
echo "Found environment: DEVELOP - ${TAG}"
echo "ENVIRONMENT=develop" | tee -a "${GITHUB_ENV}"
exit 1 # stop action
elif grep -qs -e '^.*.*-staging' <<< "${TAG}" ; then
echo "Found environment: STAGING - ${TAG}"
echo "ENVIRONMENT=staging" | tee -a "${GITHUB_ENV}"
elif grep -qs -e '^.*.*' <<< "${TAG}" ; then
echo "No environment found, assuming: PRODUCTION - ${TAG}"
echo "ENVIRONMENT=production" | tee -a "${GITHUB_ENV}"
else
echo 'Not a valid tag. Skipping...'
exit 1
fi
echo "TAG=$TAG" | tee -a "${GITHUB_ENV}"
VERSION="${TAG}"
echo "VERSION=${VERSION}" | tee -a "${GITHUB_ENV}"
echo "COMMIT_SHA=$GITHUB_SHA" | tee -a "${GITHUB_ENV}"
if [[ "${TAG}" == *"-india"* ]]; then
echo "IMAGE_TAG=${{ secrets.ECR_INDIA }}/courier:${TAG}" | tee -a "${GITHUB_ENV}"
elif [[ "${TAG}" == *"-ire"* ]]; then
echo "IMAGE_TAG=${{ secrets.ECR_IRE }}/rp-courier-rapidpro:${TAG}" | tee -a "${GITHUB_ENV}"
else
echo "IMAGE_TAG=${{ secrets.ECR_SP }}/push-courier:${TAG}" | tee -a "${GITHUB_ENV}"
fi
echo "IMAGE_SOURCE_URL=https://github.com/weni-ai/courier" | tee -a "${GITHUB_ENV}"
echo "MANIFESTS_REPOSITORY=Ilhasoft/kubernetes-manifests-platform" | tee -a "${GITHUB_ENV}"
echo "MANIFESTS_APPLICATION=weni-flows/courier" | tee -a "${GITHUB_ENV}"
echo "MANIFESTS_PATCH_TARGET=deployment.json" | tee -a "${GITHUB_ENV}"
- name: Check out the repo
uses: actions/checkout@v3
with:
ref: "${{env.GITHUB_SHA}}"

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to Registry India
if: ${{ contains(env.TAG, '-india') }}
uses: docker/login-action@v2
with:
registry: ${{ secrets.ECR_INDIA }}
username: ${{ secrets.AWS_ACCESS_KEY_ID_INDIA }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY_INDIA }}

- name: Login to Registry Ireland
if: ${{ contains(env.TAG, '-ire') }}
uses: docker/login-action@v2
with:
registry: ${{ secrets.ECR_IRE }}
username: ${{ secrets.AWS_ACCESS_KEY_ID_IRE }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY_IRE }}

- name: Login to Registry SP
if: ${{ !contains(env.TAG, '-india') && !contains(env.TAG, '-ire') }}
uses: docker/login-action@v2
with:
registry: ${{ secrets.ECR_SP }}
username: ${{ secrets.AWS_ACCESS_KEY_ID_SP }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY_SP }}

- name: Build and push - Courier Image
uses: docker/build-push-action@v3
with:
context: .
labels: |
tag=${{env.TAG}}
commit=${{env.COMMIT_SHA}}
repository=${{env.IMAGE_SOURCE_URL}}
file: docker/Dockerfile
push: true
tags: "${{env.IMAGE_TAG}}"
no-cache: true

100 changes: 50 additions & 50 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,74 @@
name: CI
on: [push, pull_request]
env:
go-version: '1.17.x'
redis-version: '3.2.4'
go-version: "1.18.x"
redis-version: "5.0.6"
jobs:
test:
name: Test
strategy:
matrix:
pg-version: ['12', '13']
pg-version: ["12", "13"]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v1
- name: Checkout code
uses: actions/checkout@v1

- name: Install Redis
uses: zhulik/[email protected]
with:
redis version: ${{ env.redis-version }}
- name: Install Redis
uses: zhulik/[email protected]
with:
redis version: ${{ env.redis-version }}

- name: Install PostgreSQL
uses: harmon758/postgresql-action@v1
with:
postgresql version: ${{ matrix.pg-version }}
postgresql db: courier_test
postgresql user: courier
postgresql password: courier
- name: Install PostgreSQL
uses: harmon758/postgresql-action@v1
with:
postgresql version: ${{ matrix.pg-version }}
postgresql db: courier_test
postgresql user: courier
postgresql password: courier

- name: Install Go
uses: actions/setup-go@v1
with:
go-version: ${{ env.go-version }}
- name: Install Go
uses: actions/setup-go@v1
with:
go-version: ${{ env.go-version }}

- name: Run tests
run: go test -p=1 -coverprofile=coverage.text -covermode=atomic ./...
- name: Run tests
run: go test -p=1 -coverprofile=coverage.text -covermode=atomic ./...

- name: Upload coverage
if: success()
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: true

- name: Upload coverage
if: success()
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true

release:
name: Release
needs: [test]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v1
- name: Checkout code
uses: actions/checkout@v1

- name: Install Go
uses: actions/setup-go@v1
with:
go-version: ${{ env.go-version }}
- name: Install Go
uses: actions/setup-go@v1
with:
go-version: ${{ env.go-version }}

- name: Publish release
uses: goreleaser/goreleaser-action@v1
if: ${{ !contains(github.ref, '-') }}
with:
version: v0.147.2
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish release
uses: goreleaser/goreleaser-action@v1
if: ${{ !contains(github.ref, '-') }}
with:
version: v0.147.2
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish non-master release
uses: goreleaser/goreleaser-action@v1
if: contains(github.ref, '-')
with:
version: v0.147.2
args: release --rm-dist --skip-validate
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish non-master release
uses: goreleaser/goreleaser-action@v1
if: contains(github.ref, '-')
with:
version: v0.147.2
args: release --rm-dist --skip-validate
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
*.a
*.so
*~
deploy
fabric
fabfile.py
fabfile.pyc
Expand Down Expand Up @@ -34,4 +35,4 @@ _testmain.go
dist/
.envrc
courier
_storage
_storage
146 changes: 146 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,149 @@
v7.4.0
----------
* Update README
* Use analytics package from gocommon

v7.3.10
----------
* Make sure text are sent after audio attachments for WA channels

v7.3.9
----------
* Add arm64 as a build target
* Add support for WA Cloud API
* Refactor FBA tests

v7.3.8
----------
* Add log to status first when handling telegram opt outs

v7.3.7
----------
* Fix to not stop contact for other errors

v7.3.6
----------
* Update to go 1.18 and latest gocommon/phonenumbers/jsonparser

v7.3.5
----------
* Update Start Mobile send URL

v7.3.4
----------
* Update WhatsApp handler so that we update the URN if the returned ID doesn't match
* Stop Telegram contact that have blocked the channel bot

v7.3.3
----------
* Quick fix to stop JSON content being omitted in logs

v7.3.2
----------
* Update to latest gocommon and start using httpx.DetectContentType
* Add link preview attribute for sending whatsapp
* Update golang.org/x/sys

v7.3.1
----------
* Fix handling stops via status callbacks on Twilio

v7.3.0
----------
* Support stopping contacts when we get stop events on status callbacks

v7.2.0
----------
* CI testing with go 1.17.7

v7.1.19
----------
* Update D3 handler to support check for whatsapp contact not in contact store

v7.1.18
----------
* Fix type for IsDeleted field for IG unsend events
* Fix metadata fetching for new Facebook contacts

v7.1.17
----------
* Fix whatsapp uploaded attachment file name
* Use deleted by sender visibity for message unsent on IG channels
* Add missing languages from whatsapp template
* Do not save any message when receiving IG story mentions

v7.1.16
----------
* Update to latest gocommon
* Pause WA channel bulk queue when we hit the spam rate limit

v7.1.15
----------
* Fix Gujarati whatsapp language code
* Send flow name as user_data to HX

v7.1.14
----------
* Allow more active redis connections
* Support sending WA quick replies when we have attachments too
* Add support to receive button text from Twilio WhatsApp

v7.1.13
----------
* Send db and redis stats to librato in backed heartbeat
* Include session_status in FCM payloads

v7.1.12
----------
* Update to latest gocommon
* Add instagram handler

v7.1.11
----------
* More bulk sql tweaks

v7.1.10
----------
* Update to latest gocommon

v7.1.9
----------
* Fix bulk status updates

v7.1.8
----------
* Do more error wrapping when creating contacts and URNs

v7.1.7
----------
* Use dbutil package from gocommon
* Add quick replies for vk

v7.1.6
----------
* Throttle WA queues when we get 429 responses

v7.1.5
----------
* Add Msg.failed_reason and set when msg fails due to reaching error limit

v7.1.4
----------
* Remove loop detection now that mailroom does this
* Smarter organization of quick replies for viber keyboards

v7.1.3
----------
* Use response_to_external_id instead of response_to_id

v7.1.2
----------
* External channel handler should use headers config setting if provided

v7.1.1
----------
* Pin to go 1.17.2

v7.1.0
----------
* Remove chatbase support
Expand Down
Loading

0 comments on commit cff3d75

Please sign in to comment.