Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat upgrade runtime for parachains #269

Merged
merged 4 commits into from
Oct 24, 2024
Merged

Feat upgrade runtime for parachains #269

merged 4 commits into from
Oct 24, 2024

Conversation

pepoviola
Copy link
Collaborator

  • Added

    • ChainUpgrade trait, implemented for both relay and parachain.
  • Add example of parachain upgrade.

cc @ordian

Copy link

Coverage after merging feat-upgrade-paras into main

51.46%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
crates/configuration/src
   global_settings.rs100%100%100%100%
   hrmp_channel.rs100%100%100%100%
   network.rs99.35%100%100%99.29%119, 124, 132, 179, 82, 90
   parachain.rs94.90%100%97.06%94.69%392–404, 406–413, 416, 46–47, 60–62, 671–680, 76–79
   relaychain.rs96.52%100%96.88%96.48%383–392, 93–95
   utils.rs57.14%100%57.14%57.14%19–21, 23–25, 27–29
crates/configuration/src/shared
   helpers.rs100%100%100%100%
   node.rs95.99%100%96.92%95.91%122, 139, 145, 405–423, 425, 47
   resources.rs97.10%100%97.56%97.04%102, 114, 126–128, 147–150
   types.rs87.27%100%85.71%87.54%272–281, 283, 285–292, 296–297, 314–316, 385–387, 413–414, 416–418, 437, 61–63
crates/file-server/src
   main.rs0%100%0%0%22–49, 51–58, 60–61, 63–65, 67–70, 72–73, 75, 77–81, 83–88
crates/orchestrator/src
   lib.rs36.20%100%38.78%35.99%100–105, 108–111, 113, 116–117, 119–121, 123–130, 132, 134–138, 140–144, 147–161, 165–174, 177–181, 183–204, 206–211, 213–228, 230, 232–238, 241, 245–249, 251–256, 258–261, 264, 266–269, 272–276, 278, 280–294, 296, 298–301, 304–308, 310–328, 338–362, 366–373, 380–386, 388, 390–396, 399–411, 441, 457, 471–472, 501, 504, 507, 529–531, 533–539, 54, 540–543, 545–546, 548–549, 55, 551–552, 554, 556–558, 56, 560–567, 569, 57, 570–576, 578–579, 58, 580–583, 585–586, 588, 59, 591–592, 61–66, 68–75, 77–89, 91–96, 99
   network.rs0%100%0%0%127–137, 139–140, 142–146, 149–155, 157–158, 160–163, 166–184, 186, 199–202, 229–242, 244, 246–256, 258–272, 274–275, 277–281, 284–287, 289–296, 298, 301–306, 308–309, 311–314, 317–323, 329–332, 367–372, 374–378, 381, 383–388, 390–398, 401–403, 406–407, 409, 412, 414–431, 433–435, 438–439, 44, 440–442, 444, 446–449, 45, 450, 455–459, 46, 460–469, 47, 470–479, 48, 480–489, 49, 492–495, 497–499, 50, 500–502, 504–505, 51, 510–519, 52, 520–526, 528–536, 538–540, 542–544, 547–551, 553, 555–557, 559–561, 563–565, 567–569, 571–573, 575–577, 579–584, 586–592, 65–79, 82–84, 86–88, 90–92, 95–97
   network_spec.rs33.64%100%28.57%34.26%100–103, 106–108, 110–115, 118–121, 124–130, 133–134, 140–142, 144–146, 148–150, 152–154, 156–165, 167–168, 170, 174–191, 194–195, 198–209, 212–228, 231–235, 237–240, 242–250, 252–256, 261–266, 268–277, 279–281, 283, 48, 64–69, 73–80, 82–84, 86–92, 95–99
   pjs_helper.rs0%100%0%0%10–13, 15, 17, 21, 24–45, 49–52, 54–59, 6, 60–63, 7–9
   spawner.rs0%100%0%0%100–105, 107, 109–114, 116–119, 122–131, 133, 136–138, 141–145, 147, 152–156, 159, 161–165, 167–171, 174–184, 186–187, 189, 193–196, 198–203, 205–210, 212–213, 216–220, 222–225, 228–232, 235, 237, 239–246, 44–57, 59–60, 62, 64–75, 79–80, 82, 85–99
