mirror of
https://github.com/flatcar/scripts.git
synced 2025-12-07 10:22:12 +01:00
.github: Adapt docker-release-main action to Docker 20
The upstream docker repository location has changed to docker/docker. Additionally, the cli component has been split out which which requires fetching two hashes and updating two ebuilds. We also took the chance to align the ebuild with gentoo's, which means there are is no more live ebuild and no symlink. Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This commit is contained in:
parent
6e085a168e
commit
eff02fb3f0
@ -28,6 +28,14 @@ function checkout_branches() {
|
||||
git -C "${SDK_OUTER_SRCDIR}/third_party/coreos-overlay" checkout -B "${TARGET_BRANCH}" "github/${BASE_BRANCH}"
|
||||
}
|
||||
|
||||
function regenerate_manifest() {
|
||||
CATEGORY_NAME=$1
|
||||
PKGNAME_SIMPLE=$2
|
||||
pushd "${SDK_OUTER_SRCDIR}/third_party/coreos-overlay" >/dev/null || exit
|
||||
enter ebuild "${SDK_INNER_SRCDIR}/third_party/coreos-overlay/${CATEGORY_NAME}/${PKGNAME_SIMPLE}/${PKGNAME_SIMPLE}-${VERSION_NEW}.ebuild" manifest --force
|
||||
popd || exit
|
||||
}
|
||||
|
||||
function generate_patches() {
|
||||
CATEGORY_NAME=$1
|
||||
PKGNAME_SIMPLE=$2
|
||||
|
||||
@ -22,17 +22,23 @@ fi
|
||||
|
||||
# we need to update not only the main ebuild file, but also its DOCKER_GITCOMMIT,
|
||||
# which needs to point to COMMIT_HASH that matches with $VERSION_NEW from upstream docker-ce.
|
||||
dockerEbuildOldSymlink=$(ls -1 app-emulation/docker/docker-${VERSION_OLD}.ebuild)
|
||||
dockerEbuildNewSymlink="app-emulation/docker/docker-${VERSION_NEW}.ebuild"
|
||||
dockerEbuildMain="app-emulation/docker/docker-9999.ebuild"
|
||||
git mv ${dockerEbuildOldSymlink} ${dockerEbuildNewSymlink}
|
||||
sed -i "s/DOCKER_GITCOMMIT=\"\(.*\)\"/DOCKER_GITCOMMIT=\"${COMMIT_HASH}\"/g" ${dockerEbuildMain}
|
||||
sed -i "s/v${VERSION_OLD}/v${VERSION_NEW}/g" ${dockerEbuildMain}
|
||||
dockerEbuildOld=$(ls -1 app-emulation/docker/docker-${VERSION_OLD}.ebuild)
|
||||
dockerEbuildNew="app-emulation/docker/docker-${VERSION_NEW}.ebuild"
|
||||
git mv ${dockerEbuildOld} ${dockerEbuildNew}
|
||||
sed -i "s/GIT_COMMIT=\(.*\)/GIT_COMMIT=${COMMIT_HASH}/g" ${dockerEbuildNew}
|
||||
sed -i "s/v${VERSION_OLD}/v${VERSION_NEW}/g" ${dockerEbuildNew}
|
||||
|
||||
cliEbuildOld=$(ls -1 app-emulation/docker-cli/docker-cli-${VERSION_OLD}.ebuild)
|
||||
cliEbuildNew="app-emulation/docker-cli/docker-cli-${VERSION_NEW}.ebuild"
|
||||
git mv ${cliEbuildOld} ${cliEbuildNew}
|
||||
sed -i "s/GIT_COMMIT=\(.*\)/GIT_COMMIT=${COMMIT_CLI_HASH}/g" ${cliEbuildNew}
|
||||
sed -i "s/v${VERSION_OLD}/v${VERSION_NEW}/g" ${cliEbuildNew}
|
||||
|
||||
# torcx ebuild file has a docker version with only major and minor versions, like 19.03.
|
||||
versionTorcx=${VERSION_OLD%.*}
|
||||
torcxEbuildFile=$(ls -1 app-torcx/docker/docker-${versionTorcx}*.ebuild | sort -ruV | head -n1)
|
||||
sed -i "s/docker-${VERSION_OLD}/docker-${VERSION_NEW}/g" ${torcxEbuildFile}
|
||||
sed -i "s/docker-cli-${VERSION_OLD}/docker-cli-${VERSION_NEW}/g" ${torcxEbuildFile}
|
||||
|
||||
# update also docker versions used by the current docker-runc ebuild file.
|
||||
versionRunc=$(sed -n "s/^DIST docker-runc-\([0-9]*.[0-9]*.*\)\.tar.*/\1/p" app-emulation/docker-runc/Manifest | sort -ruV | head -n1)
|
||||
@ -41,6 +47,7 @@ sed -i "s/github.com\/docker\/docker-ce\/blob\/v${VERSION_OLD}/github.com\/docke
|
||||
|
||||
popd >/dev/null || exit
|
||||
|
||||
regenerate_manifest app-emulation docker-cli
|
||||
generate_patches app-emulation docker Docker
|
||||
|
||||
apply_patches
|
||||
|
||||
@ -13,12 +13,15 @@ jobs:
|
||||
- name: Fetch latest Docker release
|
||||
id: fetch-latest-release
|
||||
run: |
|
||||
git clone https://github.com/docker/docker-ce docker
|
||||
git clone https://github.com/docker/docker docker
|
||||
git clone https://github.com/docker/cli docker-cli
|
||||
versionMain=$(git -C docker ls-remote --tags origin | cut -f2 | sed -n "/refs\/tags\/v[0-9]*\.[0-9]*\.[0-9]*$/s/^refs\/tags\/v//p" | egrep -v -e '(beta|rc)' | sort -ruV | head -n1)
|
||||
commitMain=$(git -C docker rev-parse --short=7 v${versionMain})
|
||||
rm -rf docker
|
||||
commitMain=$(git -C docker rev-parse --short=10 v${versionMain})
|
||||
commitCli=$(git -C docker-cli rev-parse --short=10 v${versionMain})
|
||||
rm -rf docker docker-cli
|
||||
echo ::set-output name=VERSION_MAIN::$(echo ${versionMain})
|
||||
echo ::set-output name=COMMIT_MAIN::$(echo ${commitMain})
|
||||
echo ::set-output name=COMMIT_CLI::$(echo ${commitCli})
|
||||
echo ::set-output name=BASE_BRANCH_MAIN::main
|
||||
- name: Set up Flatcar SDK
|
||||
id: setup-flatcar-sdk
|
||||
@ -30,6 +33,7 @@ jobs:
|
||||
BASE_BRANCH: ${{ steps.fetch-latest-release.outputs.BASE_BRANCH_MAIN }}
|
||||
VERSION_NEW: ${{ steps.fetch-latest-release.outputs.VERSION_MAIN }}
|
||||
COMMIT_HASH: ${{ steps.fetch-latest-release.outputs.COMMIT_MAIN }}
|
||||
COMMIT_CLI_HASH: ${{ steps.fetch-latest-release.outputs.COMMIT_CLI }}
|
||||
PATH: ${{ steps.setup-flatcar-sdk.outputs.path }}
|
||||
run: .github/workflows/docker-apply-patch.sh
|
||||
- name: Create pull request for main
|
||||
|
||||
@ -36,7 +36,6 @@ VERSION_NEW_HYPHEN=${VERSION_NEW//_/-}
|
||||
sed -i "s/${VERSION_OLD_HYPHEN}/${VERSION_NEW_HYPHEN}/g" ${runcEbuildNew}
|
||||
|
||||
# update also runc versions used by docker and containerd
|
||||
sed -i "s/docker-runc-${VERSION_OLD}/docker-runc-${VERSION_NEW}/g" app-emulation/docker/docker-9999.ebuild
|
||||
sed -i "s/docker-runc-${VERSION_OLD}/docker-runc-${VERSION_NEW}/g" app-emulation/containerd/containerd-9999.ebuild
|
||||
|
||||
dockerVersion=$(sed -n "s/^DIST docker-\([0-9]*.[0-9]*.[0-9]*\).*/\1/p" app-emulation/docker/Manifest | sort -ruV | head -n1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user