@@ -18,18 +18,19 @@ jobs:
1818 miktex_image_name : ${{ steps.variables.outputs.miktex_image_name }}
1919 miktex_image_tag : ${{ steps.variables.outputs.miktex_image_tag }}
2020 miktex_image : ${{ steps.variables.outputs.miktex_image }}
21+ miktex_version : ${{ steps.test.outputs.miktex_version }}
2122
2223 steps :
2324 - name : 🖉 Variables
2425 id : variables
2526 run : |
2627 base_image_name="python"
2728 base_image_os_version="13"
28- base_image_os_codename="bookworm "
29+ base_image_os_codename="Bookworm "
2930 base_image_os_size="-slim"
3031 base_image_py_version="3.14"
3132
32- miktex_source_repository="${base_image_os_codename}"
33+ miktex_source_repository="${base_image_os_codename,, }"
3334
3435 image_name="miktex"
3536 image_tag="latest"
3940 base_image_os_version=${base_image_os_version}
4041 base_image_os_codename=${base_image_os_codename}
4142 base_image_py_version=${base_image_py_version}
42- base_image=${base_image_name}:${base_image_py_version}${base_image_os_size}-${base_image_os_codename}
43+ base_image=${base_image_name}:${base_image_py_version}${base_image_os_size}-${base_image_os_codename,, }
4344
4445 miktex_source_repository=${miktex_source_repository}
4546
@@ -61,30 +62,26 @@ jobs:
6162 ANSI_BLUE=$'\x1b[34m'
6263 ANSI_CYAN=$'\x1b[36m'
6364 ANSI_DARK_GRAY=$'\x1b[90m'
65+ ANSI_LIGHT_BLUE=$'\x1b[94m'
6466 ANSI_NOCOLOR=$'\x1b[0m'
6567
6668 RemoveComments() {
6769 local OutputFile="${2:-$1}"
6870
69- printf "%s \n" "Removing comments from '$1' and writing to '${OutputFile}'."
71+ printf "::group::${ANSI_LIGHT_BLUE}%s${ANSI_NOCOLOR} \n" "Removing comments from '$1' and writing to '${OutputFile}' .. ."
7072 grep -v '^\s*$\|^\s*\#' "$1" > "${OutputFile}"
71-
72- printf "%s\n" "${ANSI_BLUE}${OutputFile}${ANSI_NOCOLOR}"
73- printf "%s\n" "${ANSI_BLUE}--------------------------------------------------------------------------------${ANSI_NOCOLOR}"
74- while IFS='' read -r line; do
75- printf " %s\n" "${ANSI_CYAN}$line${ANSI_NOCOLOR}"
76- done < "${OutputFile}"
77- printf "%s\n" "${ANSI_BLUE}--------------------------------------------------------------------------------${ANSI_NOCOLOR}"
73+ cat "${OutputFile}" | sed 's/^/ /'
74+ printf "::endgroup::\n"
7875 }
7976
8077 DockerImageSizeUncompressed() {
8178 docker image inspect $1 --format='{{.Size}}' | numfmt --to=iec --format '%.2f'
8279 }
8380
84- printf "%s\n" "Convert 'Common.list' to 'Packages.list' ..."
81+ printf -- "Convert 'Common.list' to 'Packages.list' ...\n "
8582 RemoveComments Common.list Packages.list
8683
87- printf "%s\n" "Building docker file 'Dockerfile' ..."
84+ printf -- "Building docker file 'Dockerfile' ...\n "
8885 docker buildx build \
8986 --file Dockerfile \
9087 --build-arg IMAGE=${{ steps.variables.outputs.base_image }} \
@@ -112,24 +109,38 @@ jobs:
112109 . 2>&1 \
113110 | ./Docker.buildx.sh
114111 # check return codes from docker incase of error.
115-
116- printf -- "Labels of '${{ steps.variables.outputs.miktex_image }}':\n"
117- docker inspect --format='{{json .Config.Labels}}' "${{ steps.variables.outputs.miktex_image }}" | jq
118112
119- printf "%s \n" "Docker image ' ${{ steps.variables.outputs.miktex_image }}' has $(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
113+ printf -- "Docker image '%s' has %s \n" "${{ steps.variables.outputs.miktex_image }}" " $(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
120114
121115 - name : ☑ Checking MikTeX image '${{ steps.variables.outputs.miktex_image }}'
116+ id : test
122117 run : |
123- printf "%s\n" "Docker image '${{ steps.variables.outputs.miktex_image }}' has $(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
118+ DockerImageSizeUncompressed() {
119+ docker image inspect $1 --format='{{.Size}}' | numfmt --to=iec --format '%.2f'
120+ }
121+
122+ printf -- "Docker image '%s' has %s\n" "${{ steps.variables.outputs.miktex_image }}" "$(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
123+ printf -- "Labels of '${{ steps.variables.outputs.miktex_image }}':\n"
124+ docker inspect --format='{{json .Config.Labels}}' "${{ steps.variables.outputs.miktex_image }}" | jq
125+
126+ docker container run --rm ${{ steps.variables.outputs.miktex_image }} bash -c 'printf "%s\n" "which pdflatex: $(which pdflatex) ($(pdflatex --version))"'
127+ MIKTEX_VERSION="$(docker container run --rm ${{ steps.variables.outputs.miktex_image }} bash -c "miktex --version | head -n 1 | grep -oE '\(MikTeX \d+\.\d\)' | grep -oE '\d+\.\d'")"
128+ printf -- "MikTeX version: -%s-\n" "${MIKTEX_VERSION}"
124129
125- docker container run --rm ${{ steps.variables.outputs.miktex_image }} 'printf "%s\n" "which pdflatex: $(which pdflatex)"'
130+ tee "${GITHUB_OUTPUT}" <<EOF
131+ miktex_version=${MIKTEX_VERSION}
132+ EOF
126133
127134 - name : 🔑 Login and push '${{ steps.variables.outputs.miktex_image }}' to Docker Hub
128135 run : |
136+ DockerImageSizeUncompressed() {
137+ docker image inspect $1 --format='{{.Size}}' | numfmt --to=iec --format '%.2f'
138+ }
139+
129140 printf "%s\n" "Login at Docker Hub ..."
130141 printf "%s\n" "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u ${{ vars.DOCKERHUB_USERNAME }} --password-stdin
131142
132- printf "%s \n" "Docker image ' ${{ steps.variables.outputs.miktex_image }}' has $(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
143+ printf -- "Docker image '%s' has %s \n" "${{ steps.variables.outputs.miktex_image }}" " $(DockerImageSizeUncompressed ${{ steps.variables.outputs.miktex_image }})"
133144 docker image push ${{ steps.variables.outputs.miktex_image }}
134145
135146 Specific :
0 commit comments