56 lines
1.8 KiB
YAML
56 lines
1.8 KiB
YAML
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
|
||
tags: |
|
||
git.byte-mate.ru/${{ github.repository }}:latest
|
||
git.byte-mate.ru/${{ github.repository }}:${{ 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/${{ github.repository }}:latest\`" >> $GITHUB_STEP_SUMMARY
|