MAINT: Upgrade the remaining GitHub Actions. <!-- Thank you for contributing to Pyodide! All improvements are welcome,
     so don't be afraid to make a PR. -->

### Description

<!-- Please explain what your PR is about:
     - reasoning for the change
     - some details of updated code
     - any noteworthy choices to be aware of
	Please refer to any related issues by #<issue_id> -->

- https://github.com/actions/checkout/releases
- https://github.com/docker/build-push-action/releases
- https://github.com/docker/login-action/releases
- https://github.com/docker/metadata-action/releases
- https://github.com/pypa/gh-action-pypi-publish/releases
- https://github.com/test-summary/action/releases

Also, add a final check to the CPython upgrade instructions.

### Checklists

<!-- Note:
     If you think some of these steps are not necessary for your PR,
     remove those checkboxes, or mark them as checked. If you keep unchecked checkboxes,
     we will assume that your PR is not ready to be merged  -->

- [ ] Add a [CHANGELOG](https://github.com/pyodide/pyodide/blob/main/docs/project/changelog.md) entry
- [x] Add / update tests
- [ ] Add new / update outdated documentation

name: deploy-release
on:
  workflow_dispatch:
  release:
    types: [published]
jobs:
  deploy-pyodide-build-pypi:
    runs-on: ubuntu-latest
    environment: PyPi
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"

      - name: Install dependencies
        run: python -m pip install build twine

      - name: Build wheel
        run: |
          cd pyodide-build/
          python -m build .

      - name: Check wheel
        run: |
          twine check pyodide-build/dist/*

      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1
        with:
          user: __token__
          password: ${{ secrets.PYPI_API_TOKEN }}
          packages_dir: pyodide-build/dist/

  deploy-pyodide-py-pypi:
    runs-on: ubuntu-latest
    environment: PyPi
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"

      - name: Install dependencies
        run: python -m pip install build twine

      - name: Build wheel
        run: |
          cd src/py/
          python -m build .

      - name: Check wheel
        run: |
          twine check src/py/dist/*

      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1
        with:
          user: __token__
          password: ${{ secrets.PYPI_API_TOKEN_PYODIDE_PY }}
          packages_dir: src/py/dist/

name: deploy-release
on:
  workflow_dispatch:
  release:
    types: [published]
jobs:
  deploy-pyodide-build-pypi:
    runs-on: ubuntu-latest
    environment: PyPi
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"

      - name: Install dependencies
        run: python -m pip install build twine

      - name: Build wheel
        run: |
          cd pyodide-build/
          python -m build .

      - name: Check wheel
        run: |
          twine check pyodide-build/dist/*

      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1
        with:
          user: __token__
          password: ${{ secrets.PYPI_API_TOKEN }}
          packages_dir: pyodide-build/dist/

  deploy-pyodide-py-pypi:
    runs-on: ubuntu-latest
    environment: PyPi
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"

      - name: Install dependencies
        run: python -m pip install build twine

      - name: Build wheel
        run: |
          cd src/py/
          python -m build .

      - name: Check wheel
        run: |
          twine check src/py/dist/*

      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1
        with:
          user: __token__
          password: ${{ secrets.PYPI_API_TOKEN_PYODIDE_PY }}
          packages_dir: src/py/dist/
