Merge branch 'development' into non-covidcast-signals #39
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: 'Build and deploy application containers' | |
on: | |
push: | |
jobs: | |
build-tag-push-deploy: | |
runs-on: ubuntu-latest | |
# CI/CD will run on these branches | |
if: > | |
github.ref == 'refs/heads/main' || | |
github.ref == 'refs/heads/staging' || | |
github.ref == 'refs/heads/development' | |
strategy: | |
matrix: | |
# Specify the docker-compose services to build images from. These should match the service | |
# names in the docker-compose.yml file. | |
service: [sdwebapp, sdnginx] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Login to GitHub container registry | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: cmu-delphi-deploy-machine | |
password: ${{ secrets.CMU_DELPHI_DEPLOY_MACHINE_PAT }} | |
- name: Create container image tags | |
id: image-tag | |
run: | | |
baseRef="${GITHUB_REF#*/}" | |
baseRef="${baseRef#*/}" | |
case "${baseRef}" in | |
main) | |
image_tag="latest" | |
;; | |
*) | |
image_tag="${baseRef//\//_}" # replace `/` with `_` in branch name | |
;; | |
esac | |
echo "IMAGE_TAG=${image_tag}" >> $GITHUB_OUTPUT | |
- name: Copy env file | |
run: | | |
cp ./.ci.env ./.env | |
- name: Set up docker-compose | |
uses: ndeloof/[email protected] | |
- name: docker-compose build --push | |
run: | | |
docker-compose build --push ${{ matrix.service }} | |
env: | |
TAG: ":${{ steps.image-tag.outputs.IMAGE_TAG }}" | |
REGISTRY: "ghcr.io/${{ github.repository_owner }}/" | |
- name: docker-compose down | |
run: | | |
docker-compose down | |
- name: Trigger smee.io webhook to pull new container images | |
run: | | |
curl -H "Authorization: Bearer ${{ secrets.DELPHI_DEPLOY_WEBHOOK_TOKEN }}" \ | |
-X POST ${{ secrets.DELPHI_DEPLOY_WEBHOOK_URL }} \ | |
-H "Content-Type: application/x-www-form-urlencoded" \ | |
-d "repository=ghcr.io/${{ github.repository }}-${{ matrix.service }}&tag=${{ steps.image-tag.outputs.IMAGE_TAG }}" |