Artifact 3dc582496d9e7a159cee3e9e1c56a0744223aadacdac7d886d3de14c6af71e09:
- File speedtest-cli/Makefile — part of check-in [698a49b9b6] at 2023-12-14 02:25:01 on branch trunk — Moved definition of URIBASE from the Dockerfile into the Makefile, simplifying things slightly by putting all uses of VERSION in the Makefile alone. (user: tangent size: 1583)
0000: 23 20 43 6f 6e 74 61 69 6e 65 72 20 62 61 73 65 # Container base 0010: 20 6e 61 6d 65 0a 4e 41 4d 45 20 3a 3d 20 73 70 name.NAME := sp 0020: 65 65 64 74 65 73 74 2d 63 6c 69 0a 54 41 52 42 eedtest-cli.TARB 0030: 41 4c 4c 20 3a 3d 20 24 28 4e 41 4d 45 29 2e 74 ALL := $(NAME).t 0040: 61 72 0a 0a 23 20 55 70 73 74 72 65 61 6d 20 76 ar..# Upstream v 0050: 65 72 73 69 6f 6e 20 74 6f 20 62 61 73 65 20 74 ersion to base t 0060: 68 69 73 20 69 6d 61 67 65 20 6f 6e 2e 20 20 46 his image on. F 0070: 69 6e 64 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 ind new versions 0080: 20 68 65 72 65 3a 0a 23 20 68 74 74 70 73 3a 2f here:.# https:/ 0090: 2f 77 77 77 2e 73 70 65 65 64 74 65 73 74 2e 6e /www.speedtest.n 00a0: 65 74 2f 61 70 70 73 2f 63 6c 69 0a 56 45 52 53 et/apps/cli.VERS 00b0: 49 4f 4e 20 3a 3d 20 31 2e 32 2e 30 0a 55 52 49 ION := 1.2.0.URI 00c0: 42 41 53 45 20 3a 3d 20 68 74 74 70 73 3a 2f 2f BASE := https:// 00d0: 69 6e 73 74 61 6c 6c 2e 73 70 65 65 64 74 65 73 install.speedtes 00e0: 74 2e 6e 65 74 2f 61 70 70 2f 63 6c 69 2f 6f 6f t.net/app/cli/oo 00f0: 6b 6c 61 2d 73 70 65 65 64 74 65 73 74 2d 24 28 kla-speedtest-$( 0100: 56 45 52 53 49 4f 4e 29 2d 6c 69 6e 75 78 0a 0a VERSION)-linux.. 0110: 23 20 49 6d 61 67 65 20 72 65 70 6f 20 70 72 65 # Image repo pre 0120: 66 69 78 20 74 6f 20 75 73 65 20 66 6f 72 20 22 fix to use for " 0130: 70 75 73 68 22 0a 49 4d 47 52 45 50 4f 20 3a 3d push".IMGREPO := 0140: 20 74 61 6e 67 65 6e 74 73 6f 66 74 0a 0a 23 20 tangentsoft..# 0150: 56 65 72 73 69 6f 6e 65 64 20 6e 61 6d 65 73 20 Versioned names 0160: 74 6f 20 73 68 6f 72 74 65 6e 20 63 6f 6d 6d 61 to shorten comma 0170: 6e 64 73 20 62 65 6c 6f 77 0a 56 44 4e 41 4d 45 nds below.VDNAME 0180: 20 20 3a 3d 20 24 28 4e 41 4d 45 29 2d 24 28 56 := $(NAME)-$(V 0190: 45 52 53 49 4f 4e 29 0a 4c 56 49 4e 41 4d 45 20 ERSION).LVINAME 01a0: 3a 3d 20 24 28 4e 41 4d 45 29 3a 24 28 56 45 52 := $(NAME):$(VER 01b0: 53 49 4f 4e 29 0a 52 56 49 4e 41 4d 45 20 3a 3d SION).RVINAME := 01c0: 20 24 28 49 4d 47 52 45 50 4f 29 2f 24 28 4c 56 $(IMGREPO)/$(LV 01d0: 49 4e 41 4d 45 29 0a 52 4e 49 4e 41 4d 45 20 3a INAME).RNINAME : 01e0: 3d 20 24 28 49 4d 47 52 45 50 4f 29 2f 24 28 4e = $(IMGREPO)/$(N 01f0: 41 4d 45 29 3a 6c 61 74 65 73 74 0a 4d 41 43 48 AME):latest.MACH 0200: 49 4e 45 20 3a 3d 20 24 28 73 68 65 6c 6c 20 75 INE := $(shell u 0210: 6e 61 6d 65 20 2d 6d 29 0a 0a 23 20 43 6f 6e 74 name -m)..# Cont 0220: 61 69 6e 65 72 20 65 6e 67 69 6e 65 20 74 6f 20 ainer engine to 0230: 75 73 65 3b 20 22 70 6f 64 6d 61 6e 22 20 61 6c use; "podman" al 0240: 73 6f 20 77 6f 72 6b 73 20 68 65 72 65 2e 0a 43 so works here..C 0250: 45 4e 47 49 4e 45 20 3a 3d 20 64 6f 63 6b 65 72 ENGINE := docker 0260: 0a 0a 23 20 54 68 65 20 6c 69 73 74 20 6f 66 20 ..# The list of 0270: 70 6c 61 74 66 6f 72 6d 73 20 77 65 20 62 75 69 platforms we bui 0280: 6c 64 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 ld the container 0290: 20 66 6f 72 2e 20 20 49 74 20 73 68 6f 75 6c 64 for. It should 02a0: 20 63 6f 76 65 72 20 39 39 25 0a 23 20 6f 66 20 cover 99%.# of 02b0: 61 6c 6c 20 70 72 61 63 74 69 63 61 6c 20 75 73 all practical us 02c0: 65 20 63 61 73 65 73 2e 20 20 53 65 65 20 61 72 e cases. See ar 02d0: 63 68 6d 61 70 20 66 6f 72 20 74 68 65 20 74 72 chmap for the tr 02e0: 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 74 68 65 anslation to the 02f0: 0a 23 20 70 6c 61 74 66 6f 72 6d 20 6e 61 6d 65 .# platform name 0300: 73 20 4f 6f 6b 6c 61 20 75 73 65 73 20 69 6e 20 s Ookla uses in 0310: 74 68 65 69 72 20 74 61 72 62 61 6c 6c 73 2e 0a their tarballs.. 0320: 50 4c 41 54 46 4f 52 4d 53 20 3a 3d 20 6c 69 6e PLATFORMS := lin 0330: 75 78 2f 78 38 36 5f 36 34 2c 6c 69 6e 75 78 2f ux/x86_64,linux/ 0340: 69 33 38 36 2c 6c 69 6e 75 78 2f 61 72 6d 2f 76 i386,linux/arm/v 0350: 37 2c 6c 69 6e 75 78 2f 61 72 6d 36 34 0a 0a 23 7,linux/arm64..# 0360: 20 43 72 65 61 74 65 20 4f 43 49 20 69 6d 61 67 Create OCI imag 0370: 65 20 69 6e 20 62 75 69 6c 64 20 63 61 63 68 65 e in build cache 0380: 0a 24 28 54 41 52 42 41 4c 4c 29 3a 20 44 6f 63 .$(TARBALL): Doc 0390: 6b 65 72 66 69 6c 65 20 4d 61 6b 65 66 69 6c 65 kerfile Makefile 03a0: 0a 09 24 28 43 45 4e 47 49 4e 45 29 20 62 75 69 ..$(CENGINE) bui 03b0: 6c 64 20 5c 0a 09 09 2d 2d 62 75 69 6c 64 2d 61 ld \...--build-a 03c0: 72 67 20 55 52 49 42 41 53 45 3d 24 28 55 52 49 rg URIBASE=$(URI 03d0: 42 41 53 45 29 20 5c 0a 09 09 2d 2d 70 6c 61 74 BASE) \...--plat 03e0: 66 6f 72 6d 20 24 28 50 4c 41 54 46 4f 52 4d 53 form $(PLATFORMS 03f0: 29 20 5c 0a 09 09 2d 2d 74 61 67 20 24 28 4e 41 ) \...--tag $(NA 0400: 4d 45 29 3a 6c 61 74 65 73 74 20 5c 0a 09 09 2d ME):latest \...- 0410: 2d 74 61 67 20 24 28 4c 56 49 4e 41 4d 45 29 20 -tag $(LVINAME) 0420: 5c 0a 09 09 2d 2d 74 61 67 20 24 28 52 4e 49 4e \...--tag $(RNIN 0430: 41 4d 45 29 20 5c 0a 09 09 2d 2d 74 61 67 20 24 AME) \...--tag $ 0440: 28 52 56 49 4e 41 4d 45 29 20 5c 0a 09 09 24 28 (RVINAME) \...$( 0450: 44 42 46 4c 41 47 53 29 20 2e 0a 09 24 28 43 45 DBFLAGS) ...$(CE 0460: 4e 47 49 4e 45 29 20 69 6d 61 67 65 20 73 61 76 NGINE) image sav 0470: 65 20 24 28 4c 56 49 4e 41 4d 45 29 20 3e 20 24 e $(LVINAME) > $ 0480: 40 0a 0a 23 20 52 65 6d 6f 76 65 20 62 75 69 6c @..# Remove buil 0490: 64 20 6f 75 74 70 75 74 73 0a 63 6c 65 61 6e 3a d outputs.clean: 04a0: 0a 09 72 6d 20 2d 66 20 24 28 54 41 52 42 41 4c ..rm -f $(TARBAL 04b0: 4c 29 0a 09 2d 24 28 43 45 4e 47 49 4e 45 29 20 L)..-$(CENGINE) 04c0: 69 6d 61 67 65 20 72 6d 20 24 28 4c 56 49 4e 41 image rm $(LVINA 04d0: 4d 45 29 0a 09 2d 24 28 43 45 4e 47 49 4e 45 29 ME)..-$(CENGINE) 04e0: 20 69 6d 61 67 65 20 72 6d 20 24 28 4e 41 4d 45 image rm $(NAME 04f0: 29 3a 6c 61 74 65 73 74 0a 0a 6c 6f 67 69 6e 3a ):latest..login: 0500: 0a 09 24 28 43 45 4e 47 49 4e 45 29 20 6c 6f 67 ..$(CENGINE) log 0510: 69 6e 0a 0a 23 20 50 75 73 68 20 74 68 65 20 62 in..# Push the b 0520: 75 69 6c 74 20 63 6f 6e 74 61 69 6e 65 72 20 62 uilt container b 0530: 75 6e 64 6c 65 0a 70 75 73 68 3a 20 24 28 54 41 undle.push: $(TA 0540: 52 42 41 4c 4c 29 0a 09 24 28 43 45 4e 47 49 4e RBALL)..$(CENGIN 0550: 45 29 20 70 75 73 68 20 24 28 52 4e 49 4e 41 4d E) push $(RNINAM 0560: 45 29 0a 09 24 28 43 45 4e 47 49 4e 45 29 20 70 E)..$(CENGINE) p 0570: 75 73 68 20 24 28 52 56 49 4e 41 4d 45 29 0a 0a ush $(RVINAME).. 0580: 23 20 52 75 6e 20 74 68 65 20 6e 61 74 69 76 65 # Run the native 0590: 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 version of the 05a0: 62 75 69 6c 74 20 63 6f 6e 74 61 69 6e 65 72 20 built container 05b0: 6c 6f 63 61 6c 6c 79 2c 20 66 6f 72 20 74 65 73 locally, for tes 05c0: 74 69 6e 67 0a 72 75 6e 3a 20 24 28 54 41 52 42 ting.run: $(TARB 05d0: 41 4c 4c 29 0a 09 24 28 43 45 4e 47 49 4e 45 29 ALL)..$(CENGINE) 05e0: 20 72 75 6e 20 24 28 44 52 46 4c 41 47 53 29 20 run $(DRFLAGS) 05f0: 5c 0a 09 09 2d 2d 72 6d 20 5c 0a 09 09 2d 2d 74 \...--rm \...--t 0600: 74 79 20 5c 0a 09 09 2d 2d 69 6e 74 65 72 61 63 ty \...--interac 0610: 74 69 76 65 20 5c 0a 09 09 24 28 4c 56 49 4e 41 tive \...$(LVINA 0620: 4d 45 29 20 24 28 45 50 46 4c 41 47 53 29 0a ME) $(EPFLAGS).