스킬: Twoliter 버전 업데이트
목적
포레스트의 모든 리포지토리를 새 Twoliter 버전으로 업데이트합니다. 이 작업은 core-kit, kernel-kit 및 bottlerocket 리포지토리에 업데이트된 버전과 SHA256 체크섬이 포함된 Git 커밋을 생성합니다.
사용 시기
- 새 Twoliter 릴리스 후보 테스트
- 새로운 안정적인 Twoliter 릴리스로 업데이트
- 새 Twoliter 버전으로 CI 테스트를 트리거하기 위한 풀 리퀘스트 준비
사전 요구 사항
- 포레스트에 모든 리포지토리가 클론되어 있어야 함
- 작성자 정보가 구성된 Git
- GitHub 릴리스에 대한 네트워크 액세스
절차
1. 새 버전의 SHA256 체크섬 가져오기
X.Y.Z를 대상 버전(예: 0.13.0 또는 0.13.0-rc1)으로 바꾸세요:
# x86_64용
curl -sSL "https://github.com/bottlerocket-os/twoliter/releases/download/vX.Y.Z/twoliter-x86_64-unknown-linux-musl.tar.xz.sha256"
# aarch64용
curl -sSL "https://github.com/bottlerocket-os/twoliter/releases/download/vX.Y.Z/twoliter-aarch64-unknown-linux-musl.tar.xz.sha256"
2. 모든 킷 업데이트
워크트리(예: bottlerocket-core-kit, bottlerocket-kernel-kit)의 각 킷에 대해 Makefile을 편집하세요:
TWOLITER_VERSION ?= "X.Y.Z"
TWOLITER_SHA256_AARCH64 ?= "<aarch64-sha256>"
TWOLITER_SHA256_X86_64 ?= "<x86_64-sha256>"
각 킷을 커밋하세요:
cd kits/<kit-name>
git add Makefile
git commit -m "chore: twoliter X.Y.Z로 업데이트"
cd ../..
3. bottlerocket 업데이트
워크트리에서 bottlerocket/Makefile.toml을 편집하세요(v 접두사에 주의):
TWOLITER_VERSION = "vX.Y.Z"
TWOLITER_SHA256_AARCH64 = "<aarch64-sha256>"
TWOLITER_SHA256_X86_64 = "<x86_64-sha256>"
커밋하세요:
cd bottlerocket
git add Makefile.toml
git commit -m "chore: twoliter X.Y.Z로 업데이트"
검증
모든 킷과 bottlerocket에서 커밋이 생성되었는지 확인하세요:
# 각 킷 확인
for kit in kits/*/; do
echo "=== $(basename $kit) ==="
(cd "$kit" && git show HEAD --stat)
done
# bottlerocket 확인
(cd bottlerocket && git show HEAD --stat)
각각 다음을 보여야 합니다:
- 커밋 메시지:
chore: twoliter X.Y.Z로 업데이트 - 1개 파일 변경, 3개 추가(+), 3개 삭제(-)
일반적인 문제
SHA256 체크섬을 찾을 수 없음:
- 릴리스가 존재하는지 확인:
https://github.com/bottlerocket-os/twoliter/releases/tag/vX.Y.Z - 바이너리 아티팩트가 릴리스에 첨부되어 있는지 확인
잘못된 버전 형식:
- 킷은 Makefile에서
"X.Y.Z"(v접두사 없음)를 사용합니다. - bottlerocket은 Makefile.toml에서
"vX.Y.Z"(v접두사 있음)를 사용합니다.
커밋 수정: 기존 커밋을 업데이트해야 하는 경우(예: RC에서 안정 버전으로 이동):
# 파일 변경 후, 다음을 실행:
git add <file>
git commit --amend -m "chore: twoliter X.Y.Z로 업데이트"
관련 스킬
- 없음(독립형 스킬)
참고 사항
- 이 스킬은 커밋을 푸시하거나 풀 리퀘스트를 생성하지 않습니다.
- 커밋을 생성한 후 수동으로 푸시하고 PR을 생성할 수 있습니다.
- PR은 새 Twoliter 버전을 테스트하기 위해 CI를 트리거합니다.
- 스키마 버전 변경은 드물며, 릴리스 노트에 명시된 경우에만 업데이트하세요.