diff --git a/.gitea/workflows/docker-build-local.yml b/.gitea/workflows/docker-build-local.yml index 528b7ce..b76faa8 100644 --- a/.gitea/workflows/docker-build-local.yml +++ b/.gitea/workflows/docker-build-local.yml @@ -19,7 +19,6 @@ on: default: 'latest' env: - REGISTRY: ${{ secrets.DOCKER_REGISTRY_URL }} IMAGE_NAME: salvagedb/salvagedb-bot jobs: @@ -44,19 +43,22 @@ jobs: - name: Generate tags id: tags run: | + REGISTRY="${{ secrets.DOCKER_REGISTRY_URL }}" + IMAGE_NAME="${{ env.IMAGE_NAME }}" + if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then - echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT + echo "tags=${REGISTRY}/${IMAGE_NAME}:${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT elif [[ "${{ github.event_name }}" == "pull_request" ]]; then pr_number=${{ github.event.number }} - echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:pr-${pr_number}" >> $GITHUB_OUTPUT + echo "tags=${REGISTRY}/${IMAGE_NAME}:pr-${pr_number}" >> $GITHUB_OUTPUT elif [[ "${{ github.ref_type }}" == "tag" ]]; then tag=${GITHUB_REF#refs/tags/} - echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${tag},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_OUTPUT + echo "tags=${REGISTRY}/${IMAGE_NAME}:${tag},${REGISTRY}/${IMAGE_NAME}:latest" >> $GITHUB_OUTPUT elif [[ "${{ github.ref_name }}" == "main" ]]; then - echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main" >> $GITHUB_OUTPUT + echo "tags=${REGISTRY}/${IMAGE_NAME}:latest,${REGISTRY}/${IMAGE_NAME}:main" >> $GITHUB_OUTPUT else branch_name=$(echo "${{ github.ref_name }}" | sed 's/[^a-zA-Z0-9]/-/g') - echo "tags=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${branch_name}" >> $GITHUB_OUTPUT + echo "tags=${REGISTRY}/${IMAGE_NAME}:${branch_name}" >> $GITHUB_OUTPUT fi - name: Build and push Docker image @@ -78,7 +80,7 @@ jobs: run: | echo "## Docker Build Summary" >> $GITHUB_STEP_SUMMARY echo "- **Event:** ${{ github.event_name }}" >> $GITHUB_STEP_SUMMARY - echo "- **Registry:** ${{ env.REGISTRY }}" >> $GITHUB_STEP_SUMMARY + echo "- **Registry:** ${{ secrets.DOCKER_REGISTRY_URL }}" >> $GITHUB_STEP_SUMMARY echo "- **Image:** ${{ env.IMAGE_NAME }}" >> $GITHUB_STEP_SUMMARY echo "- **Tags:** ${{ steps.tags.outputs.tags }}" >> $GITHUB_STEP_SUMMARY echo "- **Commit:** ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY diff --git a/TEST_DOCKER_FIX.md b/TEST_DOCKER_FIX.md new file mode 100644 index 0000000..bd59336 --- /dev/null +++ b/TEST_DOCKER_FIX.md @@ -0,0 +1,16 @@ +# Тестирование исправления Docker тегов + +## Исправленная проблема: +- ❌ Ошибка: `ERROR: invalid tag "***/salvagedb/salvagedb-bot:latest": invalid reference format` +- ✅ Решение: Прямое использование secrets в bash переменных вместо env + +## Изменения: +1. Удалена проблематичная env переменная `REGISTRY` +2. Теги формируются напрямую в bash скрипте +3. Secrets используются непосредственно без промежуточных env + +## Дата тестирования: +2025-06-07 (исправление тегов) + +--- +Удалить после успешного тестирования workflow. \ No newline at end of file