-
Notifications
You must be signed in to change notification settings - Fork 2
67 lines (60 loc) · 2.15 KB
/
github-actions.yml
File metadata and controls
67 lines (60 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Run tests for new-ara-api
on:
workflow_dispatch:
push:
branches:
- master
- develop
pull_request:
release:
types: [created]
env:
PROJECT_NAME: newara
GHCR_IMAGE: ghcr.io/sparcs-kaist/new-ara-api
SECRET_KEY: ${{ secrets.SECRET_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SSO_CLIENT_ID: ${{ secrets.SSO_CLIENT_ID }}
SSO_SECRET_KEY: ${{ secrets.SSO_SECRET_KEY }}
FIREBASE_SERVICE_ACCOUNT_KEY_DEV: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_KEY_DEV }}
FIREBASE_SERVICE_ACCOUNT_KEY_PROD: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_KEY_PROD }}
AWS_REGION: ap-northeast-2
jobs:
deploy:
name: Run Tests
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install
run: |
chmod +x .github/workflows/generate-docker-tag.sh
touch firebaseServiceAccountKey.json
. .github/workflows/generate-docker-tag.sh
echo "PUSH=$PUSH" >> $GITHUB_ENV
echo "DOCKER_TAG=$DOCKER_TAG" >> $GITHUB_ENV
echo "DJANGO_ENV=$DJANGO_ENV" >> $GITHUB_ENV
docker pull ${{ env.GHCR_IMAGE }}:$DJANGO_ENV || true
- name: Build
run: |
docker build --build-arg AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID --build-arg AWS_SECRET_ACCESS_KEY=$(echo $AWS_SECRET_ACCESS_KEY) --cache-from $ECR/$PROJECT_NAME:$DJANGO_ENV -t $PROJECT_NAME .
- name: Run test
run: |
docker compose -f docker-compose.test.yml run api test
docker compose -f docker-compose.test.yml down
- if: env.PUSH == 'true'
name: Push docker image
run: |
echo "Start docker image push to GHCR"
docker tag $PROJECT_NAME ${{ env.GHCR_IMAGE }}:$DOCKER_TAG
docker push ${{ env.GHCR_IMAGE }}:$DOCKER_TAG
echo "Finish docker image push"