Skip to content

Commit 742f266

Browse files
committed
Changed to GPG key for MikTeX signed packages.
1 parent 5fd9602 commit 742f266

File tree

2 files changed

+33
-22
lines changed

2 files changed

+33
-22
lines changed

.github/workflows/Pipeline.yml

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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"
@@ -39,7 +40,7 @@ jobs:
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 | head -n 1))"'
127+
MIKTEX_VERSION="$(docker container run --rm ${{ steps.variables.outputs.miktex_image }} bash -c "miktex --version | head -n 1")"
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:

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ RUN apt-get update \
1818
# && apt-get dist-clean
1919

2020
# Install MikTeX
21-
RUN curl -fsSL https://miktex.org/download/key | tee /usr/share/keyrings/miktex-keyring.asc > /dev/null
22-
RUN echo "deb [signed-by=/usr/share/keyrings/miktex-keyring.asc] https://miktex.org/download/debian ${MIKTEX_SRC_REPO} universe" | tee /etc/apt/sources.list.d/miktex.list
21+
RUN curl -fsSL https://miktex.org/download/key | gpg --dearmor -o /usr/share/keyrings/miktex.gpg
22+
RUN echo "deb [signed-by=/usr/share/keyrings/miktex.gpg] https://miktex.org/download/debian bookworm universe" | tee /etc/apt/sources.list.d/miktex.list
2323
RUN apt-get update \
2424
&& apt-get install -y --no-install-recommends \
2525
ghostscript \

0 commit comments

Comments
 (0)