@@ -23,6 +23,11 @@ Scripts used for Kern AI CI/CD efforts.
23
23
- [ K8: Release] ( #k8-release )
24
24
- [ K8: Restart] ( #k8-restart )
25
25
- [ K8: Test] ( #k8-test )
26
+ - [ Parent Images: Build] ( #parent-images-build )
27
+ - [ Parent Images: Matrix] ( #parent-images-matrix )
28
+ - [ Parent Images: Submodules Merge] ( #parent-images-submodules-merge )
29
+ - [ Parent Images: Build] ( #parent-images-build )
30
+ - [ Parent Images: Release] ( #parent-images-release )
26
31
- [ OpenTofu: Release] ( #opentofu-release )
27
32
- [ OpenTofu: Generate Docs] ( #opentofu-generate-docs )
28
33
- [ OpenTofu: Plan/Apply] ( #opentofu-planapply )
@@ -585,6 +590,218 @@ Inputs:
585
590
586
591
587
592
593
+ ### Parent Images: Build
594
+
595
+ Workflow file: ` pi_build.yml `
596
+
597
+ Triggers:
598
+ - pull_request_opened_synchronized
599
+
600
+
601
+
602
+
603
+
604
+ ** Description:**
605
+
606
+ - builds & pushes refinery-parent-images:<branch >-<type > to registry.dev.kern.ai
607
+
608
+
609
+
610
+ ** Jobs:**
611
+
612
+ - Configure Head Branch Name
613
+ - `Configure branch name`
614
+
615
+ - pi-matrix
616
+
617
+ - Parent Images: Docker Build
618
+ - `Set up Python`
619
+ - `Install Dependencies`
620
+ - `Compile Requirements`
621
+ - `Build & Push refinery-parent-images:${{ needs.configure-branch-name.outputs.gh_head_ref }}-${{ matrix.parent_image_type }}`
622
+ - `Build & Push refinery-parent-images:${{ needs.configure-branch-name.outputs.gh_head_ref }}-${{ matrix.parent_image_type }}-arm64`
623
+
624
+
625
+
626
+
627
+
628
+ ### Parent Images: Matrix
629
+
630
+ Workflow file: ` pi_matrix.yml `
631
+
632
+ Triggers:
633
+ - workflow_call
634
+
635
+ Inputs:
636
+ - repository
637
+ - checkout_ref
638
+ - parent_image_type
639
+
640
+ Outputs:
641
+ - parent_image_type
642
+ - include
643
+
644
+ ** Description:**
645
+
646
+ - creates a [ Strategy] ( ) input for GitHub Action with the following structure:
647
+ - {
648
+ "parent_image_type": [
649
+ "mini",
650
+ "next"
651
+ ] ,
652
+ "include": [
653
+ {
654
+ "parent_image_type": "mini",
655
+ "app": "refinery-authorizer"
656
+ },
657
+ {
658
+ "parent_image_type": "mini",
659
+ "app": "refinery-gateway-proxy"
660
+ },
661
+ {
662
+ "parent_image_type": "next",
663
+ "app": "admin-dashboard"
664
+ },
665
+ {
666
+ "parent_image_type": "next",
667
+ "app": "refinery-ui"
668
+ },
669
+ {
670
+ "parent_image_type": "next",
671
+ "app": "cognition-ui"
672
+ }
673
+ ]
674
+ }
675
+
676
+
677
+
678
+ ** Jobs:**
679
+
680
+ - Parent Images: Generate Matrix
681
+ - `Generate Matrix`
682
+
683
+
684
+
685
+
686
+
687
+ ### Parent Images: Submodules Merge
688
+
689
+ Workflow file: ` pi_merge_submodule.yml `
690
+
691
+ Triggers:
692
+ - pull_request_closed (dev)
693
+
694
+
695
+
696
+
697
+
698
+ ** Description:**
699
+
700
+ - updates Parent Image repositories' submodule reference
701
+
702
+
703
+
704
+ ** Jobs:**
705
+
706
+ - Configure Head Branch Name
707
+ - `Configure branch name`
708
+
709
+ - pi-matrix
710
+
711
+ - Parent Images: Submodule
712
+ - `Set up Python`
713
+ - `Install Dependencies`
714
+ - `Perform Edit/Git Operations`
715
+
716
+ - GitHub: Delete Branch
717
+ - `Delete Branch`
718
+
719
+
720
+
721
+
722
+
723
+ ### Parent Images: Build
724
+
725
+ Workflow file: ` pi_merge_parent_image.yml `
726
+
727
+ Triggers:
728
+ - pull_request_closed (dev)
729
+
730
+
731
+
732
+
733
+
734
+ ** Description:**
735
+
736
+ - builds & pushes refinery-parent-images: dev- <type > to registry.dev.kern.ai
737
+ - updates Application repositories' <type >-requirements.in and requirements.txt
738
+
739
+
740
+
741
+ ** Jobs:**
742
+
743
+ - Configure Head Branch Name
744
+ - `Configure branch name`
745
+
746
+ - pi-matrix
747
+
748
+ - Parent Images: Docker Build
749
+ - `Set up Python`
750
+ - `Install Dependencies`
751
+ - `Compile Requirements`
752
+ - `Build & Push refinery-parent-images:${{ github.event.pull_request.base.ref }}-${{ env.PARENT_IMAGE_TYPE }}`
753
+ - `Build & Push refinery-parent-images:${{ github.event.pull_request.base.ref }}-${{ env.PARENT_IMAGE_TYPE }}-arm64`
754
+ - `Build & Push refinery-parent-images:sha-${{ env.PARENT_IMAGE_TYPE }}`
755
+ - `Build & Push refinery-parent-images:sha-${{ env.PARENT_IMAGE_TYPE }}-arm64`
756
+
757
+ - Parent Images: App
758
+ - `Set up Python`
759
+ - `Install Dependencies`
760
+ - `Clone ${{ matrix.app }}`
761
+ - `Compile Requirements (Python)`
762
+ - `Compile Requirements (Next)`
763
+ - `Perform Edit/Git Operations (Python)`
764
+ - `Perform Edit/Git Operations (Next)`
765
+
766
+ - GitHub: Delete Branch
767
+ - `Delete Branch`
768
+
769
+ - GitHub: Delete Branch
770
+ - `Delete Branch`
771
+
772
+
773
+
774
+
775
+
776
+ ### Parent Images: Release
777
+
778
+ Workflow file: ` pi_release.yml `
779
+
780
+ Triggers:
781
+ - prerelease
782
+
783
+
784
+
785
+
786
+
787
+ ** Description:**
788
+
789
+ - builds & pushes refinery-parent-images: vX .X.X-<type > to Docker Hub
790
+ - updates Application repositories' Dockerfiles to use the new parent image (updates Application repositories' open PRs)
791
+
792
+
793
+
794
+ ** Jobs:**
795
+
796
+ - pi-matrix
797
+
798
+ - Parent Images: Dockerfile
799
+ - `Perform Edit/Git Operations`
800
+
801
+
802
+
803
+
804
+
588
805
### OpenTofu: Release
589
806
590
807
Workflow file: ` release_please.yml `
0 commit comments