Prepare PT-BR directory for translation #263
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull request pipeline | |
# checks are only on the draft and root directories because that is where the changes should be | |
on: | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
env: | |
RESOURCE_PATH: release/assets/images:release/assets:release:assets/images:assets/images/logos:assets/images/logos/publish | |
# for security reasons the github actions are pinned to specific release versions | |
jobs: | |
link_checker: | |
name: Link checker | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Link Checker | |
uses: lycheeverse/lychee-action@v2.2.0 | |
with: | |
# skip the jekyll files under '_includes' directory, only check the draft and root directories | |
args: >- | |
--no-progress | |
--max-retries 5 | |
--exclude-path './_includes/*.html' | |
'./draft/**/*.md' | |
'*.md' | |
fail: true | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
md_linter: | |
name: Lint markdown | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Lint markdown | |
uses: DavidAnson/markdownlint-cli2-action@v19.0.0 | |
with: | |
config: '.markdownlint.yaml' | |
globs: 'draft/**/*.md' | |
# only check the draft directory, that is where the changes should be | |
spell_checker: | |
name: Check spelling | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Spell check EN draft | |
uses: rojopolis/spellcheck-github-actions@0.45.0 | |
with: | |
config_path: .spellcheck-en.yaml | |
# checks the draft directory with an EN dictionary | |
check_es: | |
name: Check ES translation | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Spell check ES release | |
uses: rojopolis/spellcheck-github-actions@0.45.0 | |
with: | |
config_path: .spellcheck-es.yaml | |
# checks the release-es directory with an ES dictionary | |
- name: Lint ES markdown | |
uses: DavidAnson/markdownlint-cli2-action@v19.0.0 | |
with: | |
config: '.markdownlint.yaml' | |
globs: 'release-es/**/*.md' | |
check_pt-br: | |
name: Check PT-BR translation | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Set up Python | |
uses: actions/setup-python@v5.3.0 | |
with: | |
python-version: '3.10' | |
- name: Install pyspelling | |
run: | | |
python -m pip install --upgrade pip setuptools | |
python -m pip install pyspelling | |
sudo apt-get install aspell aspell-pt | |
- name: Spell check PT-BR release | |
# disabled for now, until translation has less English in it | |
if: false | |
run: | | |
python -m pyspelling --config .spellcheck-pt-br.yaml | |
- name: Lint PT-BR markdown | |
uses: DavidAnson/markdownlint-cli2-action@v19.0.0 | |
with: | |
config: '.markdownlint.yaml' | |
globs: 'release-pt-br/**/*.md' | |
export_draft: | |
name: Export epub and pdf (Draft) | |
runs-on: ubuntu-24.04 | |
needs: [link_checker, md_linter, spell_checker] | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Combine markdown | |
run: | | |
mkdir publish | |
mkdir assets/images/logos/publish | |
mkdir draft/temp | |
tail --lines=+14 -q $(find draft -name "*[0-9]*.md" | sort) > draft/temp/draft.markdown | |
sed -i "s/{: .image-right }/{height=180px}/g" draft/temp/draft.markdown | |
sed -i "s/{: .image-right-small }/{height=26px}/g" draft/temp/draft.markdown | |
- name: Export to pdf | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.draft.pdf | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
draft/title.pdf.yaml | |
draft/temp/draft.markdown | |
- name: Export to epub | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.draft.epub | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
draft/title.yaml | |
draft/temp/draft.markdown | |
- name: Save pdfs and epubs | |
uses: actions/upload-artifact@v4.5.0 | |
with: | |
name: export-draft | |
path: publish | |
export_es: | |
name: Export epub and pdf (ES) | |
runs-on: ubuntu-24.04 | |
needs: check_es | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Combine ES markdown | |
run: | | |
mkdir publish | |
mkdir assets/images/logos/publish | |
mkdir release/temp | |
tail --lines=+14 -q $(find release-es -name "*[0-9]*.md" | sort) > release/temp/release.markdown | |
sed -i "s/{: .image-right }/{height=180px}/g" release/temp/release.markdown | |
sed -i "s/{: .image-right-small }/{height=26px}/g" release/temp/release.markdown | |
- name: Export to pdf | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.ES.pdf | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
release-es/title.pdf.yaml | |
release/temp/release.markdown | |
- name: Export to epub | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.ES.epub | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
release-es/title.yaml | |
release/temp/release.markdown | |
- name: Save pdfs and epubs | |
uses: actions/upload-artifact@v4.5.0 | |
with: | |
name: export-es | |
path: publish | |
export_pt-br: | |
name: Export epub and pdf (PT-BR) | |
runs-on: ubuntu-24.04 | |
needs: check_pt-br | |
steps: | |
- name: Checkout markdown | |
uses: actions/checkout@v4.2.0 | |
- name: Combine PT-BR markdown | |
run: | | |
mkdir publish | |
mkdir assets/images/logos/publish | |
mkdir release/temp | |
tail --lines=+14 -q $(find release-pt-br -name "*[0-9]*.md" | sort) > release/temp/release.markdown | |
sed -i "s/{: .image-right }/{height=180px}/g" release/temp/release.markdown | |
sed -i "s/{: .image-right-small }/{height=26px}/g" release/temp/release.markdown | |
- name: Export to pdf | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.PT-BR.pdf | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
release-pt-br/title.pdf.yaml | |
release/temp/release.markdown | |
- name: Export to epub | |
uses: docker://pandoc/latex:3.1 | |
with: | |
args: >- | |
--from=markdown | |
--output=publish/OWASP_Developer_Guide.PT-BR.epub | |
--resource-path=${{ env.RESOURCE_PATH }} | |
-fmarkdown-implicit_figures | |
release-pt-br/title.yaml | |
release/temp/release.markdown | |
- name: Save pdfs and epubs | |
uses: actions/upload-artifact@v4.5.0 | |
with: | |
name: export-pt-br | |
path: publish |