@@ -135,7 +135,7 @@ QUICK_BUILDCMD := go build -mod=vendor
135
135
GOCLEANCMD := go clean -mod=vendor ./...
136
136
GITCLEANCMD := git clean -xfd
137
137
CHECKSUMCMD := sha256sum -b
138
- COMPRESSCMD := xz --compress --threads=0
138
+ COMPRESSCMD := xz --compress --threads=0 --stdout
139
139
140
140
.DEFAULT_GOAL := help
141
141
@@ -302,7 +302,9 @@ windows-x86-compress:
302
302
303
303
@set -e; for target in $(WHAT); do \
304
304
echo " compressing $$target 386 binary" && \
305
- $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-windows-386.exe; \
305
+ $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-windows-386.exe > \
306
+ $(ASSETS_PATH)/$$target/$$target-windows-386.exe.xz && \
307
+ rm -f $(ASSETS_PATH)/$$target/$$target-windows-386.exe; \
306
308
done
307
309
308
310
@echo "Completed compress tasks for windows x86"
@@ -358,7 +360,9 @@ windows-x64-compress:
358
360
359
361
@set -e; for target in $(WHAT); do \
360
362
echo " compressing $$target amd64 binary" && \
361
- $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-windows-amd64.exe; \
363
+ $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-windows-amd64.exe > \
364
+ $(ASSETS_PATH)/$$target/$$target-windows-amd64.exe.xz && \
365
+ rm -f $(ASSETS_PATH)/$$target/$$target-windows-amd64.exe; \
362
366
done
363
367
364
368
@echo "Completed compress tasks for windows x64"
@@ -430,7 +434,9 @@ linux-x86-compress:
430
434
431
435
@set -e; for target in $(WHAT); do \
432
436
echo " compressing $$target 386 binary" && \
433
- $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-386; \
437
+ $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-386 > \
438
+ $(ASSETS_PATH)/$$target/$$target-linux-386.xz && \
439
+ rm -f $(ASSETS_PATH)/$$target/$$target-linux-386; \
434
440
done
435
441
436
442
@echo "Completed compress tasks for linux x86"
@@ -482,7 +488,9 @@ linux-x64-compress:
482
488
483
489
@set -e; for target in $(WHAT); do \
484
490
echo " compressing $$target amd64 binary" && \
485
- $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-amd64; \
491
+ $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-amd64 > \
492
+ $(ASSETS_PATH)/$$target/$$target-linux-amd64.xz && \
493
+ rm -f $(ASSETS_PATH)/$$target/$$target-linux-amd64; \
486
494
done
487
495
488
496
@echo "Completed compress tasks for linux x64"
@@ -532,7 +540,9 @@ linux-x64-dev-compress:
532
540
533
541
@set -e; for target in $(WHAT); do \
534
542
echo " compressing $$target amd64 binary" && \
535
- $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-amd64-dev; \
543
+ $(COMPRESSCMD) $(ASSETS_PATH)/$$target/$$target-linux-amd64-dev > \
544
+ $(ASSETS_PATH)/$$target/$$target-linux-amd64-dev.xz && \
545
+ rm -f $(ASSETS_PATH)/$$target/$$target-linux-amd64-dev; \
536
546
done
537
547
538
548
@echo "Completed dev compress tasks for linux x64"
@@ -752,89 +762,157 @@ dev-build: clean linux-x64-dev-build packages-dev package-links linux-x64-dev-co
752
762
release-build : clean windows linux-x86 packages-dev clean-linux-x64-dev packages-stable linux-x64-compress linux-x64-checksums links
753
763
@echo " Completed all tasks for stable release build"
754
764
755
- .PHONY : helper-docker-builder-setup
756
- # # helper-docker-builder-setup: refreshes builder image for Docker-based tasks
757
- helper-docker-builder-setup :
765
+ .PHONY : helper-builder-setup
766
+ helper-builder-setup :
758
767
759
- @echo "Beginning regeneration of Docker builder image"
768
+ @echo "Beginning regeneration of builder image using $(CONTAINER_COMMAND) "
760
769
@echo "Removing any previous build image"
761
- @docker image prune --all --force --filter "label=atc0005_projects_builder_image"
770
+ $(CONTAINER_COMMAND) image prune --all --force --filter "label=atc0005_projects_builder_image"
762
771
763
- @echo "Gathering Docker build environment details"
764
- @docker version
772
+ @echo "Gathering $(CONTAINER_COMMAND) build environment details"
773
+ @$(CONTAINER_COMMAND) version
765
774
766
775
@echo
767
776
@echo "Generating release builder image"
768
- @docker image build \
777
+ $(CONTAINER_COMMAND) image build \
769
778
--pull \
770
779
--no-cache \
771
780
--force-rm \
772
- dependabot/docker/builds/ \
781
+ . \
782
+ -f dependabot/docker/builds/Dockerfile \
773
783
-t builder_image \
774
784
--label="atc0005_projects_builder_image"
775
785
@echo "Completed generation of release builder image"
776
786
787
+ @echo "Listing current container images managed by $(CONTAINER_COMMAND)"
788
+ $(CONTAINER_COMMAND) image ls
789
+
777
790
@echo
778
- @echo "Inspecting release builder image environment"
779
- @docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" builder_image
791
+ @echo "Inspecting release builder image environment using $(CONTAINER_COMMAND)"
792
+ @$(CONTAINER_COMMAND) inspect --format "{{range .Config.Env}}{{println .}}{{end}}" builder_image
793
+
794
+ @echo "Completed regeneration of builder image using $(CONTAINER_COMMAND)"
780
795
781
- @echo "Completed regeneration of Docker builder image"
796
+ @echo "Prepare output path for generated assets"
797
+ @mkdir -p $(ASSETS_PATH)
782
798
783
799
.PHONY : docker-release-build
784
- # # docker-release-build: generates stable build assets for public release using Docker
785
- docker-release-build : clean helper-docker-builder-setup
800
+ # # docker-release-build: generates stable build assets for public release using docker container
801
+ docker-release-build : CONTAINER_COMMAND := docker
802
+ docker-release-build : clean helper-builder-setup
786
803
787
- @echo "Beginning release build using Docker "
804
+ @echo "Beginning release build using $(CONTAINER_COMMAND) "
788
805
789
806
@echo
790
807
@echo "Using release builder image to generate project release assets"
791
- @docker container run \
792
- --user $${UID:-1000} \
808
+ $(CONTAINER_COMMAND) container run \
809
+ --user builduser:builduser \
793
810
--rm \
794
811
-i \
795
- -v $$PWD:$$PWD \
796
- -w $$PWD \
812
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
813
+ -w /builds \
797
814
builder_image \
798
- env GOCACHE=/tmp/ make release-build
815
+ make release-build
816
+
817
+ @echo "Completed release build using $(CONTAINER_COMMAND)"
818
+
819
+ .PHONY : podman-release-build
820
+ # # podman-release-build: generates stable build assets for public release using podman container
821
+ podman-release-build : CONTAINER_COMMAND := podman
822
+ podman-release-build : clean helper-builder-setup
799
823
800
- @echo "Completed release build using Docker"
824
+ @echo "Beginning release build using $(CONTAINER_COMMAND)"
825
+
826
+ @echo
827
+ @echo "Using release builder image to generate project release assets"
828
+ $(CONTAINER_COMMAND) container run \
829
+ --rm \
830
+ -i \
831
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
832
+ -w /builds \
833
+ builder_image \
834
+ make release-build
835
+
836
+ @echo "Completed release build using $(CONTAINER_COMMAND)"
801
837
802
838
.PHONY : docker-dev-build
803
- # # docker-dev-build: generates dev build assets for public release using Docker
804
- docker-dev-build : clean helper-docker-builder-setup
839
+ # # docker-dev-build: generates dev build assets for public release using docker container
840
+ docker-dev-build : CONTAINER_COMMAND := docker
841
+ docker-dev-build : clean helper-builder-setup
805
842
806
- @echo "Beginning dev build using Docker "
843
+ @echo "Beginning dev build using $(CONTAINER_COMMAND) "
807
844
808
845
@echo
809
846
@echo "Using release builder image to generate project release assets"
810
- @docker container run \
811
- --user $${UID:-1000} \
847
+ $(CONTAINER_COMMAND) container run \
848
+ --user builduser:builduser \
812
849
--rm \
813
850
-i \
814
- -v $$PWD:$$PWD \
815
- -w $$PWD \
851
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
852
+ -w /builds \
816
853
builder_image \
817
- env GOCACHE=/tmp/ make dev-build
854
+ make dev-build
818
855
819
- @echo "Completed dev build using Docker "
856
+ @echo "Completed dev build using $(CONTAINER_COMMAND) "
820
857
858
+ .PHONY : podman-dev-build
859
+ # # podman-dev-build: generates dev build assets for public release using podman container
860
+ podman-dev-build : CONTAINER_COMMAND := podman
861
+ podman-dev-build : clean helper-builder-setup
821
862
863
+ @echo "Beginning dev build using $(CONTAINER_COMMAND)"
864
+
865
+ @echo
866
+ @echo "Using release builder image to generate project release assets"
867
+ $(CONTAINER_COMMAND) container run \
868
+ --rm \
869
+ -i \
870
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
871
+ -w /builds \
872
+ builder_image \
873
+ make dev-build
874
+
875
+ @echo "Completed dev build using $(CONTAINER_COMMAND)"
822
876
823
877
.PHONY : docker-packages
824
- # # docker-packages: generates dev and stable packages using Docker
825
- docker-packages : helper-docker-builder-setup
878
+ # # docker-packages: generates dev and stable packages using builder image
879
+ docker-packages : CONTAINER_COMMAND := docker
880
+ docker-packages : helper-builder-setup
881
+
882
+ @echo "Beginning package generation using $(CONTAINER_COMMAND)"
883
+
884
+ @echo
885
+ @echo "Using release builder image to generate packages"
826
886
827
- @echo "Beginning package generation using Docker"
887
+ @echo "Building with $(CONTAINER_COMMAND)"
888
+ $(CONTAINER_COMMAND) container run \
889
+ --rm \
890
+ --user builduser:builduser \
891
+ -i \
892
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
893
+ -w /builds \
894
+ builder_image \
895
+ make packages
896
+
897
+ @echo "Completed package generation using $(CONTAINER_COMMAND)"
898
+
899
+ .PHONY : podman-packages
900
+ # # podman-packages: generates dev and stable packages using podman container
901
+ podman-packages : CONTAINER_COMMAND := podman
902
+ podman-packages : helper-builder-setup
903
+
904
+ @echo "Beginning package generation using $(CONTAINER_COMMAND)"
828
905
829
906
@echo
830
907
@echo "Using release builder image to generate packages"
831
- @docker container run \
832
- --user $${UID:-1000} \
908
+
909
+ @echo "Building with $(CONTAINER_COMMAND)"
910
+ $(CONTAINER_COMMAND) container run \
833
911
--rm \
834
912
-i \
835
- -v $$PWD:$$PWD \
836
- -w $$PWD \
913
+ -v $$PWD/$(OUTPUTDIR):/builds/$(OUTPUTDIR):rw \
914
+ -w /builds \
837
915
builder_image \
838
- env GOCACHE=/tmp/ make packages
916
+ make packages
839
917
840
- @echo "Completed package generation using Docker "
918
+ @echo "Completed package generation using $(CONTAINER_COMMAND) "
0 commit comments