Skip to content

Workflow file for this run

name: Type Checker
on:
push:
jobs:
type_checker:
name: Type Checker
runs-on: ubuntu-latest
strategy:
matrix:
example: [
"chapter-3/1-simple-hello-world",
"chapter-3/2-simple-hello-world-to-a-redirect",
"chapter-3/3-showing-a-searchable-list-of-contacts",
"chapter-3/4-adding-a-new-contact",
"chapter-3/5-viewing-the-details-of-a-contact",
"chapter-3/6-editing-a-contact",
"chapter-3/7-deleting-a-contact",
"chapter-4/1-installing-htmx-third-party",
"chapter-4/2-triggering-http-requests",
"chapter-4/3-htmx-vs-plain-html-responses",
"chapter-4/4-targeting-other-elements",
"chapter-4/5-swap-styles",
"chapter-4/6-using-events-mouseenter",
"chapter-4/7-using-events-click-and-keyup",
"chapter-4/8-passing-request-parameters-enclosing-forms",
"chapter-4/9-passing-request-parameters-including-inputs",
"chapter-4/10-passing-request-parameters-inline-values",
"chapter-4/11-history-support",
"chapter-5/1-installing-htmx-vendored",
"chapter-5/2-adding-hx-boost-to-contact-app",
"chapter-5/3-a-second-step-deleting-contacts-with-http-delete",
"chapter-5/4-next-steps-validating-contact-emails-update-our-input-type",
"chapter-5/5-next-steps-validating-contact-emails-inline-validation",
"chapter-5/6-next-steps-validating-contact-emails-validating-emails-server-side",
"chapter-5/7-next-steps-validating-contact-emails-taking-the-user-experience-further",
"chapter-5/8-next-steps-validating-contact-emails-debouncing-our-validation-requests",
"chapter-5/9-next-steps-validating-contact-emails-ignoring-non-mutating-keys",
"chapter-5/10-another-application-improvement-paging-adding-paging-widgets",
"chapter-5/11-another-application-improvement-paging-click-to-load",
"chapter-5/12-another-application-improvement-paging-infinite-scroll",
"chapter-6/1-adding-active-search",
"chapter-6/2-targeting-the-correct-element",
"chapter-6/3-paring-down-our-content",
"chapter-6/4-http-headers-in-htmx",
"chapter-6/5-updating-the-navigation-bar-with-hx-push-url",
"chapter-6/6-adding-a-request-indicator",
"chapter-6/7-lazy-loading",
"chapter-6/8-pulling-out-the-expensive-code",
"chapter-6/9-adding-an-indicator",
"chapter-6/10-but-thats-not-lazy",
"chapter-6/11-inline-delete",
"chapter-6/12-narrowing-our-target",
"chapter-6/13-updating-the-server-side",
"chapter-6/14-taking-advantage-of-htmx-swapping",
"chapter-6/15-bulk-delete",
"chapter-6/16-the-delete-selected-contacts-button",
"chapter-6/17-the-server-side-for-delete-selected-contacts",
"chapter-7/1-beginning-our-implementation",
"chapter-7/2-adding-the-archiving-endpoint",
"chapter-7/3-conditionally-rendering-a-progress-ui",
"chapter-7/4-using-polling-to-update-the-archive-ui"
]
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Dependencies
run: |
pip install -r requirements.txt
python3 -m pip install mypy
- name: Type Checker
working-directory: ${{matrix.example}}
run: mypy .