Skip to content

Merge pull request #2044 from OWASP/dependabot/pip/black-26.1.0 #1395

Merge pull request #2044 from OWASP/dependabot/pip/black-26.1.0

Merge pull request #2044 from OWASP/dependabot/pip/black-26.1.0 #1395

Workflow file for this run

---
name: "pre-release"
on:
push:
branches:
- "master"
permissions:
contents: read
jobs:
hardening:
name: Harden runner
uses: ./.github/workflows/hardening.yaml
pre-release:
needs: hardening
name: "Pre Release"
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
# Set the pip environment up
- name: Get Python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: '3.11'
cache: 'pipenv' # caching pip dependencies
- name: Install dependencies
run: |
pip install -r requirements.txt --require-hashes
pipenv install --ignore-pipfile --dev
# Run the tests
- name: Run unit tests
run: pipenv run python -m unittest discover -s "tests/scripts" -p "*_utest.py"
- name: Run integration
run: pipenv run python -m unittest discover -s "tests/scripts" -p "*_itest.py"
# Test coverage reports
- name: Check test coverage - run tests
run: pipenv run coverage run -m unittest discover -s "tests/scripts" -p "*_*test.py"
- name: Check test coverage - generate xml
run: pipenv run coverage xml
- name: Check test coverage - Report
run: pipenv run coverage report --fail-under 85 scripts/convert*
# Upload Code COverage for Codeclimate
- uses: qltysh/qlty-action/coverage@a19242102d17e497f437d7466aa01b528537e899 # v2.2.0
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: coverage.xml
- name: Generate new output files
run: |
#
# Building EoP
mkdir -p output/eop || echo "Ignore error"
mkdir -p output/eop/Links || echo "Ignore error"
mkdir -p output/eop/Fonts || echo "Ignore error"
cp -rf ./resources/templates/Links/eop output/eop/Links/
cp -rf ./resources/templates/Fonts/Selawik/* output/eop/Fonts/
cp -rf ./resources/templates/Fonts/OpenSans/* output/eop/Fonts/
pipenv run python scripts/convert.py -t tarot -l en -lt deck -v 5.0 -e eop -i ./resources/templates/eop_ver_deck_tarot_lang.idml -o ./output/eop/eop-5.0-deck-en.idml
pipenv run python scripts/convert.py -t tarot -l es -lt deck -v 5.0 -e eop -i ./resources/templates/eop_ver_deck_tarot_lang.idml -o ./output/eop/eop-5.0-deck-es.idml
pipenv run python scripts/convert.py -t tarot -l en -lt instructions1 -v 5.0 -e eop -i ./resources/templates/eop_ver_instructions1_tarot_lang.idml -o ./output/eop/1_instructionCard1.idml
pipenv run python scripts/convert.py -t tarot -l en -lt instructions2 -v 5.0 -e eop -i ./resources/templates/eop_ver_instructions2_tarot_lang.idml -o ./output/eop/1_instructionCard2.idml
pipenv run python scripts/convert.py -t tarot -l en -lt strategy-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_strategy-cards_tarot_lang.idml -o ./output/eop/2_StrategyCard.idml
pipenv run python scripts/convert.py -t tarot -l en -lt cards -v 5.0 -e eop -i ./resources/templates/eop_ver_cards_tarot_lang.idml -o ./output/eop/3_PlayingCards.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-spoofing-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-spoofing-cards_tarot_lang.idml -o ./output/eop/4_1THREATCARD-Spoofing.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-tampering-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-tampering-cards_tarot_lang.idml -o ./output/eop/4_2THREATCARD-Tampering.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-repudation-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-repudation-cards_tarot_lang.idml -o ./output/eop/4_3THREATCARD-Repudiation.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-infodisclosure-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-infodisclosure-cards_tarot_lang.idml -o ./output/eop/4_4THREATCARD-InfoDisclosure.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-denialofsvc-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-denialofsvc-cards_tarot_lang.idml -o ./output/eop/4_5THREATCARD-DenialofSvc.idml
pipenv run python scripts/convert.py -t tarot -l en -lt threat-elevofpriv-cards -v 5.0 -e eop -i ./resources/templates/eop_ver_threat-elevofpriv-cards_tarot_lang.idml -o ./output/eop/4_6THREATCARD-ElevofPriv.idml
pipenv run python scripts/convert.py -t tarot -l en -lt about -v 5.0 -e eop -i ./resources/templates/eop_ver_about_tarot_lang.idml -o ./output/eop/5_AboutCard.idml
zip -r output/eop-5.0.zip output/eop
#
# Building Cornucopia WebApp Edition
mkdir -p output/cornucopia_webapp || echo "Ignore error"
mkdir -p output/cornucopia_webapp/Links || echo "Ignore error"
mkdir -p output/cornucopia_webapp/Fonts || echo "Ignore error"
cp -rf ./resources/templates/Links/cornucopia_webapp output/cornucopia_webapp/Links/
cp -rf ./resources/templates/Fonts/NotoSans/* output/cornucopia_webapp/Fonts/
#
# Building Cornucopia MobileApp Edition
mkdir -p output/cornucopia_mobileapp || echo "Ignore error"
mkdir -p output/cornucopia_mobileapp/Links || echo "Ignore error"
mkdir -p output/cornucopia_mobileapp/Fonts || echo "Ignore error"
cp -rf ./resources/templates/Links/cornucopia_mobileapp output/cornucopia_mobileapp/Links/
cp -rf ./resources/templates/Fonts/NotoSans/* output/cornucopia_mobileapp/Fonts/
#
pipenv run python scripts/convert.py -l all -lt all -t all -v 2.2 -e webapp
pipenv run python scripts/convert.py -l en -lt all -t all -v 3.0 -e webapp
pipenv run python scripts/convert.py -l en -lt all -t all -v 1.1 -e mobileapp
#
cp output/owasp_cornucopia_mobileapp_1.1_cards_bridge_en.idml output/owasp_cornucopia_mobileapp_1.1_cards_bridge_qr_en.idml output/owasp_cornucopia_mobileapp_1.1_cards_tarot_en.idml output/owasp_cornucopia_mobileapp_1.1_cards_tarot_qr_en.idml output/owasp_cornucopia_mobileapp_1.1_leaflet_bridge_en.idml output/owasp_cornucopia_mobileapp_1.1_leaflet_tarot_en.idml output/cornucopia_mobileapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_en.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_en.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_en.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_en.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_en.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_en.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_es.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_es.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_es.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_es.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_es.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_es.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_fr.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_fr.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_fr.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_fr.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_fr.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_fr.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_nl.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_nl.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_nl.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_nl.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_nl.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_nl.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_no-nb.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_no-nb.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_no-nb.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_no-nb.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_no-nb.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_no-nb.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_pt-br.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_pt-br.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_pt-br.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_pt-br.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_pt-br.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_pt-br.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_pt-pt.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_pt-pt.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_pt-pt.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_pt-pt.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_pt-pt.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_pt-pt.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_ru.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_ru.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_ru.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_ru.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_ru.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_ru.idml output/cornucopia_webapp/
cp output/owasp_cornucopia_webapp_2.2_cards_bridge_it.idml output/owasp_cornucopia_webapp_2.2_cards_bridge_qr_it.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_it.idml output/owasp_cornucopia_webapp_2.2_cards_tarot_qr_it.idml output/owasp_cornucopia_webapp_2.2_leaflet_bridge_it.idml output/owasp_cornucopia_webapp_2.2_leaflet_tarot_it.idml output/cornucopia_webapp/
zip -r output/owasp_cornucopia_mobileapp_1.1_en.zip output/cornucopia_mobileapp/Links/* output/cornucopia_mobileapp/Fonts/* output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_cards_bridge_en.idml output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_cards_bridge_qr_en.idml output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_cards_tarot_en.idml output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_cards_tarot_qr_en.idml output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_leaflet_bridge_en.idml output/cornucopia_mobileapp/owasp_cornucopia_mobileapp_1.1_leaflet_tarot_en.idml ./resources/templates/owasp_cornucopia_mobileapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_en.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_en.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_es.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_es.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_es.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_es.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_es.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_es.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_es.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_fr.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_fr.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_fr.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_fr.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_fr.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_fr.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_fr.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_nl.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_nl.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_nl.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_nl.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_nl.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_nl.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_nl.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_no-nb.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_no-nb.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_no-nb.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_no-nb.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_no-nb.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_no-nb.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_no-nb.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_pt-br.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_pt-br.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_pt-br.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_pt-br.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_pt-br.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_pt-br.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_pt-br.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_pt-pt.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_pt-pt.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_pt-pt.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_pt-pt.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_pt-pt.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_pt-pt.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_pt-pt.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_ru.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_ru.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_ru.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_ru.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_ru.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_ru.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_ru.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
zip -r output/owasp_cornucopia_webapp_2.2_it.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_it.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_bridge_qr_it.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_it.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_cards_tarot_qr_it.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_bridge_it.idml output/cornucopia_webapp/owasp_cornucopia_webapp_2.2_leaflet_tarot_it.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
cp output/owasp_cornucopia_webapp_3.0_cards_bridge_en.idml output/owasp_cornucopia_webapp_3.0_cards_bridge_qr_en.idml output/owasp_cornucopia_webapp_3.0_cards_tarot_en.idml output/owasp_cornucopia_webapp_3.0_cards_tarot_qr_en.idml output/owasp_cornucopia_webapp_3.0_leaflet_bridge_en.idml output/owasp_cornucopia_webapp_3.0_leaflet_tarot_en.idml output/cornucopia_webapp/
zip -r output/owasp_cornucopia_webapp_3.0_en.zip output/cornucopia_webapp/Links/* output/cornucopia_webapp/Fonts/* output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_cards_bridge_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_cards_bridge_qr_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_cards_tarot_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_cards_tarot_qr_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_leaflet_bridge_en.idml output/cornucopia_webapp/owasp_cornucopia_webapp_3.0_leaflet_tarot_en.idml ./resources/templates/owasp_cornucopia_webapp_scoresheet.pdf
- uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
name: "Create pre-release"
with:
tag_name: pre-release
prerelease: true
name: Latest pre-release
files: |
CHANGELOG.md
LICENSE.md
LICENSE-CC-BY-SA-3.0.md
README.md
creative-commons-attribution-3.0.txt
output/eop-5.0.zip
output/owasp_cornucopia_mobileapp_1.1_en.zip
output/owasp_cornucopia_webapp_2.2_en.zip
output/owasp_cornucopia_webapp_2.2_es.zip
output/owasp_cornucopia_webapp_2.2_fr.zip
output/owasp_cornucopia_webapp_2.2_it.zip
output/owasp_cornucopia_webapp_2.2_nl.zip
output/owasp_cornucopia_webapp_2.2_no-nb.zip
output/owasp_cornucopia_webapp_2.2_pt-br.zip
output/owasp_cornucopia_webapp_2.2_pt-pt.zip
output/owasp_cornucopia_webapp_2.2_ru.zip
output/owasp_cornucopia_webapp_2.2_guide_bridge_en.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_es.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_fr.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_nl.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_no-nb.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_pt-br.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_pt-pt.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_ru.docx
output/owasp_cornucopia_webapp_2.2_guide_bridge_it.docx
resources/case/*\2.2_case_*
resources/case/*\1.1_case_*
source/*1\.1-*.yaml
source/*2\.2-*.yaml
output/owasp_cornucopia_webapp_3.0_en.zip