crates/orchestrator/src/generators
   bootnode_addr.rs96.94%100%100%96.67%
   chain_spec.rs30.79%100%24.05%31.28%1003–1025, 1027, 1029–1054, 1056, 1066–1076, 1078, 108, 1080–1089, 109, 1091, 1093–1099, 110, 1100–1105, 1108–1110, 1112, 1115, 1117, 112–114, 121–124, 128, 142–158, 160–173, 175, 179–184, 188, 190, 192, 195–199, 201–205, 207, 209–211, 213, 216–217, 221–232, 234–239, 241–250, 253–270, 273–279, 281–283, 285–290, 292, 295–303, 305–309, 311, 313, 315, 317, 320–330, 333–336, 338–340, 342–344, 346–355, 357–369, 371, 374–379, 381–382, 384–397, 399, 402–407, 409–410, 413–426, 428–433, 435–437, 439–441, 444–448, 450, 452–453, 455, 459–477, 481–495, 498–501, 503, 505–506, 508–523, 525, 527–531, 533, 536, 539–540, 543–547, 550–582, 586–588, 591–599, 609–617, 619–629, 63, 630–631, 633–639, 64, 640–641, 644–646, 65, 650–653, 655–656, 659, 66, 660–666, 668–669, 67, 670, 673–675, 677, 682–688, 691–703, 705–712, 714–719, 721, 723–734, 738–751, 753, 756–757, 760–766, 768–773, 775–780, 782, 784, 786–795, 797–800, 803–804, 807–811, 813–814, 816–817, 819–823, 825–827, 830, 833, 835–836, 838–839, 841–843, 845–847, 849–851, 854–856, 859–863, 865, 867, 886, 910, 950, 955–973, 975, 999
   command.rs0%100%0%0%100–106, 109–121, 123–129, 131, 134–139, 141, 144–157, 159, 162–164, 166, 169, 17, 170–179, 18, 180–189, 19, 190–199, 20, 200–206, 208, 21, 210, 212–219, 22, 220–229, 23, 230–233, 235–238, 24, 240–245, 247–249, 25, 250–255, 258–259, 26, 260–268, 27, 270–274, 276, 279–287, 289, 292–308, 311–316, 318, 321–323, 325, 328–348, 350–352, 354–355, 357, 359, 362–364, 366, 368, 47–65, 67–69, 71–79, 82–99
   identity.rs81.25%100%50%85.71%13
   key.rs91.85%100%61.54%95.08%49
   keystore.rs0%100%0%0%19–32, 35–43, 45–52, 54–61, 63–70, 72, 74–92
   para_artifact.rs19.77%100%40%18.52%101–106, 108, 111–117, 119, 122–132, 136–137, 55–57, 59–73, 75–78, 82–83, 85, 87–97, 99
   port.rs93.33%100%75%96.15%
crates/orchestrator/src/network
   chain_upgrade.rs0%100%0%0%19, 21–25, 27, 29–32, 36–37, 39, 43–45, 47–48, 51, 53, 55–56
   node.rs0%100%0%0%100, 102, 105–110, 112–115, 118–128, 134–137, 141–144, 147–150, 159–162, 164–165, 175–182, 186–194, 197–200, 202, 207–213, 215–220, 222–226, 228–233, 235, 242, 244, 248–261, 263–266, 270–272, 274, 280–282, 285–294, 296–297, 301–311, 314, 316, 320–334, 346–356, 359–360, 368–376, 378–384, 387–393, 395–398, 400–403, 405, 407, 411–419, 53–68, 70–72, 74–76, 78–80, 82–84, 89–91, 94–98
   parachain.rs55.46%100%56.25%55.40%100–104, 107–112, 115–136, 138, 141–146, 149–150, 152–157, 161–164, 168–172, 174–177, 179, 183–184, 186–188, 190–192, 194–196, 32–34, 73, 76–81, 83–90
   relaychain.rs0%100%0%0%19–21, 25–32, 37–39
crates/orchestrator/src/network_helper
   metrics.rs0%100%0%0%20–24, 26–31, 33–41, 43, 45, 50–53, 58–61
   verifier.rs0%100%0%0%10–12, 17, 19–25, 27–32, 34, 8–9
crates/orchestrator/src/network_spec
   node.rs35.29%100%25%35.86%128–129, 131–134, 148, 159–160, 194–198, 200–201, 203, 206, 208–211, 213–216, 219, 223–228, 230, 233, 235–267, 269, 27, 271–278, 28–39, 48
   parachain.rs51.40%100%36.36%52.38%103, 112, 121, 131, 154, 159–162, 165, 177–180, 183, 219–221, 223–239, 241–243, 245–247, 249–251, 257–270, 272–284, 286, 288–289, 83, 88–91
   relaychain.rs85.71%100%75%86.84%115, 122, 140–142, 144–146, 82, 94
