name: build-container # Запуск вручную: вкладка Actions → кнопка «Run workflow» on: workflow_dispatch: concurrency: group: container cancel-in-progress: true jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout uses: actions/checkout@v4 # Сброс docker-конфига раннера: битый auth для docker.io # ломает даже анонимные pull базового образа. - name: Clean docker config run: rm -f "$HOME/.docker/config.json" - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 # Логин во встроенный registry Gitea. # Пароль — существующий секрет GIT_PASSWORD (PAT для аккаунта с 2FA). - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: registry: git.byte-mate.ru username: ${{ github.repository_owner }} password: ${{ secrets.GIT_PASSWORD }} - name: Build and push uses: docker/build-push-action@v6 with: context: . push: true # Путь в registry обязателен в нижнем регистре # (github.repository = Coder/photo-editor не подойдёт) tags: | git.byte-mate.ru/coder/photo-editor:latest git.byte-mate.ru/coder/photo-editor:${{ github.ref_name }} labels: | org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }} - name: Summary run: | echo "## Образ собран и опубликован" >> $GITHUB_STEP_SUMMARY echo "Теги: \`git.byte-mate.ru/coder/photo-editor:latest\`" >> $GITHUB_STEP_SUMMARY