All checks were successful
Build and Deploy Teams Planner Bot / build-and-run (push) Successful in 14s
55 lines
2.2 KiB
YAML
55 lines
2.2 KiB
YAML
name: Build and Deploy Teams Planner Bot
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
|
|
jobs:
|
|
build-and-run:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Extract project name
|
|
shell: bash
|
|
run: echo "PROJECT_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
|
|
|
|
- name: Create environment file
|
|
run: |
|
|
echo "MICROSOFT_APP_ID=${{ secrets.MICROSOFT_APP_ID }}" > .env
|
|
echo "MICROSOFT_APP_PASSWORD=${{ secrets.MICROSOFT_APP_PASSWORD }}" >> .env
|
|
echo "MICROSOFT_APP_TYPE=SingleTenant" >> .env
|
|
echo "MICROSOFT_APP_TENANT_ID=${{ secrets.MICROSOFT_APP_TENANT_ID }}" >> .env
|
|
echo "PORT=3978" >> .env
|
|
echo "OAUTH_CONNECTION_NAME=GraphConnection" >> .env
|
|
echo "GRAPH_TENANT_ID=${{ secrets.MICROSOFT_APP_TENANT_ID }}" >> .env
|
|
echo "GRAPH_CLIENT_ID=${{ secrets.MICROSOFT_APP_ID }}" >> .env
|
|
echo "GRAPH_CLIENT_SECRET=${{ secrets.MICROSOFT_APP_PASSWORD }}" >> .env
|
|
echo "LLM_PROVIDER=gemini" >> .env
|
|
echo "GEMINI_API_KEY=${{ secrets.GEMINI_API_KEY }}" >> .env
|
|
echo "GEMINI_MODEL=gemini-3.1-flash-lite" >> .env
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Build Docker image
|
|
run: docker build -t ${{ env.PROJECT_NAME }}:latest .
|
|
|
|
- name: Stop and remove existing container
|
|
run: |
|
|
docker stop ${{ env.PROJECT_NAME }} || true
|
|
docker rm ${{ env.PROJECT_NAME }} || true
|
|
|
|
- name: Run Docker container
|
|
run: |
|
|
docker run -d -p 3978:3978 \
|
|
--env-file .env \
|
|
--name ${{ env.PROJECT_NAME }} \
|
|
--network npm_default \
|
|
--restart unless-stopped \
|
|
${{ env.PROJECT_NAME }}:latest
|
|
|
|
- name: Clean up environment file
|
|
run: rm -f .env
|