crates/orchestrator/src/shared
   types.rs37.50%100%28.57%40%16, 31, 37, 49–53, 86–92
crates/orchestrator/src/tx_helper
   runtime_upgrade.rs0%100%0%0%10–13, 16, 18–34, 36–39, 43–49, 51, 53–56, 59–62, 64, 68–69, 7–9
crates/prom-metrics-parser/src
   lib.rs94.92%100%100%94.59%103, 125, 53–55, 79
crates/provider/src
   lib.rs0%100%0%0%142–145, 147, 149–150, 199–201, 208–210
crates/provider/src/docker
   client.rs0%100%0%0%100, 103–122, 124–134, 136–147, 149–155, 157–163, 165–168, 170–173, 175–178, 182–183, 185–186, 188–190, 192, 194, 196–200, 203–212, 214–215, 219–221, 223–229, 231–240, 242–248, 250–252, 254–260, 262–273, 275–281, 283–289, 291–302, 304–315, 317–321, 323–325, 327–336, 338–348, 350–358, 360–380, 382–392, 394–400, 402–411, 413–419, 42, 420–424, 426, 428–433, 435, 437–445, 447–448, 450–452, 454–462, 464–467, 469–472, 475–477, 479–485, 487–491, 494–495, 497–502, 504, 506–507, 509–510, 512–525, 529–530, 532–535, 537–539, 54, 541–545, 547–551, 554–556, 558–560, 562, 564–567, 65, 81–91, 93–99
   namespace.rs0%100%0%0%101–110, 112–122, 124–130, 132–143, 146–153, 155–162, 165–175, 177–178, 180–187, 190–211, 214–224, 226–227, 229–231, 233–235, 238, 240, 248–250, 252–254, 256–258, 260–262, 264–266, 268–275, 280–281, 283–288, 290–295, 297, 299–300, 302–306, 308–323, 325–331, 333–334, 336–341, 344–350, 353–357, 359–363, 365, 367–372, 374–379, 383–384, 386–388, 390–395, 397–399, 401–402, 409–431, 435–436, 438, 440–441, 50–61, 63–65, 68, 70–72, 75–87, 89–90, 92–96, 98–99
   node.rs0%100%0%0%100–119, 121–123, 125, 127, 129–130, 132–166, 169–178, 180–181, 183–187, 225–234, 236–237, 239–259, 261–262, 264–267, 270–272, 274–275, 277–296, 298–299, 301–306, 314–316, 318–320, 322–324, 326–328, 330–332, 334–336, 338–340, 342–344, 346–352, 354–358, 360–362, 364–366, 371–373, 376–399, 404–406, 413–416, 418–422, 426–453, 455–456, 462–464, 466–473, 475–480, 482–497, 499–500, 502–517, 519–520, 522–525, 527–541, 543–544, 546–550, 552–554, 556–557, 73–78, 80–84, 86–98
   provider.rs0%100%0%0%100–105, 107–113, 118–127, 129–135, 34–55, 57–58, 62–66, 68–71, 79–81, 83–85, 87–94, 96–99
