diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 239a143..e67c901 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -31,6 +31,13 @@ jobs: - ubuntu: 22.04 sqlcmd: "18.2.1.1-1" sqlcmd_minor: "18.2" + sqlcmd_major: "" + latest: false + package_suffix: "18" + package_path: "/opt/mssql-tools18" + - ubuntu: 24.04 + sqlcmd: "18.4.1.1-1" + sqlcmd_minor: "18.4" sqlcmd_major: "18" latest: true # newest possible version available -> tag as latest ubuntu-latest package_suffix: "18" diff --git a/README.md b/README.md index 7625850..fb5cfdf 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ Sqlcmd – command line tool for Microsoft SQL Server. ## Available tags -* 18.2.1.1-1-ubuntu22.04, 18.2.1.1-1, 18.2-ubuntu, 18.2, 18-ubuntu, 18, latest-ubuntu, latest +* 18.4.1.1-1-ubuntu24.04, 18.4.1.1-1, 18.4-ubuntu, 18.4, 18-ubuntu, 18, latest-ubuntu, latest +* 18.2.1.1-1-ubuntu22.04, 18.2.1.1-1, 18.2-ubuntu, 18.2, * 17.10.1.1-1-ubuntu22.04, 17.10.1.1-1, 17.10-ubuntu, 17.10, 17-ubuntu, 17 * 17.4.1.1-1-ubuntu18.04, 17.4.1.1-1, 17.4-ubuntu, 17.4 diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index c69a347..8b7ac37 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -16,19 +16,22 @@ RUN apt-get -qqq update \ dos2unix \ && locale-gen "en_US.UTF-8" \ \ - && export `grep "VERSION_ID" /etc/os-release | sed -e 's/^VERSION_ID=\"/VERSION_ID=/' -e 's/\"$//'` \ - && mkdir -p /etc/apt/keyrings/ \ - && curl --fail https://packages.microsoft.com/config/ubuntu/$VERSION_ID/prod.list | \ - sed -E 's#deb\s+\[#deb [signed-by=/etc/apt/keyrings/microsoft.gpg #; t; q1' | \ - tee /etc/apt/sources.list.d/microsoft.list \ - && curl --fail https://packages.microsoft.com/keys/microsoft.asc | \ - gpg --verbose --yes --no-tty --batch --dearmor -o /etc/apt/keyrings/microsoft.gpg \ + && export $(grep "VERSION_ID" /etc/os-release | sed -e 's/^VERSION_ID=\"/VERSION_ID=/' -e 's/\"$//') \ + && mkdir -p /usr/share/keyrings \ + && curl --fail --show-error https://packages.microsoft.com/config/ubuntu/$VERSION_ID/prod.list -o /tmp/microsoft-prod.list \ + && if ! grep -q "signed-by=" /tmp/microsoft-prod.list; then \ + sed -E 's#deb\s+\[#deb [signed-by=/usr/share/keyrings/microsoft-prod.gpg #; t; q1' /tmp/microsoft-prod.list > /etc/apt/sources.list.d/microsoft.list; \ + rm /tmp/microsoft-prod.list; \ + else \ + mv /tmp/microsoft-prod.list /etc/apt/sources.list.d/microsoft.list; \ + fi \ + && curl --fail --show-error https://packages.microsoft.com/keys/microsoft.asc | \ + gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \ \ && apt-get -qqq update \ - && ACCEPT_EULA=Y apt-get install -y mssql-tools$MSSQLTOOLS_SUFFIX=$MSSQLTOOLS_VERSION unixodbc-dev \ - && apt-get remove -y curl apt-transport-https gnupg2 \ - && rm -f /etc/apt/sources.list.d/msprod.list \ - && rm -rf /var/lib/apt/lists/* + && ACCEPT_EULA=Y apt-get install -y --no-install-recommends mssql-tools$MSSQLTOOLS_SUFFIX=$MSSQLTOOLS_VERSION unixodbc-dev \ + && apt-get autoremove -y && apt-get clean \ + && rm -rf /tmp/* /var/lib/apt/lists/* ## should be set after locale was generated, overwise triggers warnings ENV LANG="en_US.UTF-8" LANGUAGE="en_US.UTF-8" LC_ALL="en_US.UTF-8"