mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 21:11:08 +02:00
68 lines
2.0 KiB
Bash
Executable File
68 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Prints the following github outputs based on channel named passed to
|
|
# the script as a parameter.
|
|
#
|
|
# BRANCH is a name of the git branch related to the passed channel.
|
|
#
|
|
# SKIP tells whether the rest of the steps should be skipped, will be
|
|
# either 0 or 1.
|
|
#
|
|
# LINK is a link to release mirror for the following channel. Will be
|
|
# empty for main channel.
|
|
#
|
|
# LABEL is going to be mostly the same as the channel name, except
|
|
# that lts-old will be labeled as lts.
|
|
|
|
set -euo pipefail
|
|
|
|
if [[ ${#} -ne 1 ]]; then
|
|
echo "Expected a channel name as a parameter" >&2
|
|
exit 1
|
|
fi
|
|
|
|
channel_name="${1}"
|
|
skip=0
|
|
link=''
|
|
branch=''
|
|
label=''
|
|
case "${channel_name}" in
|
|
main)
|
|
branch='main'
|
|
;;
|
|
lts-old)
|
|
curl -fsSLO --retry-delay 1 --retry 60 --retry-connrefused --retry-max-time 60 --connect-timeout 20 'https://lts.release.flatcar-linux.net/lts-info'
|
|
if [[ $(grep -e ':supported' lts-info | wc -l) -le 1 ]]; then
|
|
# Only one supported LTS, skip this workflow run
|
|
# as 'lts' matrix branch will handle updating the only
|
|
# supported LTS.
|
|
skip=1
|
|
else
|
|
line=$(grep -e ':supported' lts-info | sort -V | head -n 1)
|
|
major=$(awk -F: '{print $1}' <<<"${line}")
|
|
year=$(awk -F: '{print $2}' <<<"${line}")
|
|
branch="flatcar-${major}"
|
|
link="https://lts.release.flatcar-linux.net/amd64-usr/current-${year}"
|
|
label='lts'
|
|
fi
|
|
rm -f lts-info
|
|
;;
|
|
alpha|beta|stable|lts)
|
|
link="https://${channel_name}.release.flatcar-linux.net/amd64-usr/current"
|
|
major=$(curl -sSL "${link}/version.txt" | awk -F= '/FLATCAR_BUILD=/{ print $2 }')
|
|
branch="flatcar-${major}"
|
|
;;
|
|
*)
|
|
echo "Unknown channel '${channel_name}'" >&2
|
|
exit 1
|
|
esac
|
|
|
|
if [[ -z "${label}" ]]; then
|
|
label="${channel_name}"
|
|
fi
|
|
|
|
echo "BRANCH=${branch}" >>"${GITHUB_OUTPUT}"
|
|
echo "SKIP=${skip}" >>"${GITHUB_OUTPUT}"
|
|
echo "LINK=${link}" >>"${GITHUB_OUTPUT}"
|
|
echo "LABEL=${label}" >>"${GITHUB_OUTPUT}"
|