crates/provider/src/kubernetes
   client.rs0%100%0%0%100–101, 103–134, 136, 138–139, 141–163, 165–172, 174–176, 178–190, 192–196, 198–202, 205–227, 229, 231–247, 249–264, 266–271, 274–278, 280, 282–283, 286–287, 289–305, 308–310, 312, 317, 320, 323, 325–330, 332–338, 340–341, 343–366, 368–369, 373–379, 38, 380–389, 39, 390–393, 395–399, 40, 400–409, 41, 410–413, 415, 417–419, 42, 422–429, 43, 430–436, 438–449, 45, 450, 452–453, 455–468, 470–479, 48, 480–483, 487–488, 49, 498–499, 50, 500–509, 51, 510–516, 52–53, 56–64, 66–85, 87, 89–90, 92–98
   namespace.rs0%100%0%0%100–102, 104–111, 113–120, 122–123, 125–140, 142–148, 150–152, 154–159, 162–166, 168–180, 183–193, 195–230, 232–236, 239–240, 242–249, 251–258, 260–264, 266–267, 269–276, 278–282, 284–285, 287–288, 290–309, 311–313, 315–319, 321–322, 324–326, 328–330, 333, 335, 342–353, 355–358, 360–361, 369–371, 373–375, 377–379, 381–383, 385–387, 389–396, 401–402, 405–410, 412–417, 419, 421–422, 424–428, 430–444, 446–452, 454–455, 457–462, 465–471, 474–478, 480–484, 486, 488–493, 495–500, 504–505, 507–509, 511–516, 518–520, 522–523, 56–67, 69–71, 74, 76–78, 81–95, 97–98
   node.rs0%100%0%0%100–105, 107–127, 129–131, 133, 135, 137–138, 140–160, 162–166, 168–169, 171–179, 182–207, 209–213, 215–216, 218–225, 227–228, 230–237, 242–266, 268–269, 271–280, 282–283, 285–304, 306–307, 309–312, 315–317, 319–320, 322–340, 342–343, 345–350, 352–359, 361–364, 366–369, 371, 373–381, 383–384, 386–391, 393–396, 404–406, 408–410, 412–414, 416–418, 420–422, 424–426, 428–430, 432–434, 436–438, 440–444, 447–452, 454–455, 457–460, 462–463, 469, 471–473, 475–479, 481–487, 492–493, 495–497, 499, 501–503, 505–519, 524–540, 547–554, 556–558, 560–575, 577–596, 598–612, 614–615, 621–623, 625–630, 632, 634–639, 641–644, 646, 648–662, 664–665, 667–681, 683–684, 686–689, 691–704, 706–707, 709–713, 715–717, 719–720, 80–85, 87–91, 93–99
   pod_spec_builder.rs0%100%0%0%100–125, 127–149, 15, 150–152, 154–159, 16, 160–166, 168–169, 17, 170–172, 174–176, 178–179, 18, 180, 182–183, 185, 187, 19–32, 34–71, 73–90, 92–99
   provider.rs0%100%0%0%102–111, 113–119, 34–50, 52–55, 63–65, 67–69, 71–78, 80–89, 91–97
crates/provider/src/native
   namespace.rs0%100%0%0%100–101, 106–112, 114–119, 121, 123–124, 126–129, 131–143, 145–151, 153–155, 157, 161–167, 170–174, 176–181, 183–187, 189, 191–197, 199–204, 208–209, 211, 213–214, 216–218, 221–223, 225–226, 41–51, 53–55, 58, 60–62, 65–74, 82–84, 86–88, 90–92, 94–99
   node.rs0%100%0%0%100–109, 111–131, 133–135, 137, 139, 141–142, 144–152, 154–155, 157–168, 170–171, 173–177, 180–184, 188–190, 192–193, 195–203, 205–215, 217–219, 221–222, 226–227, 229–232, 234–258, 260–279, 281, 283, 285, 287–288, 290–297, 300, 302–303, 305–306, 308–310, 314–315, 317–324, 326–327, 329–357, 359–360, 362–367, 375–377, 379–381, 383–385, 387–389, 391–393, 395–397, 399–401, 403–405, 407–413, 415–422, 424–426, 428–430, 435–448, 450–451, 453–456, 458, 463–468, 471–488, 491–497, 504–513, 515–526, 528–529, 535–544, 546–547, 549–550, 552–553, 555–556, 558–559, 561–562, 564–565, 567–570, 572–574, 576–579, 581, 583–584, 586–589, 591–593, 595–596, 84–93, 95–99
   provider.rs0%100%0%0%101–109, 111–117, 33–50, 52–55, 63–65, 67–69, 71–78, 80–88, 90–96
crates/provider/src/shared
   helpers.rs100%100%100%100%
   types.rs4%100%2.86%4.17%101–111, 113–119, 121–131, 133–136, 148–159, 161–168, 170–180, 193–203, 205–219, 221–227, 229–235, 237–240, 251–260, 262–269, 271–281, 291–300, 302–309, 311–321, 345–351, 355–362, 56–72, 74–80, 82–85, 87–90, 92–99
crates/sdk/src
   environment.rs0%100%0%0%23–27, 29, 32–36, 38–40, 43–49, 51
   lib.rs0%100%0%0%45–50, 52–57, 59–64
crates/support/src
   fs.rs100%100%100%100%
   net.rs0%100%0%0%10–16, 18–22, 24, 26–30, 32–35, 37–42, 46, 49–50, 52–60
   replacer.rs96.67%100%85.71%98.11%
crates/support/src/fs
   in_memory.rs96.39%100%94.95%96.52%107, 248–253, 41–44, 46, 48–51, 53, 55–58, 60
   local.rs98.76%100%96.67%99.01%63, 92–94

@pepoviola pepoviola merged commit 2f8b790 into main Oct 24, 2024
8 checks passed
@pepoviola pepoviola deleted the feat-upgrade-paras branch October 24, 2024 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant