v4 included breaking changes, but the setup here was compatible
thanks to the usage of `${{ github.job }}`.
https://github.com/actions/upload-artifact/releases/tag/v4.0.0
v3 artifact actions will be deprecated on November 30th
https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
node16 actions will be EOL on October 15th
https://github.blog/changelog/2024-09-25-end-of-life-for-actions-node16/
These seem contradictory but I _guess_ on self-hosted runners one
can keep using v3 artifact actions until November 30th.