Skip to content

Commit 5417a85

Browse files
committed
made a smarter travis.yml
1 parent cbc76ce commit 5417a85

File tree

1 file changed

+35
-29
lines changed

1 file changed

+35
-29
lines changed

.travis.yml

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,65 +11,55 @@ services:
1111
- mysql
1212
- redis
1313

14+
before_install:
15+
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
16+
# login to github registry
17+
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
18+
1419
jobs:
1520
include:
1621
- stage: Build Backend
1722
script:
18-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
19-
# login to github registry
20-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
2123
# build image
2224
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT . -f backend.Dockerfile
23-
# Tag images
24-
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
25+
after_success:
2526
# push image
2627
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
27-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
28+
2829
- stage: Build Frontend
2930
script:
30-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
31-
# login to github registry
32-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
3331
# build image
3432
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT . -f frontend.Dockerfile
35-
# Tag images
36-
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
33+
after_success:
3734
# push image
3835
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT
39-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
36+
4037
- stage: Build Workers
4138
script:
42-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
43-
# login to github registry
44-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
4539
# build image
4640
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT . -f workers.Dockerfile
47-
# Tag images
48-
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
41+
after_success:
4942
# push image
5043
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT
51-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
44+
5245
- stage: Test API
53-
before_script:
54-
- node --version
55-
- npm --version
56-
- npm install -g newman
57-
- newman --version
46+
install:
5847
- wget https://repo.mysql.com//mysql-apt-config_0.8.15-1_all.deb
5948
- sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
6049
- sudo apt-get update -q
6150
- sudo apt-get install -q -y --allow-unauthenticated -o Dpkg::Options::=--force-confnew mysql-server
6251
- sudo systemctl restart mysql
6352
- sudo mysql_upgrade
53+
- npm install -g newman
54+
before_script:
55+
- node --version
56+
- npm --version
57+
- newman --version
6458
- mysql --version
6559
- mysql -e 'CREATE DATABASE pymatcha;'
66-
script:
67-
# login to github registry
68-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
69-
# pull images
60+
# pull image
7061
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
71-
# decrypt the env file
72-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
62+
script:
7363
# Run the backend api
7464
- docker run -d -p 5000:5000 --restart always --env-file .env --network="host" docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
7565
# Wait for docker to be up
@@ -80,13 +70,29 @@ jobs:
8070
# stop and remove docker to prevent them from block port at next iteration/test
8171
- docker stop $(docker ps -a -q)
8272
- docker rm $(docker ps -a -q)
73+
8374
- stage: Lint Backend
8475
before_script:
8576
- pip install -r backend/requirements.txt
8677
script:
8778
- black --check backend/
8879
- flake8 backend/
8980

81+
- stage: Tag new releases
82+
if: branch = dev
83+
script:
84+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
85+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT
86+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT
87+
# Tag images
88+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
89+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
90+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
91+
# push image
92+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
93+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
94+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
95+
9096
notifications:
9197
email:
9298
recipients:

0 commit comments

Comments
 (0)