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

From 4ac9a00d9e16b0879b4e734a4b604c7ce672894e Mon Sep 17 00:00:00 2001
From: Gyeongjae Choi <def6488@gmail.com>
Date: Mon, 9 May 2022 06:42:07 +0000
Subject: [PATCH 1/3] Add missing template type

TODO: Remove this patch when XGBoost version is updated.
(Upstream PR: https://github.com/dmlc/xgboost/pull/7954)

---
 src/common/host_device_vector.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xgboost/src/common/host_device_vector.cc b/xgboost/src/common/host_device_vector.cc
index 3a4a59db..fc33317b 100644
--- a/xgboost/src/common/host_device_vector.cc
+++ b/xgboost/src/common/host_device_vector.cc
@@ -180,13 +180,16 @@ template class HostDeviceVector<uint64_t>;  // bst_row_t
 template class HostDeviceVector<uint32_t>;  // bst_feature_t
 template class HostDeviceVector<RegTree::Segment>;
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__EMSCRIPTEN__)
 /*
  * On OSX:
  *
  * typedef unsigned int         uint32_t;
  * typedef unsigned long long   uint64_t;
  * typedef unsigned long       __darwin_size_t;
+ *
+ * On Emscripten:
+ * typedef unsigned long        size_t;
  */
 template class HostDeviceVector<std::size_t>;
 #endif  // defined(__APPLE__)
-- 
2.35.1


From 4ac9a00d9e16b0879b4e734a4b604c7ce672894e Mon Sep 17 00:00:00 2001
From: Gyeongjae Choi <def6488@gmail.com>
Date: Mon, 9 May 2022 06:42:07 +0000
Subject: [PATCH 1/3] Add missing template type

TODO: Remove this patch when XGBoost version is updated.
(Upstream PR: https://github.com/dmlc/xgboost/pull/7954)

---
 src/common/host_device_vector.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xgboost/src/common/host_device_vector.cc b/xgboost/src/common/host_device_vector.cc
index 3a4a59db..fc33317b 100644
--- a/xgboost/src/common/host_device_vector.cc
+++ b/xgboost/src/common/host_device_vector.cc
@@ -180,13 +180,16 @@ template class HostDeviceVector<uint64_t>;  // bst_row_t
 template class HostDeviceVector<uint32_t>;  // bst_feature_t
 template class HostDeviceVector<RegTree::Segment>;
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__EMSCRIPTEN__)
 /*
  * On OSX:
  *
  * typedef unsigned int         uint32_t;
  * typedef unsigned long long   uint64_t;
  * typedef unsigned long       __darwin_size_t;
+ *
+ * On Emscripten:
+ * typedef unsigned long        size_t;
  */
 template class HostDeviceVector<std::size_t>;
 #endif  // defined(__APPLE__)
-- 
2.35.1

