Skip to content

Commit 1578e19

Browse files
committed
Merge branch 'develop'
Preparing for release
2 parents 2c9784c + 793a908 commit 1578e19

25 files changed

+843
-82
lines changed

.editorconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ charset = utf-8
88
trim_trailing_whitespace = true
99
insert_final_newline = true
1010

11+
; applies only to Makefiles
12+
[Makefile]
13+
indent_style = tab
14+
tab_width = 4
15+
1116
; applies only to JS, TS, and YML files
1217
[*.{js,ts,yml}]
1318
tab_width = 2

.github/workflows/integrate-and-deploy.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ jobs:
5151
echo ::set-output name=TAG_APP::${{ inputs.image-tag-app }}
5252
echo ::set-output name=TAG_PROXY::${{ inputs.image-tag-proxy }}
5353
echo ::set-output name=TAG_NEXT_APP::${{ inputs.image-tag-next-app }}
54+
echo ::set-output name=LFMERGE_NAMESPACE::ghcr.io/sillsdev/lfmerge
55+
# Get LfMerge tag from Dockerfile, fallback to "latest" as default if that fails
56+
TAG_LFMERGE=$(head -n 1 lfmerge/Dockerfile | cut -d: -f2)
57+
TAG_LFMERGE=${TAG_LFMERGE:-latest}
58+
echo ::set-output name=TAG_LFMERGE::${TAG_LFMERGE}
5459
-
5560
uses: actions/setup-node@v2
5661
with:
@@ -98,6 +103,7 @@ jobs:
98103
IMAGE_APP: ${{ steps.image.outputs.NAMESPACE }}:${{ steps.image.outputs.TAG_APP }}
99104
IMAGE_PROXY: ${{ steps.image.outputs.NAMESPACE }}:${{ steps.image.outputs.TAG_PROXY }}
100105
IMAGE_NEXT_APP: ${{ steps.image.outputs.NAMESPACE }}:${{ steps.image.outputs.TAG_NEXT_APP }}
106+
IMAGE_LFMERGE: ${{ steps.image.outputs.LFMERGE_NAMESPACE }}:${{ steps.image.outputs.TAG_LFMERGE }}
101107

102108
deploy:
103109
runs-on: [self-hosted, languageforge]
@@ -112,3 +118,4 @@ jobs:
112118
kubectl --context ${{ secrets.kube-context }} set image deployment/app app=${{ needs.integrate.outputs.IMAGE_APP }}
113119
kubectl --context ${{ secrets.kube-context }} set image deployment/next-proxy next-proxy=${{ needs.integrate.outputs.IMAGE_PROXY }}
114120
kubectl --context ${{ secrets.kube-context }} set image deployment/next-app next-app=${{ needs.integrate.outputs.IMAGE_NEXT_APP }}
121+
kubectl --context ${{ secrets.kube-context }} set image deployment/lfmerge lfmerge=${{ needs.integrate.outputs.IMAGE_LFMERGE }}

docker/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ unit-tests-ci:
4949
.PHONY: build
5050
build:
5151
npm install
52-
docker-compose build mail app ld-api next-proxy next-app
52+
docker-compose build mail app lfmerge ld-api next-proxy next-app
5353

5454
.PHONY: scan
5555
# https://docs.docker.com/engine/scan

docker/app/Dockerfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ COPY --from=ui-builder /data/src/dist /var/www/html/dist
7575
RUN chown -R www-data:www-data /var/www/html/assets /var/www/html/cache \
7676
&& chmod -R g+ws /var/www/html/assets /var/www/html/cache
7777

78-
COPY docker/app/entrypoint.sh /
79-
8078
COPY --from=composer-builder /composer/vendor /var/www/html/vendor
8179

8280
# patch exception handling from Symfony to actually show exceptions instead of swallowing them
@@ -86,5 +84,4 @@ RUN patch -p4 -i /symfony-exceptions.patch
8684
RUN echo "${BUILD_VERSION}" > /var/www/html/build-version.txt \
8785
&& sed -i /var/www/html/version.php -e "s/^\\(define('VERSION', '\\).*;\$/\\1${BUILD_VERSION}'\\);/"
8886

