diff --git a/.github/workflows/build_master.yml b/.github/workflows/build_master.yml index 1589a7917..ebca1f9e4 100644 --- a/.github/workflows/build_master.yml +++ b/.github/workflows/build_master.yml @@ -35,19 +35,60 @@ jobs: - name: Build mdBook run: MDBOOK_BOOK__LANGUAGE=en mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - name: Update searchindex.js in repo + - name: Update searchindex in repo (purge history, keep current on HEAD) + shell: bash run: | + set -euo pipefail + ls -la ls -la book - (git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git pull + + git config --global --add safe.directory /__w/hacktricks/hacktricks-cloud git config --global user.email "build@example.com" git config --global user.name "Build master" git config pull.rebase false - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex" - git push) || echo "No changes to searchindex.js" + + # Ensure we're on the target branch and up to date + git pull --ff-only + + # Choose the file to keep at HEAD: + # 1) Prefer freshly built version from book/ + # 2) Fallback to the file currently at HEAD (if it exists) + HAS_FILE=0 + if [ -f "book/searchindex.js" ]; then + cp "book/searchindex.js" /tmp/sidx.js + HAS_FILE=1 + elif git cat-file -e "HEAD:searchindex.js" 2>/dev/null; then + git show "HEAD:searchindex.js" > /tmp/sidx.js + HAS_FILE=1 + fi + + # Skip if there's nothing to purge AND nothing to keep + if [ "$HAS_FILE" = "1" ] || git rev-list -n 1 HEAD -- "searchindex.js" >/dev/null 2>&1; then + # Fail early if working tree is dirty (avoid confusing rewrites) + git diff --quiet || { echo "Working tree has uncommitted changes; aborting purge." >&2; exit 1; } + + # Install git-filter-repo and ensure it's on PATH + python -m pip install --quiet --user git-filter-repo + export PATH="$HOME/.local/bin:$PATH" + + # Rewrite ONLY the current branch, dropping all historical blobs of searchindex.js + git filter-repo --force --path "searchindex.js" --invert-paths --refs "$(git symbolic-ref -q HEAD)" + + # Re-add the current version on top of rewritten history (keep it in HEAD) + if [ "$HAS_FILE" = "1" ]; then + mv /tmp/sidx.js "searchindex.js" + git add "searchindex.js" + git commit -m "Update searchindex (purged history; keep current)" + else + echo "No current searchindex.js to re-add after purge." + fi + + # Safer force push (only updates if remote hasn't advanced) + git push --force-with-lease + else + echo "Nothing to purge; skipping." + fi # Login in AWs - name: Configure AWS credentials using OIDC diff --git a/.github/workflows/translate_af.yml b/.github/workflows/translate_af.yml deleted file mode 100644 index 0cc37cf00..000000000 --- a/.github/workflows/translate_af.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to AF (Afrikaans) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: af - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Afrikaans - BRANCH: af - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_all.yml b/.github/workflows/translate_all.yml new file mode 100644 index 000000000..e3b7c4049 --- /dev/null +++ b/.github/workflows/translate_all.yml @@ -0,0 +1,193 @@ +name: Translator All + +on: + push: + branches: + - master + paths-ignore: + - 'scripts/**' + - '.gitignore' + - '.github/**' + - Dockerfile + workflow_dispatch: + +permissions: + packages: write + id-token: write + contents: write + +jobs: + translate: + name: Translate → ${{ matrix.name }} (${{ matrix.branch }}) + runs-on: ubuntu-latest + + # Run N languages in parallel (tune max-parallel if needed) + strategy: + fail-fast: false + # max-parallel: 3 #Nothing to run all in parallel + matrix: + include: + - { name: "Afrikaans", language: "Afrikaans", branch: "af" } + - { name: "German", language: "German", branch: "de" } + - { name: "Greek", language: "Greek", branch: "el" } + - { name: "Spanish", language: "Spanish", branch: "es" } + - { name: "French", language: "French", branch: "fr" } + - { name: "Hindi", language: "Hindi", branch: "hi" } + - { name: "Italian", language: "Italian", branch: "it" } + - { name: "Japanese", language: "Japanese", branch: "ja" } + - { name: "Korean", language: "Korean", branch: "ko" } + - { name: "Polish", language: "Polish", branch: "pl" } + - { name: "Portuguese", language: "Portuguese", branch: "pt" } + - { name: "Serbian", language: "Serbian", branch: "sr" } + - { name: "Swahili", language: "Swahili", branch: "sw" } + - { name: "Turkish", language: "Turkish", branch: "tr" } + - { name: "Ukrainian", language: "Ukrainian", branch: "uk" } + - { name: "Chinese", language: "Chinese", branch: "zh" } + + # Ensure only one job per branch runs at a time (even across workflow runs) + concurrency: + group: translate-${{ matrix.branch }} + cancel-in-progress: false + + container: + image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest + + env: + LANGUAGE: ${{ matrix.language }} + BRANCH: ${{ matrix.branch }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Update and download scripts + run: | + sudo apt-get update + sudo apt-get install wget -y + mkdir scripts + cd scripts + wget -O get_and_save_refs.py https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/get_and_save_refs.py + wget -O compare_and_fix_refs.py https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/compare_and_fix_refs.py + wget -O translator.py https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py + cd .. + + - name: Run get_and_save_refs.py + run: | + python scripts/get_and_save_refs.py + + - name: Download language branch & update refs + run: | + git config --global --add safe.directory /__w/hacktricks/hacktricks-cloud + git config --global user.name 'Translator' + git config --global user.email 'github-actions@github.com' + git config pull.rebase false + git checkout $BRANCH + git pull + python scripts/compare_and_fix_refs.py --files-unmatched-paths /tmp/file_paths.txt + git add . + git commit -m "Fix unmatched refs" || echo "No changes to commit" + git push || echo "No changes to push" + + - name: Run translation script on changed files + run: | + git checkout master + export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} + git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do + if echo "$file" | grep -qE '\.md$'; then + echo -n ",$file" >> /tmp/file_paths.txt + fi + done + + echo "Files to translate:" + cat /tmp/file_paths.txt + echo "" + echo "" + touch /tmp/file_paths.txt + + if [ -s /tmp/file_paths.txt ]; then + python scripts/translator.py \ + --language "$LANGUAGE" \ + --branch "$BRANCH" \ + --api-key "$OPENAI_API_KEY" \ + -f "$(cat /tmp/file_paths.txt)" \ + -t 3 + else + echo "No markdown files changed, skipping translation." + fi + + - name: Build mdBook + run: | + git checkout "$BRANCH" + git pull + MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) + + - name: Update searchindex.js in repo (purge history, keep current on HEAD) + shell: bash + run: | + set -euo pipefail + + # Be explicit about workspace trust (avoids "dubious ownership") + git config --global --add safe.directory "$GITHUB_WORKSPACE" + + git checkout "$BRANCH" + git fetch origin "$BRANCH" --quiet + git pull --ff-only + + # Choose the file to keep at HEAD: + # 1) Prefer freshly built version from book/ + # 2) Fallback to the file currently at HEAD (if it exists) + HAS_FILE=0 + if [ -f "book/searchindex.js" ]; then + cp "book/searchindex.js" /tmp/sidx.js + HAS_FILE=1 + elif git cat-file -e "HEAD:searchindex.js" 2>/dev/null; then + git show "HEAD:searchindex.js" > /tmp/sidx.js + HAS_FILE=1 + fi + + # Skip if there's nothing to purge AND nothing to keep + if [ "$HAS_FILE" = "1" ] || git rev-list -n 1 "$BRANCH" -- "searchindex.js" >/dev/null 2>&1; then + # **Fail early if working tree is dirty** (prevents confusing filter results) + git diff --quiet || { echo "Working tree has uncommitted changes; aborting purge." >&2; exit 1; } + + # Make sure git-filter-repo is callable via `git filter-repo` + python -m pip install --quiet --user git-filter-repo + export PATH="$HOME/.local/bin:$PATH" + + # Rewrite ONLY this branch, dropping all historical blobs of searchindex.js + git filter-repo --force --path "searchindex.js" --invert-paths --refs "refs/heads/$BRANCH" + + # Re-add the current version on top of rewritten history (keep it in HEAD) + if [ "$HAS_FILE" = "1" ]; then + mv /tmp/sidx.js "searchindex.js" + git add "searchindex.js" + git commit -m "Update searchindex (purged history; keep current)" + else + echo "No current searchindex.js to re-add after purge." + fi + + # **Safer force push** (prevents clobbering unexpected remote updates) + git push --force-with-lease origin "$BRANCH" + else + echo "Nothing to purge; skipping." + fi + + # Login in AWs + - name: Configure AWS credentials using OIDC + uses: aws-actions/configure-aws-credentials@v3 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: us-east-1 + + # Sync the build to S3 + - name: Sync to S3 + run: | + echo "Current branch:" + git rev-parse --abbrev-ref HEAD + echo "Syncing $BRANCH to S3" + aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete + echo "Sync completed" + echo "Cat 3 files from the book" + find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_de.yml b/.github/workflows/translate_de.yml deleted file mode 100644 index 68db2f179..000000000 --- a/.github/workflows/translate_de.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to DE (German) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: de - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: German - BRANCH: de - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_el.yml b/.github/workflows/translate_el.yml deleted file mode 100644 index 8bb65573d..000000000 --- a/.github/workflows/translate_el.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to EL (Greek) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: el - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Greek - BRANCH: el - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_es.yml b/.github/workflows/translate_es.yml deleted file mode 100644 index 3ba47a933..000000000 --- a/.github/workflows/translate_es.yml +++ /dev/null @@ -1,96 +0,0 @@ -name: Translator to ES (Spanish) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: es - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Spanish - BRANCH: es - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_fr.yml b/.github/workflows/translate_fr.yml deleted file mode 100644 index 96f355125..000000000 --- a/.github/workflows/translate_fr.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to FR (French) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: fr - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: French - BRANCH: fr - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_hi.yml b/.github/workflows/translate_hi.yml deleted file mode 100644 index 2fc672147..000000000 --- a/.github/workflows/translate_hi.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to HI (Hindi) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: hi - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Hindi - BRANCH: hi - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_it.yml b/.github/workflows/translate_it.yml deleted file mode 100644 index c28aa9143..000000000 --- a/.github/workflows/translate_it.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to IT (Italian) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: it - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Italian - BRANCH: it - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_ja.yml b/.github/workflows/translate_ja.yml deleted file mode 100644 index cd6806f44..000000000 --- a/.github/workflows/translate_ja.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to JA (Japanese) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: ja - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Japanese - BRANCH: ja - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_ko.yml b/.github/workflows/translate_ko.yml deleted file mode 100644 index a6ed46f39..000000000 --- a/.github/workflows/translate_ko.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to KO (Korean) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: ko - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Korean - BRANCH: ko - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_pl.yml b/.github/workflows/translate_pl.yml deleted file mode 100644 index 1ae2da659..000000000 --- a/.github/workflows/translate_pl.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to PL (Polish) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: pl - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Polish - BRANCH: pl - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_pt.yml b/.github/workflows/translate_pt.yml deleted file mode 100644 index f87ad5fb6..000000000 --- a/.github/workflows/translate_pt.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to PT (Portuguese) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: pt - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Portuguese - BRANCH: pt - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_sr.yml b/.github/workflows/translate_sr.yml deleted file mode 100644 index 05aaf44b1..000000000 --- a/.github/workflows/translate_sr.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to SR (Serbian) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: sr - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Serbian - BRANCH: sr - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_sw.yml b/.github/workflows/translate_sw.yml deleted file mode 100644 index 210ede1b6..000000000 --- a/.github/workflows/translate_sw.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to SW (Swahili) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: sw - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Swahili - BRANCH: sw - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_tr.yml b/.github/workflows/translate_tr.yml deleted file mode 100644 index 5df1dd461..000000000 --- a/.github/workflows/translate_tr.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to TR (Turkish) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: tr - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Turkish - BRANCH: tr - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_uk.yml b/.github/workflows/translate_uk.yml deleted file mode 100644 index 4cb2de25c..000000000 --- a/.github/workflows/translate_uk.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to UK (Ukranian) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: uk - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Ukranian - BRANCH: uk - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat diff --git a/.github/workflows/translate_zh.yml b/.github/workflows/translate_zh.yml deleted file mode 100644 index 0462ca344..000000000 --- a/.github/workflows/translate_zh.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: Translator to ZH (Chinese) - -on: - push: - branches: - - master - paths-ignore: - - 'scripts/**' - - '.gitignore' - - '.github/**' - - Dockerfile - workflow_dispatch: - -concurrency: zh - -permissions: - packages: write - id-token: write - contents: write - -jobs: - run-translation: - runs-on: ubuntu-latest - container: - image: ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image:latest - environment: prod - env: - LANGUAGE: Chinese - BRANCH: zh - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Download language branch - run: | - git config --global --add safe.directory /__w/hacktricks-cloud/hacktricks-cloud - git config --global user.name 'Translator' - git config --global user.email 'github-actions@github.com' - git config pull.rebase false - git checkout $BRANCH - git pull - git checkout master - - - name: Update & install translator.py (if needed) - run: | - cd scripts - rm -f translator.py - wget https://raw.githubusercontent.com/carlospolop/hacktricks-cloud/master/scripts/translator.py - cd .. - - - - name: Run translation script on changed files - run: | - export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} - git diff --name-only HEAD~1 | grep -v "SUMMARY.md" | while read -r file; do - if echo "$file" | grep -qE '\.md$'; then - echo -n "$file , " >> /tmp/file_paths.txt - fi - done - python scripts/translator.py --language "$LANGUAGE" --branch "$BRANCH" --api-key "$OPENAI_API_KEY" -f "$(cat /tmp/file_paths.txt)" -t 3 - - - name: Build mdBook - run: | - git checkout "$BRANCH" - git pull - MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1) - - - - name: Update searchindex.js in repo - run: | - (git checkout $BRANCH - git pull - cp book/searchindex.js searchindex.js - git add searchindex.js - git commit -m "Update searchindex for $BRANCH" - git push) || echo "No changes to searchindex.js" - - # Login in AWs - - name: Configure AWS credentials using OIDC - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: us-east-1 - - # Sync the build to S3 - - name: Sync to S3 - run: | - echo "Current branch:" - git rev-parse --abbrev-ref HEAD - echo "Syncing $BRANCH to S3" - aws s3 sync ./book s3://hacktricks-cloud/$BRANCH --delete - echo "Sync completed" - echo "Cat 3 files from the book" - find . -type f -name 'index.html' -print | head -n 3 | xargs -r cat