Skip to content

Исправлено форматирование блока кода CSP с nonce — добавлены переносы… #23

Исправлено форматирование блока кода CSP с nonce — добавлены переносы…

Исправлено форматирование блока кода CSP с nonce — добавлены переносы… #23

Workflow file for this run

name: Deploy WWW to Main Bucket
on:
push:
branches:
- main
paths:
- 'www/**'
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
# Skip if commit message contains [skip ci]
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install AWS CLI
run: pip install awscli
- name: Configure AWS CLI for Yandex Cloud
env:
AWS_ACCESS_KEY_ID: ${{ secrets.YANDEX_STORAGE_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.YANDEX_STORAGE_SECRET_KEY }}
run: |
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
aws configure set default.region ru-central1
- name: Show changed files
run: |
echo "📁 Files in www/:"
ls -la www/
- name: Minify index.html for deploy
run: |
echo "🔨 Minifying www/index.html for deploy..."
# Размер до минификации
BEFORE=$(stat -c%s www/index.html)
echo "📄 Before: $BEFORE bytes"
# Минификация HTML (только для загрузки, не коммитим)
npx --yes html-minifier-terser \
--collapse-whitespace \
--remove-comments \
--remove-redundant-attributes \
--remove-script-type-attributes \
--remove-style-link-type-attributes \
--minify-css true \
--minify-js true \
--input-dir www \
--output-dir www \
--file-ext html
# Размер после минификации
AFTER=$(stat -c%s www/index.html)
SAVED=$((BEFORE - AFTER))
PERCENT=$((SAVED * 100 / BEFORE))
echo "📄 After: $AFTER bytes"
echo "✅ Saved: $SAVED bytes ($PERCENT%)"
# ВАЖНО: deploy-www.yml НЕ коммитит изменения,
# поэтому минифицированная версия НЕ попадёт в репо
- name: Deploy www/ to MAIN bucket
env:
BUCKET: ${{ secrets.YANDEX_STORAGE_BUCKET_MAIN }}
ENDPOINT: ${{ secrets.YANDEX_STORAGE_ENDPOINT }}
run: |
echo "📤 Deploying www/ to MAIN bucket: $BUCKET"
aws s3 sync ./www/ s3://${BUCKET}/ \
--endpoint-url ${ENDPOINT} \
--delete \
--exclude ".git*" \
--exclude ".github*"
echo "✅ Deployment complete"
- name: Verify deployment
env:
BUCKET: ${{ secrets.YANDEX_STORAGE_BUCKET_MAIN }}
ENDPOINT: ${{ secrets.YANDEX_STORAGE_ENDPOINT }}
run: |
echo "📁 Contents of MAIN bucket:"
aws s3 ls s3://${BUCKET}/ \
--endpoint-url ${ENDPOINT} \
--recursive \
--human-readable
- name: Deployment Summary
env:
BUCKET: ${{ secrets.YANDEX_STORAGE_BUCKET_MAIN }}
run: |
echo ""
echo "=========================================="
echo "🎉 WWW Deployment Complete!"
echo "=========================================="
echo "Bucket: $BUCKET"
echo "Commit: ${{ github.sha }}"
echo "Date: $(date -u +%Y-%m-%d\ %H:%M:%S\ UTC)"
echo "=========================================="