Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bab0be7e54 |
@@ -1,294 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
################################################################################
|
|
||||||
## File: diff-image-versions.sh
|
|
||||||
## Desc: Compare software versions between two runner image releases
|
|
||||||
## Usage: ./diff-image-versions.sh <os-name> <version1> <version2>
|
|
||||||
##
|
|
||||||
## Example:
|
|
||||||
## ./diff-image-versions.sh ubuntu22 20251102.127 20251125.163
|
|
||||||
## ./diff-image-versions.sh win25 20251102.77 20251125.122
|
|
||||||
## ./diff-image-versions.sh macos-14 20251102.0024 20251125.0031
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $(basename "${0}") <os-name> <version1> <version2>
|
|
||||||
|
|
||||||
Compare runner image versions and display software changes.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
os-name OS identifier (ubuntu22, ubuntu24, win19, win22, win25,
|
|
||||||
macos-13, macos-14, macos-15, or arm64 variants)
|
|
||||||
version1 Earlier version (YYYYMMDD.NNN)
|
|
||||||
version2 Later version (YYYYMMDD.NNN)
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
$(basename "${0}") ubuntu22 20251102.127 20251125.163
|
|
||||||
$(basename "${0}") win25 20251102.77 20251125.122
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
get_readme_path() {
|
|
||||||
local os_name="${1}"
|
|
||||||
local os_folder=""
|
|
||||||
local pattern=""
|
|
||||||
|
|
||||||
# Determine OS folder and readme filename pattern
|
|
||||||
case "${os_name}" in
|
|
||||||
ubuntu*)
|
|
||||||
os_folder="ubuntu"
|
|
||||||
local version="${os_name#ubuntu}"
|
|
||||||
pattern="Ubuntu${version}04-Readme.md"
|
|
||||||
;;
|
|
||||||
win*)
|
|
||||||
os_folder="windows"
|
|
||||||
local version="${os_name#win}"
|
|
||||||
pattern="Windows20${version}-Readme.md"
|
|
||||||
;;
|
|
||||||
macos*)
|
|
||||||
os_folder="macos"
|
|
||||||
pattern="${os_name}-Readme.md"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Error: Unknown OS '${os_name}'" >&2
|
|
||||||
echo "Valid: ubuntu*, win*, macos-*" >&2
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local readme_path="images/${os_folder}/${pattern}"
|
|
||||||
|
|
||||||
# Verify file exists in git repository
|
|
||||||
if ! git cat-file -e "HEAD:${readme_path}" 2>/dev/null; then
|
|
||||||
echo "Error: Readme not found: ${readme_path}" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "${readme_path}"
|
|
||||||
}
|
|
||||||
|
|
||||||
validate_version() {
|
|
||||||
local version="${1}"
|
|
||||||
|
|
||||||
if [[ ! "${version}" =~ ^[0-9]{8}\.[0-9]+$ ]]; then
|
|
||||||
echo "Error: Invalid version '${version}'" >&2
|
|
||||||
echo "Format: YYYYMMDD.NNN (e.g., 20251102.127)" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
tag_exists() {
|
|
||||||
local tag="${1}"
|
|
||||||
|
|
||||||
if git rev-parse "${tag}" >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
echo "Error: Tag '${tag}' not found" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
# Check arguments
|
|
||||||
if [[ $# -ne 3 ]]; then
|
|
||||||
usage
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local os_name="${1}"
|
|
||||||
local version1="${2}"
|
|
||||||
local version2="${3}"
|
|
||||||
|
|
||||||
# Validate inputs
|
|
||||||
validate_version "${version1}" || return 1
|
|
||||||
validate_version "${version2}" || return 1
|
|
||||||
|
|
||||||
# Get readme path
|
|
||||||
local readme_path
|
|
||||||
readme_path="$(get_readme_path "${os_name}")" || return 1
|
|
||||||
|
|
||||||
# Construct git tags
|
|
||||||
local tag1="${os_name}/${version1}"
|
|
||||||
local tag2="${os_name}/${version2}"
|
|
||||||
|
|
||||||
# Verify tags exist
|
|
||||||
tag_exists "${tag1}" || return 1
|
|
||||||
tag_exists "${tag2}" || return 1
|
|
||||||
|
|
||||||
# Get release dates
|
|
||||||
local date1
|
|
||||||
local date2
|
|
||||||
date1=$(git log -1 --format="%ci" "${tag1}" | cut -d' ' -f1)
|
|
||||||
date2=$(git log -1 --format="%ci" "${tag2}" | cut -d' ' -f1)
|
|
||||||
|
|
||||||
# Calculate days between releases
|
|
||||||
local days_diff
|
|
||||||
days_diff=$(( ($(date -d "${date2}" +%s) - $(date -d "${date1}" +%s)) / 86400 ))
|
|
||||||
|
|
||||||
# Display header
|
|
||||||
echo "================================================================================"
|
|
||||||
echo "Comparing: ${os_name}"
|
|
||||||
echo " From: ${version1} (${date1})"
|
|
||||||
echo " To: ${version2} (${date2})"
|
|
||||||
echo " Span: ${days_diff} days"
|
|
||||||
echo "================================================================================"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# Perform diff with minimal context (only changed lines with colors)
|
|
||||||
# ANSI codes: ^[[31m (red for -), ^[[32m (green for +), ^[[36m (cyan for @@)
|
|
||||||
# Filter to show only lines starting with red/green (additions/deletions)
|
|
||||||
local diff_output
|
|
||||||
diff_output=$(git diff --color=always --unified=0 "${tag1}:${readme_path}" "${tag2}:${readme_path}" | \
|
|
||||||
grep -E $'^\x1b\\[(31|32)m' | \
|
|
||||||
grep -v -E $'^\x1b\\[1m(---|\\+\\+\\+)')
|
|
||||||
|
|
||||||
if [[ -n "${diff_output}" ]]; then
|
|
||||||
# Extract announcements from both versions
|
|
||||||
local announcements1
|
|
||||||
local announcements2
|
|
||||||
announcements1=$(git show "${tag1}:${readme_path}" | sed -n '/| Announcements |/,/^\*\*\*$/p' | grep -E '^\| \[' | sed 's/^| \[/• [/' | sed 's/ |$//' || true)
|
|
||||||
announcements2=$(git show "${tag2}:${readme_path}" | sed -n '/| Announcements |/,/^\*\*\*$/p' | grep -E '^\| \[' | sed 's/^| \[/• [/' | sed 's/ |$//' || true)
|
|
||||||
|
|
||||||
# Show announcement changes
|
|
||||||
if [[ "${announcements1}" != "${announcements2}" ]]; then
|
|
||||||
echo "📢 Announcement Changes:"
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
if [[ -n "${announcements2}" ]]; then
|
|
||||||
echo "${announcements2}"
|
|
||||||
else
|
|
||||||
echo "(no announcements)"
|
|
||||||
fi
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Extract cached tools sections
|
|
||||||
local cached_tools1
|
|
||||||
local cached_tools2
|
|
||||||
cached_tools1=$(git show "${tag1}:${readme_path}" | sed -n '/^### Cached Tools$/,/^###[^#]/p' | head -n -1 || true)
|
|
||||||
cached_tools2=$(git show "${tag2}:${readme_path}" | sed -n '/^### Cached Tools$/,/^###[^#]/p' | head -n -1 || true)
|
|
||||||
|
|
||||||
# Show cached tools changes
|
|
||||||
if [[ "${cached_tools1}" != "${cached_tools2}" ]]; then
|
|
||||||
local cached_diff
|
|
||||||
cached_diff=$(git diff --color=always --unified=2 --no-index \
|
|
||||||
<(echo "${cached_tools1}") <(echo "${cached_tools2}") 2>/dev/null | \
|
|
||||||
grep -E $'(^\x1b\\[(31|32)m[-+]| #### )' | \
|
|
||||||
sed -r 's/\x1b\[m$//' || true)
|
|
||||||
|
|
||||||
if [[ -n "${cached_diff}" ]]; then
|
|
||||||
echo "🔧 Cached Tools Changes (setup-* actions):"
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
echo "${cached_diff}"
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
echo ""
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Full Diff:"
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
echo "${diff_output}"
|
|
||||||
echo "────────────────────────────────────────────────────────────────────────────────"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# Count changes
|
|
||||||
local changes
|
|
||||||
changes=$(echo "${diff_output}" | wc -l)
|
|
||||||
echo "Changes: ${changes} lines"
|
|
||||||
|
|
||||||
# Parse version changes for breaking change analysis
|
|
||||||
local breaking_changes=()
|
|
||||||
local removals=()
|
|
||||||
local additions=()
|
|
||||||
|
|
||||||
# Extract clean lines (strip ANSI codes)
|
|
||||||
while IFS= read -r line; do
|
|
||||||
if [[ "${line}" =~ ^\-(.+)$ ]]; then
|
|
||||||
removals+=("${BASH_REMATCH[1]}")
|
|
||||||
elif [[ "${line}" =~ ^\+(.+)$ ]]; then
|
|
||||||
additions+=("${BASH_REMATCH[1]}")
|
|
||||||
fi
|
|
||||||
done < <(echo "${diff_output}" | sed -r 's/\x1b\[[0-9;]*m//g')
|
|
||||||
|
|
||||||
# Detect breaking changes
|
|
||||||
for removed in "${removals[@]}"; do
|
|
||||||
local tool_name=""
|
|
||||||
local old_version=""
|
|
||||||
local found_match=false
|
|
||||||
|
|
||||||
# Try to extract tool name and version (handle various formats)
|
|
||||||
if [[ "${removed}" =~ ^([^0-9]+[[:space:]]+)([0-9]+\.[0-9]+[^[:space:]]*) ]]; then
|
|
||||||
tool_name="${BASH_REMATCH[1]}"
|
|
||||||
old_version="${BASH_REMATCH[2]}"
|
|
||||||
elif [[ "${removed}" =~ ^([^0-9]+[[:space:]]+v)([0-9]+\.[0-9]+[^[:space:]]*) ]]; then
|
|
||||||
tool_name="${BASH_REMATCH[1]}"
|
|
||||||
old_version="${BASH_REMATCH[2]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If we found a semver-style version, look for matching addition
|
|
||||||
if [[ -n "${tool_name}" && -n "${old_version}" ]]; then
|
|
||||||
for added in "${additions[@]}"; do
|
|
||||||
if [[ "${added}" =~ ^${tool_name}([0-9]+\.[0-9]+[^[:space:]]*) ]]; then
|
|
||||||
local new_version="${BASH_REMATCH[1]}"
|
|
||||||
found_match=true
|
|
||||||
|
|
||||||
# Extract major version for semver comparison
|
|
||||||
if [[ "${old_version}" =~ ^([0-9]+)\. && "${new_version}" =~ ^([0-9]+)\. ]]; then
|
|
||||||
local old_major="${BASH_REMATCH[1]}"
|
|
||||||
local new_major="${BASH_REMATCH[1]}"
|
|
||||||
|
|
||||||
[[ "${old_version}" =~ ^([0-9]+)\. ]] && old_major="${BASH_REMATCH[1]}"
|
|
||||||
[[ "${new_version}" =~ ^([0-9]+)\. ]] && new_major="${BASH_REMATCH[1]}"
|
|
||||||
|
|
||||||
if [[ ${new_major} -gt ${old_major} ]]; then
|
|
||||||
breaking_changes+=("🔴 ${tool_name}${old_version} → ${new_version} (major version bump)")
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If no match found and looks like a versioned tool, it's a removal
|
|
||||||
if [[ ${found_match} == false && -n "${old_version}" ]]; then
|
|
||||||
breaking_changes+=("❌ ${removed} (removed)")
|
|
||||||
elif [[ ${found_match} == false && "${removed}" =~ [0-9]+\.[0-9]+ ]]; then
|
|
||||||
breaking_changes+=("❌ ${removed} (removed)")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Display breaking changes
|
|
||||||
if [[ ${#breaking_changes[@]} -gt 0 ]]; then
|
|
||||||
echo ""
|
|
||||||
echo "⚠️ Breaking changes detected (${#breaking_changes[@]}):"
|
|
||||||
echo "--------------------------------------------------------------------------------"
|
|
||||||
printf '%s\n' "${breaking_changes[@]}"
|
|
||||||
echo "--------------------------------------------------------------------------------"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "No changes found."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Display PR link and commit count
|
|
||||||
local pr_number
|
|
||||||
pr_number=$(git log --all --format="%s" --grep="${version2}" | \
|
|
||||||
grep -oP '\(#\K[0-9]+(?=\))' | head -1)
|
|
||||||
|
|
||||||
local commit_count
|
|
||||||
commit_count=$(git rev-list --count "${tag1}..${tag2}")
|
|
||||||
|
|
||||||
echo "Commits: ${commit_count}"
|
|
||||||
|
|
||||||
if [[ -n "${pr_number}" ]]; then
|
|
||||||
echo "PR: https://github.com/actions/runner-images/pull/${pr_number}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute main function
|
|
||||||
main "$@"
|
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
| Announcements |
|
|
||||||
|-|
|
|
||||||
| [[Ubuntu & Windows] Four tools scheduled for deprecation on November 3, 2025](https://github.com/actions/runner-images/issues/12898) |
|
|
||||||
***
|
|
||||||
# Ubuntu 24.04
|
# Ubuntu 24.04
|
||||||
- OS Version: 24.04.3 LTS
|
- OS Version: 24.04.3 LTS
|
||||||
- Kernel Version: 6.11.0-1018-azure
|
- Kernel Version: 6.11.0-1018-azure
|
||||||
- Image Version: 20251126.144.1
|
- Image Version: 20251208.163.1
|
||||||
- Systemd version: 255.4-1ubuntu8.11
|
- Systemd version: 255.4-1ubuntu8.11
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
@@ -29,14 +25,14 @@
|
|||||||
### Package Management
|
### Package Management
|
||||||
- cpan 1.64
|
- cpan 1.64
|
||||||
- Helm 3.19.2
|
- Helm 3.19.2
|
||||||
- Homebrew 5.0.3
|
- Homebrew 5.0.5
|
||||||
- Miniconda 25.9.1
|
- Miniconda 25.9.1
|
||||||
- Npm 10.8.2
|
- Npm 10.8.2
|
||||||
- Pip 24.0
|
- Pip 24.0
|
||||||
- Pip3 24.0
|
- Pip3 24.0
|
||||||
- Pipx 1.8.0
|
- Pipx 1.8.0
|
||||||
- RubyGems 3.4.20
|
- RubyGems 3.4.20
|
||||||
- Vcpkg (build from commit da93ad9cab)
|
- Vcpkg (build from commit ab12063725)
|
||||||
- Yarn 1.22.22
|
- Yarn 1.22.22
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
@@ -56,7 +52,7 @@ to accomplish this.
|
|||||||
### Project Management
|
### Project Management
|
||||||
- Ant 1.10.14
|
- Ant 1.10.14
|
||||||
- Gradle 9.2.1
|
- Gradle 9.2.1
|
||||||
- Lerna 9.0.1
|
- Lerna 9.0.3
|
||||||
- Maven 3.9.11
|
- Maven 3.9.11
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
@@ -67,7 +63,7 @@ to accomplish this.
|
|||||||
- Bicep 0.39.26
|
- Bicep 0.39.26
|
||||||
- Buildah 1.33.7
|
- Buildah 1.33.7
|
||||||
- CMake 3.31.6
|
- CMake 3.31.6
|
||||||
- CodeQL Action Bundle 2.23.6
|
- CodeQL Action Bundle 2.23.7
|
||||||
- Docker Amazon ECR Credential Helper 0.11.0
|
- Docker Amazon ECR Credential Helper 0.11.0
|
||||||
- Docker Compose v2 2.38.2
|
- Docker Compose v2 2.38.2
|
||||||
- Docker-Buildx 0.30.1
|
- Docker-Buildx 0.30.1
|
||||||
@@ -90,9 +86,9 @@ to accomplish this.
|
|||||||
- nvm 0.40.3
|
- nvm 0.40.3
|
||||||
- OpenSSL 3.0.13-0ubuntu3.6
|
- OpenSSL 3.0.13-0ubuntu3.6
|
||||||
- Packer 1.14.3
|
- Packer 1.14.3
|
||||||
- Parcel 2.16.1
|
- Parcel 2.16.3
|
||||||
- Podman 4.9.3
|
- Podman 4.9.3
|
||||||
- Pulumi 3.209.0
|
- Pulumi 3.210.0
|
||||||
- Skopeo 1.13.3
|
- Skopeo 1.13.3
|
||||||
- Sphinx Open Source Search Server 2.2.11
|
- Sphinx Open Source Search Server 2.2.11
|
||||||
- yamllint 1.37.1
|
- yamllint 1.37.1
|
||||||
@@ -101,10 +97,10 @@ to accomplish this.
|
|||||||
- Ninja 1.13.2
|
- Ninja 1.13.2
|
||||||
|
|
||||||
### CLI Tools
|
### CLI Tools
|
||||||
- AWS CLI 2.32.5
|
- AWS CLI 2.32.12
|
||||||
- AWS CLI Session Manager Plugin 1.2.764.0
|
- AWS CLI Session Manager Plugin 1.2.764.0
|
||||||
- AWS SAM CLI 1.148.0
|
- AWS SAM CLI 1.150.1
|
||||||
- Azure CLI 2.80.0
|
- Azure CLI 2.81.0
|
||||||
- Azure CLI (azure-devops) 1.0.2
|
- Azure CLI (azure-devops) 1.0.2
|
||||||
- GitHub CLI 2.83.1
|
- GitHub CLI 2.83.1
|
||||||
- Google Cloud CLI 548.0.0
|
- Google Cloud CLI 548.0.0
|
||||||
@@ -121,7 +117,7 @@ to accomplish this.
|
|||||||
### PHP Tools
|
### PHP Tools
|
||||||
- PHP: 8.3.6
|
- PHP: 8.3.6
|
||||||
- Composer 2.9.2
|
- Composer 2.9.2
|
||||||
- PHPUnit 8.5.48
|
- PHPUnit 8.5.50
|
||||||
```
|
```
|
||||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||||
```
|
```
|
||||||
@@ -142,12 +138,12 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
|||||||
- Rustfmt 1.8.0
|
- Rustfmt 1.8.0
|
||||||
|
|
||||||
### Browsers and Drivers
|
### Browsers and Drivers
|
||||||
- Google Chrome 142.0.7444.175
|
- Google Chrome 143.0.7499.40
|
||||||
- ChromeDriver 142.0.7444.175
|
- ChromeDriver 143.0.7499.40
|
||||||
- Chromium 142.0.7444.0
|
- Chromium 143.0.7499.0
|
||||||
- Microsoft Edge 142.0.3595.94
|
- Microsoft Edge 143.0.3650.66
|
||||||
- Microsoft Edge WebDriver 142.0.3595.94
|
- Microsoft Edge WebDriver 143.0.3650.66
|
||||||
- Selenium server 4.38.0
|
- Selenium server 4.39.0
|
||||||
- Mozilla Firefox 145.0.2
|
- Mozilla Firefox 145.0.2
|
||||||
- Geckodriver 0.36.0
|
- Geckodriver 0.36.0
|
||||||
|
|
||||||
@@ -175,7 +171,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### MySQL
|
#### MySQL
|
||||||
- MySQL 8.0.44-0ubuntu0.24.04.1
|
- MySQL 8.0.44-0ubuntu0.24.04.2
|
||||||
```
|
```
|
||||||
User: root
|
User: root
|
||||||
Password: root
|
Password: root
|
||||||
@@ -188,8 +184,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
|||||||
#### Go
|
#### Go
|
||||||
- 1.22.12
|
- 1.22.12
|
||||||
- 1.23.12
|
- 1.23.12
|
||||||
- 1.24.10
|
- 1.24.11
|
||||||
- 1.25.4
|
- 1.25.5
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 20.19.6
|
- 20.19.6
|
||||||
@@ -201,8 +197,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
|||||||
- 3.10.19
|
- 3.10.19
|
||||||
- 3.11.14
|
- 3.11.14
|
||||||
- 3.12.12
|
- 3.12.12
|
||||||
- 3.13.9
|
- 3.13.11
|
||||||
- 3.14.0
|
- 3.14.2
|
||||||
|
|
||||||
#### PyPy
|
#### PyPy
|
||||||
- 3.9.19 [PyPy 7.3.16]
|
- 3.9.19 [PyPy 7.3.16]
|
||||||
@@ -259,7 +255,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
|||||||
| aria2 | 1.37.0+debian-1build3 |
|
| aria2 | 1.37.0+debian-1build3 |
|
||||||
| autoconf | 2.71-3 |
|
| autoconf | 2.71-3 |
|
||||||
| automake | 1:1.16.5-1.3ubuntu1 |
|
| automake | 1:1.16.5-1.3ubuntu1 |
|
||||||
| binutils | 2.42-4ubuntu2.6 |
|
| binutils | 2.42-4ubuntu2.7 |
|
||||||
| bison | 2:3.8.2+dfsg-1build2 |
|
| bison | 2:3.8.2+dfsg-1build2 |
|
||||||
| brotli | 1.1.0-2build2 |
|
| brotli | 1.1.0-2build2 |
|
||||||
| bzip2 | 1.0.8-5.1build0.1 |
|
| bzip2 | 1.0.8-5.1build0.1 |
|
||||||
@@ -328,4 +324,3 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
|||||||
| xz-utils | 5.6.1+really5.4.5-1ubuntu0.2 |
|
| xz-utils | 5.6.1+really5.4.5-1ubuntu0.2 |
|
||||||
| zip | 3.0-13ubuntu0.2 |
|
| zip | 3.0-13ubuntu0.2 |
|
||||||
| zsync | 0.6.2-5build1 |
|
| zsync | 0.6.2-5build1 |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user