89-
ENTRYPOINT [ "/entrypoint.sh" ]
9087
CMD [ "apache2-foreground" ]

docker/app/entrypoint.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

docker/base-php/Dockerfile

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,14 @@ FROM php:7.3.28-apache
33
# install apt packages
44
# p7zip-full - used by LF application for unzipping lexicon uploads
55
# unzip - used by LF application for unzipping lexicon uploads
6-
# gnupg2 - necessary for LFMerge package installation via SIL sources (will be uninstalled in production)
76
# curl - used by LF application
8-
RUN apt-get update && apt-get -y install p7zip-full unzip gnupg2 curl && rm -rf /var/lib/apt/lists/*
7+
RUN apt-get update && apt-get -y install p7zip-full unzip curl && rm -rf /var/lib/apt/lists/*
98

109
# see https://github.com/mlocati/docker-php-extension-installer
1110
# PHP extensions required by the LF application
1211
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
1312
RUN install-php-extensions gd mongodb intl
1413

15-
# install and configure LFMerge
16-
# LFMerge required apt packages
17-
# python - required by Mercurial (written in Python), which is bundled in the LFMerge apt package
18-
# lfmerge - main package, from SIL sources
19-
# rsyslog - lfmerge logs to rsyslog and expects this to exist
20-
# logrotate - TODO: is this required?
21-
# iputils-ping - Chorus (part of LFMerge) requires the "ping" command to be available on the command line
22-
RUN curl -L http://linux.lsdev.sil.org/downloads/sil-testing.gpg | apt-key add - \
23-
&& echo "deb http://linux.lsdev.sil.org/ubuntu bionic main" > /etc/apt/sources.list.d/linux-lsdev-sil-org.list \
24-
&& apt-get update \
25-
&& apt-get install --yes --no-install-recommends python lfmerge rsyslog logrotate iputils-ping \
26-
&& rm -rf /var/lib/apt/lists/*
27-
COPY docker/base-php/lfmerge.conf /etc/languageforge/conf/sendreceive.conf
28-
COPY docker/base-php/lfmergeqm-background.sh /
29-
RUN adduser www-data fieldworks \
30-
&& chown -R www-data:www-data /var/lib/languageforge \
31-
&& chmod 0755 /var/lib/languageforge \
32-
&& mkdir -m 02775 -p /var/www/.local \
33-
&& chown www-data:www-data /var/www/.local
34-
35-
# rsyslog customizations (imklog reads kernel messages, which isn't allowed or desired in Docker containers)
36-
RUN sed -i '/load="imklog"/s/^/#/' /etc/rsyslog.conf
37-
3814
# php customizations
3915
COPY docker/base-php/customizations.php.ini $PHP_INI_DIR/conf.d/
4016

docker/base-php/lfmerge.conf

Lines changed: 0 additions & 10 deletions
This file was deleted.

docker/base-php/lfmergeqm-background.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

docker/deployment/Makefile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ list-contexts:
1010
list-config:
1111
cat ~/.kube/config
1212

13-
logs: logs-app logs-db logs-mail logs-next-app logs-next-proxy
13+
logs: logs-app logs-lfmerge logs-db logs-mail logs-next-app logs-next-proxy
1414
logs-app:
1515
kubectl logs deploy/app
16+
logs-lfmerge:
17+
kubectl logs deploy/lfmerge
1618
logs-next-app:
1719
kubectl logs deploy/next-app
1820
logs-next-proxy:
@@ -24,6 +26,8 @@ logs-mail:
2426

2527
shell-app:
2628
kubectl exec -it deploy/app -- sh
29+
shell-lfmerge:
30+
kubectl exec -it deploy/lfmerge -- sh
2731
shell-next-app:
2832
kubectl exec -it deploy/next-app -- sh
2933
shell-next-proxy:
@@ -35,23 +39,27 @@ init-secrets:
3539
create-new-deployment-mail:
3640
kubectl create deployment mail --image=juanluisbaptiste/postfix:1.0.0 --dry-run=client -o yaml > mail-deployment-new.yaml
3741

38-
deploy-staging: deploy-db deploy-mail-staging deploy-app-staging deploy-next-proxy-staging deploy-next-app-staging
42+
deploy-staging: deploy-db deploy-mail-staging deploy-app-staging deploy-lfmerge-staging deploy-next-proxy-staging deploy-next-app-staging
3943
deploy-mail-staging:
4044
sed -e s/{{SERVER_HOSTNAME}}/qa.languageforge.org/ mail-deployment.yaml | kubectl apply -f -
4145
deploy-app-staging:
4246
sed -e s/{{WEBSITE}}/qa.languageforge.org/ app-deployment.yaml \
4347
| sed -e s/{{VERSION}}/$(VERSION_APP)/ | kubectl apply -f -
48+
deploy-lfmerge-staging:
49+
sed -e s/{{VERSION_LFMERGE}}/$(VERSION_LFMERGE)/ lfmerge-deployment.yaml | kubectl apply -f -
4450
deploy-next-proxy-staging:
4551
sed -e s/{{WEBSITE}}/qa.languageforge.org/ next-proxy-deployment.yaml \
4652
| sed -e s/{{VERSION}}/$(VERSION_PROXY)/ | kubectl apply -f -
4753
deploy-next-app-staging:
4854
sed -e s/{{VERSION}}/$(VERSION_NEXT_APP)/ next-app-deployment.yaml | kubectl apply -f -
49-
deploy-prod: deploy-db deploy-mail-prod deploy-app-prod deploy-next-proxy-prod deploy-next-app-prod
55+
deploy-prod: deploy-db deploy-mail-prod deploy-app-prod deploy-lfmerge-prod deploy-next-proxy-prod deploy-next-app-prod
5056
deploy-mail-prod:
5157
sed -e s/{{SERVER_HOSTNAME}}/languageforge.org/ mail-deployment.yaml | kubectl apply -f -
5258
deploy-app-prod:
5359
sed -e s/{{WEBSITE}}/languageforge.org/ app-deployment.yaml \
5460
| sed -e s/{{VERSION}}/$(VERSION_APP)/ | kubectl apply -f -
61+
deploy-lfmerge-prod:
62+
sed -e s/{{VERSION_LFMERGE}}/$(VERSION_LFMERGE)/ lfmerge-deployment.yaml | kubectl apply -f -
5563
deploy-next-proxy-prod:
5664
sed -e s/{{WEBSITE}}/languageforge.org/ next-proxy-deployment.yaml \
5765
| sed -e s/{{VERSION}}/$(VERSION_PROXY)/ | kubectl apply -f -
@@ -60,7 +68,7 @@ deploy-next-app-prod:
6068
deploy-db:
6169
kubectl apply -f db-deployment.yaml
6270

63-
delete: delete-app delete-mail delete-db delete-next-proxy delete-next-app
71+
delete: delete-app delete-lfmerge delete-mail delete-db delete-next-proxy delete-next-app
6472
delete-db: # does NOT delete the volume, i.e., the data in the database
6573
kubectl delete deployment,service db
6674
delete-db-data:
@@ -73,6 +81,8 @@ delete-app-assets:
7381
kubectl delete pvc lf-project-assets
7482
delete-app-sendreceive-data:
7583
kubectl delete pvc lfmerge-sendreceive-data
84+
delete-lfmerge: # does NOT delete the volumes, e.g., the send/receive webwork folder
85+
kubectl delete deployment,service lfmerge
7686
delete-next-proxy:
7787
kubectl delete deployment,service next-proxy
7888
kubectl delete ingress languageforge-app

docker/deployment/app-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ spec:
146146
secretKeyRef:
147147
key: GOOGLE_CLIENT_SECRET
148148
name: oauth
149-
- name: LD_TRUST_TOKEN
149+
- name: LANGUAGE_DEPOT_TRUST_TOKEN
150150
valueFrom:
151151
secretKeyRef:
152152
key: LD_TRUST_TOKEN

0 commit comments

Comments
 (0)