forked from pupilfirst/pupilfirst
-
Notifications
You must be signed in to change notification settings - Fork 0
52 lines (47 loc) · 1.68 KB
/
ci-staging.yml
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
name: Continuous Integration Staging
on:
workflow_dispatch:
env:
PF_IMAGE_NAME: pupilfirst-staging
PF_VERSION: "2024.1"
YARN_CHECKSUM_BEHAVIOR: ignore
jobs:
dockerhub-master:
environment: Production
name: Build & Push to Dockerhub
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Github Short SHA
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build image
run: docker build . --file Dockerfile --tag $PF_IMAGE_NAME
- name: Push image
run: |
PF_IMAGE_ID=${{ secrets.DOCKER_HUB_USERNAME }}/$PF_IMAGE_NAME
PF_IMAGE_ID=$(echo $PF_IMAGE_ID | tr '[A-Z]' '[a-z]')
echo PF_IMAGE_ID=$PF_IMAGE_ID
echo PF_VERSION=$PF_VERSION
docker tag $PF_IMAGE_NAME $PF_IMAGE_ID:latest
docker tag $PF_IMAGE_NAME $PF_IMAGE_ID:$PF_VERSION
docker tag $PF_IMAGE_NAME $PF_IMAGE_ID:$PF_VERSION.$SHORT_SHA
docker push $PF_IMAGE_ID --all-tags
deploy_to_digital_ocean:
needs: dockerhub-master
name: DigitalOcean App Platform deployment
runs-on: ubuntu-latest
env:
DIGITALOCEAN_ACCESS_TOKEN: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
steps:
- name: Deploy to DigitalOcean
uses: digitalocean/[email protected]
if: "${{ env.DIGITALOCEAN_ACCESS_TOKEN != '' }}"
with:
app_name: pupilfirst-lms-staging
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}