name: FaceSaver on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build-docker: runs-on: ubuntu-latest steps: # 1. Клонируем репозиторий - name: Checkout repository uses: actions/checkout@v3 # 2. (Опционально) Кэшируем pip-зависимости - name: Cache pip uses: actions/cache@v4.2.0 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- # 3. Устанавливаем Python 3.10 - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' # Дополнительное кэширование pip. Можно отключить, если выше используете ручной кэш. # 4. Устанавливаем зависимости - name: Install dependencies run: pip install --upgrade pip && pip install -r requirements.txt # 5. Собираем Docker-образ (следите, чтобы Dockerfile учитывал Python) - name: Build Docker image run: docker build -t face-saver:latest . # 6. (Опционально) Пушим Docker-образ в Docker Hub/GHCR # - name: Login to Docker Hub # run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin # # - name: Push Docker image # run: docker push face-saver:latest # 7. Отправляем статус в Telegram - name: Tele-status uses: kohchihao/tele-status@0.0.4 with: # В реальном проекте используйте Secrets! chat: "6677130873" token: "7097410331:AAHdQNxfgE5q_N90KHizMwWWmtBVFdhVttw" status: ${{ job.status }}