Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 30 additions & 9 deletions .github/workflows/e2e-issue-981.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@ jobs:
checkboxes-dadict:
runs-on: ubuntu-latest
timeout-minutes: 45
env:
UPSTREAM_IMAGE: jhpyle/docassemble:1.10.7 # Bump this tag as part of every upstream rebase
steps:
- uses: actions/checkout@v4

- name: Start docassemble container
run: |
docker run -d --name da -p 8080:80 jhpyle/docassemble:latest
docker run -d --name da -p 8080:80 ${UPSTREAM_IMAGE}
# The image serves an HTTP 200 "Docassemble is starting" splash while
# it initializes, so readiness means 200 AND the splash is gone.
ready=0
Expand Down Expand Up @@ -103,20 +105,31 @@ jobs:
sleep 30

- name: Issue-15 control - SEO head tags and sitemap must be absent on the unpatched release
run: bash .github/workflows/e2e/seo_check.sh http://localhost:8080 expect-fail
run: |
if ! bash .github/workflows/e2e/seo_check.sh http://localhost:8080 expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 15 — SEO head tags present in pinned image"
fi

- name: NFC control - stock PDF fill must lose the combining accent (NFD stays NFD)
run: |
docker cp .github/workflows/e2e/nfc_form.pdf da:/tmp/nfc_form.pdf
docker cp .github/workflows/e2e/nfc_check.py da:/tmp/nfc_check.py
PY=$(docker exec da bash -c "ls /usr/share/docassemble/local*/bin/python3 | head -1")
docker exec da "$PY" /tmp/nfc_check.py /tmp/nfc_form.pdf fileNum expect-fail
if ! docker exec da "$PY" /tmp/nfc_check.py /tmp/nfc_form.pdf fileNum expect-fail; then
echo "::notice::ALREADY FIXED upstream: NFC — PDF fill already normalizes to NFC"
fi

- name: Issue-19 control - unpatched release must ship the 1.5 MB FontAwesome JS
run: bash .github/workflows/e2e/pagesize_check.sh http://localhost:8080 expect-fail
run: |
if ! bash .github/workflows/e2e/pagesize_check.sh http://localhost:8080 expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 19 — FontAwesome JS already replaced with CSS"
fi

- name: Issue-18 control - a11y fixes must be absent on the unpatched release
run: bash .github/workflows/e2e/a11y_check.sh http://localhost:8080 expect-fail
run: |
if ! bash .github/workflows/e2e/a11y_check.sh http://localhost:8080 expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 18 — a11y fixes already present in pinned image"
fi

- name: Control - unpatched release must reject the plain dict
if: env.ALREADY_FIXED != '1'
Expand All @@ -139,13 +152,17 @@ jobs:
run: |
D=$(docker exec da bash -c "ls -d /usr/share/docassemble/local*/lib/python3*/site-packages/docassemble/demo/data/questions")
docker cp .github/workflows/e2e/test_navbtn.yml da:"$D/test_navbtn.yml"
bash .github/workflows/e2e/issue_845_repro.sh http://localhost:8080 expect-fail
if ! bash .github/workflows/e2e/issue_845_repro.sh http://localhost:8080 expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 845 — navigation button already renders as link"
fi

- name: Issue-968 control - stale hasattr error must be misattributed on the unpatched release
run: |
D=$(docker exec da bash -c "ls -d /usr/share/docassemble/local*/lib/python3*/site-packages/docassemble/demo/data/questions")
docker cp .github/workflows/e2e/test_issue_968.yml da:"$D/test_issue_968.yml"
bash .github/workflows/e2e/issue_968_repro.sh http://localhost:8080 da expect-fail
if ! bash .github/workflows/e2e/issue_968_repro.sh http://localhost:8080 da expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 968 — hasattr error already reports real attribute"
fi

- name: Install this branch's util.py and email_crypto.py, restart
run: |
Expand All @@ -170,7 +187,9 @@ jobs:
PY=$(docker exec da bash -c "ls /usr/share/docassemble/local*/bin/python3 | head -1")
echo "PY=$PY" >> "$GITHUB_ENV"
docker cp .github/workflows/e2e/currency_check.py da:/tmp/currency_check.py
docker exec da "$PY" /tmp/currency_check.py expect-fail
if ! docker exec da "$PY" /tmp/currency_check.py expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 343 — currency_code already backed by babel"
fi

- name: Issue-343 - babel-backed currency_code must format correctly
run: |
Expand All @@ -182,7 +201,9 @@ jobs:
run: |
docker exec da bash -c "cp /usr/share/docassemble/config/config.yml /tmp/config.yml.bak && printf '%s\n' 'main page title url opens in other window: False' >> /usr/share/docassemble/config/config.yml && supervisorctl restart uwsgi"
sleep 30
bash .github/workflows/e2e/issue_980_repro.sh http://localhost:8080 da expect-fail
if ! bash .github/workflows/e2e/issue_980_repro.sh http://localhost:8080 da expect-fail; then
echo "::notice::ALREADY FIXED upstream: issue 980 — boolean config already handled"
fi

- name: Install this branch's parse.py and restart
run: |
Expand Down
Loading