Skip to content

Merge pull request #1850 from OWASP/sydseter-patch-3 #33

Merge pull request #1850 from OWASP/sydseter-patch-3

Merge pull request #1850 from OWASP/sydseter-patch-3 #33

Workflow file for this run

---
name: "tagged-release"
on:
push:
tags:
- "v*"
permissions:
contents: read
jobs:
hardening:
name: Harden runner
uses: ./.github/workflows/hardening.yaml
tagged-release:
name: "Tagged Release"
needs: hardening
permissions:
contents: write
runs-on: "ubuntu-latest"
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
# Set the pip environment up
- name: Get Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.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"
- name: Generate new output file
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 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_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/
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/
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_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
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
- name: Create release
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
with:
draft: true
prerelease: false
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_it.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
resources/case/*\2.2_case_*
resources/case/*\1.1_case_*
source/*1\.1-*.yaml
source/*2\.2-*.yaml