Add pre-release builds

Once I've gotten confirmation that GitLab runners are operating normally again, I'd like to change this repo's CI to do the following:

  1. When a merge request is opened or updated, send a pre-release build to PyPI that can be used for testing.
  2. When main is pushed, send a production build to PyPI (the manual pipeline already does this, just need to reconfigure what triggers it).