name: My first CI Pipeline on: push: branches: - main jobs: formatting-check: name: Formatting Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: run YAPF to test if python code is correctly formatted uses: AlexanderMelde/yapf-action@v2.0 with: args: --verbose security-scan: name: Security Scan runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run OWASP Noir id: noir uses: owasp-noir/noir@v1.1.0 with: base_path: '.' - name: Display results run: echo '${{ steps.noir.outputs.endpoints }}' | jq . build-and-push: name: Build and push to Docker Hub needs: [security-scan, formatting-check] runs-on: ubuntu-latest steps: - name: Скачиваем код бота uses: actions/checkout@v4 - name: Логинимся в Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.docker_login }} password: ${{ secrets.docker_pass }} - name: Сборка и пуш Docker образа uses: docker/build-push-action@v6 with: context: . push: true tags: leor156/pogoda-api-tgbot:latest