1+ name : Build FTControl Docs
2+ on :
3+ push :
4+ branches :
5+ - main
6+ paths :
7+ - lazarkit-website/**
8+ - test-codebase/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/examples/**
9+ - .github/workflows/deploy.yml
10+ workflow_dispatch :
11+
12+ concurrency :
13+ group : " docs-deploy"
14+ cancel-in-progress : true
15+
16+ env :
17+ SUDO_PASSWORD : ${{ secrets.SUDO_PASSWORD }}
18+ REGISTRY_USER : ${{ secrets.REGISTRY_USER }}
19+ REGISTRY_PASSWORD : ${{ secrets.REGISTRY_PASSWORD }}
20+ REPO_FOLDER : compose
21+ BASE_DIR : lazarkit-website
22+ SERVICE_FOLDER : /home/ftcontrol-docs
23+ DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
24+ DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
25+ IMAGE_NAME : myregistry.bylazar.com/ftcontrol-docs
26+
27+ jobs :
28+ build :
29+ name : Build and Deploy
30+ runs-on : lazarvps
31+ steps :
32+ - name : Checkout
33+ uses : actions/checkout@v4
34+ - name : ls
35+ run : ls -a
36+ - name : Build and Push Docker Image
37+ run : |
38+ echo "$SUDO_PASSWORD" | sudo -S bash -c "
39+ set -e
40+ sudo docker login --username $REGISTRY_USER --password $REGISTRY_PASSWORD myregistry.bylazar.com
41+ sudo docker build --pull --cache-from $IMAGE_NAME \
42+ --tag $IMAGE_NAME:$GITHUB_SHA \
43+ --tag $IMAGE_NAME:latest \
44+ . -f ./$BASE_DIR/Dockerfile
45+ sudo docker push $IMAGE_NAME:$GITHUB_SHA
46+ sudo docker push $IMAGE_NAME:latest
47+ "
48+
49+ deploy :
50+ runs-on : lazarvps
51+ needs : build
52+ steps :
53+ - name : Checkout code
54+ uses : actions/checkout@v4
55+ - name : Copy and set permissions
56+ run : |
57+ echo "$SUDO_PASSWORD" | sudo -S bash -c "
58+ mkdir -p $SERVICE_FOLDER
59+ cp -r $REPO_FOLDER/* $SERVICE_FOLDER
60+ "
61+ - name : Restart Docker Compose service
62+ run : |
63+ echo "$SUDO_PASSWORD" | sudo -S su -c "
64+ sudo docker login --username $REGISTRY_USER --password $REGISTRY_PASSWORD myregistry.bylazar.com
65+ cd $SERVICE_FOLDER
66+ docker compose down
67+ docker compose up -d
68+ "
0 commit comments