Closed markafitzgerald1 closed 11 months ago
Another example:
onclick
handling between the card text and the card border and it was only caught via manual testing post-deploy. Can we automatically check for that?Another example:
.eslintrc.json
- why was the non-compliant with Prettier formatting not caught before that commit?I just reviewed main
(and PR) history and found that all failure causes have either already been mitigated or will be mitigated by the above four checkbox items:
main
(often these were caused by GitHub Actions not being equal to local pre-commit checks, and GitHub Actions checks cannot be run locally),onclick
test if it can be automated, andmain
branch protections reconfigured:
main
),Test PR created to test out the above: https://github.com/markafitzgerald1/cribbage-trainer/pull/34.
PR cannot be merged as I can't approve it as its own author. :)
Enabled 'Require approval of the most recent reviewable push' on main
.
Disabled 'Require approvals' and 'Require approval of the most recent reviewable push'. Branch only protected by automatic checks now. (Seems better than always having to admin override, as I'll likely forget and override the automated checks sometimes using that workflow. Can always revisit if/when other developers added to the project.)
Made npm-test-build-and-upload-artifact
be a required check as otherwise merge of a non-built or being built PR was allowed!
Test push of local main
to remote (GitHub) rejected now, as expected.
Test PR becomes merge-able once CI passes.
First mitigation now in place. Three to go! :)
Some generated directories and files are not cleaned on npm run clean
. Fix that.
npm run clean
.npm run clean
issue.npm run clean
issue.GitHub Pages preview site feature still in Alpha and not available to the public, so can't use that to preview deploys of builds - yet.
VS Code Counter discovered during work on this Issue, so added .gitignore
, .markdownlintignore
and npm run clean
support for it in #36.
The formatting of .eslintrc.json
was valid according to prettier --check .
both before and after https://github.com/markafitzgerald1/cribbage-trainer/commit/4281a13c95087af80a10579c59fde3c097b4cbec and was being automatically checked by both local development linting and CI (GitHub PR and main
branch checks) both before and after that change. However, Prettier does format that file differently depending on how the code is formatted to start - which is not quite how I expected it to behave. I guess some change came into the file and then I asked Prettier to reformat it, resulting in... the file changing! No mitigation needed here at present.
It seems either not possible or rather expensive to automatically catch the UI regression of https://github.com/markafitzgerald1/cribbage-trainer/commit/d3938058f354949ed0f1685ce4b799cdb3964481 which disabled onclick
handling between the card text and the card border. Declining to add mitigations for that beyond manual testing for now as their implementation and maintenance costs are looking to be high if they are possible at all, and their value is at present less than that expected cost.
Local development e2e testing fully switched over to Docker Linux and non-Linux e2e tests dropped in #37 to eliminate time cost of two sets of screenshots and reliability cost of having to manually remember to update Linux screenshots in non-Linux development environments.
main
and deployed.Deploy only from main
may not be practical - an artifact is needed as per https://github.com/actions/deploy-pages. Could perhaps just build and drop all tests to save time given the PR is already up to date with main
and passing all non-deploy automated checks.
Only build and deploy on merge into main
implemented in #39 and merged into main
successfully. Merge to deployed time reduced from about 2 minutes and 50 seconds to about 50 seconds by this change!
CodeQL weekly code security and error analysis enabled with PRs failing on any CodeQL alert.
Secret scanning and push protection enabled.
Private vulnerability reporting enabled as well.
Commit signing (via SSH) added to my local development environment - git Working Copy and VS Code. Vigilant Mode not yet enabled in GitHub. No signed commits yet pushed.
Resuming work on #21 in order to test out signed commits and possible vigilant mode.
Vigilant mode enabled after push of self-created verified commit f95714c2b8da9e8c57112d141aba9eec1a6dc2e3.
All known past and foreseeable future build and deploy breakage mitigation complete.
Imported the GitHub public GPG key at https://github.com/web-flow.gpg in my local development environment so that git log --show-signature
somewhat trusts (merge) commits signed by GitHub on my behalf.
Vigilant Mode enabled just now, but that setting only affects me, not the project itself.
Examples:
main
come from PR branches passing that GitHub PR check. Might want to get rid of non-Linux e2e tests here to save some runtime and ensure all files inmain
are automatically validate-able both locally for all developers and in CI.deployed
.Check through all commits to
main
with PR checks and address or create issues to mitigate them going forward.