Skip to content

Weekly v0.284.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 21:07
· 46 commits to main since this release

v0.284.0 — 주 격자를 옮긴 다음 주에도 지난주 보고서가 자동 복제됩니다

지난주 전체 자동 복제는 두 가지를 묻습니다. 이번 주에 이미 보고서가 있는가(있으면 건너뜁니다), 그리고 지난주에 복제할 원본이 있는가. 앞의 질문은 이미 날짜 겹침으로 물어 주차 시작 요일이 바뀐 주를 견디고 있었는데, 뒤의 질문은 week_start 정확일치로 남아 있었습니다. 그래서 주차 시작 요일을 바꾼 다음 주에는 작성자가 옛 격자 위에서 이어 쓰던 전환 주 보고서를 원본으로 찾지 못했고, 자동화는 그 주를 처리 완료로 표시한 뒤 초안을 만들지 않았습니다. 매주 오던 초안이 한 번 조용히 오지 않았고, 아무 말도 남지 않았습니다.

원본도 "지난주 7일을 덮는 보고서"로 찾습니다

  • 원본 조회를 weekCoveringDays 기준의 기간 겹침으로 바꿨습니다. 겹치는 것이 여럿이면 week_start 가 가장 늦은 하나를 씁니다 — 작성자가 마지막으로 쓰고 있던 그 보고서이며, 이것이 그들에게 "지난주"의 뜻입니다.
  • 같은 함수 안의 두 반쪽이 이제 같은 규칙을 씁니다. 충돌 검사와 원본 조회가 서로 다른 질문을 하고 있던 것이 이 버그였습니다.
  • 전환 주 자체에는 여전히 복제하지 않습니다. 그 주에는 이미 기간이 겹치는 보고서가 있고, 그것은 건너뛰는 것이 맞습니다.
  • 주 시작 요일을 바꾸지 않은 배포에서는 동작이 이전과 완전히 같습니다. 정확일치와 겹침이 같은 답을 냅니다.

v0.281.0 은 권고 메일에서, v0.282.0 은 작성 화면에서, v0.283.0 은 팀장의 발표 자료에서 같은 불일치를 고쳤습니다. 자동 복제는 절반만 고쳐져 있던 네 번째 자리였습니다.

검증

실제 PostgreSQL에서 회귀 시험 하나를 더했습니다. 요일을 바꾼 전환 주에는 복제가 일어나지 않는 것과, 그 다음 주에는 전환 주 보고서를 원본으로 초안이 만들어지는 것을 함께 잡습니다. 고치기 전에는 실패합니다.

전체 Go 테스트와 go vet, 가드 검사, 프런트엔드 121개 시험·린트·프로덕션 빌드, 버전·OpenAPI·모달 검사를 통과했습니다.

업그레이드

API 스키마, 데이터베이스 마이그레이션과 새 환경변수는 없습니다. 기존과 같이 PostgreSQL을 백업한 뒤 v0.284.0 이미지를 올리면 바로 적용됩니다.

주차 시작 요일을 최근에 바꾼 조직에서 자동 초안을 받지 못한 주가 있다면, 지나간 그 주의 초안이 소급해 만들어지지는 않습니다(자동화는 사용자별로 주차당 한 번만 돌고 그 주는 이미 처리 완료로 적혀 있습니다). 원본 보고서는 데이터베이스에 그대로 있으므로 작성 화면에서 열어 손으로 옮겨 적을 수 있으며, 올린 뒤 오는 주부터는 자동 복제가 평소대로 이어집니다.

오프라인 배포 자산

  • 파일: weekly-v0.284.0.tar.gz
  • 크기: 9252798 bytes
  • SHA-256: d32b29ba05026febfc175577aa644e472d62e3aefb779eae3d62535879624cf7
  • 이미지 다이제스트: sha256:352fbb922e366794c86bbeafcb6d37b71681f45067e206bb5d1bdea0612b0b23

반입 전에는 파일이 온전히 도착했는지를 SHA-256으로, 그 파일이 담은 것이 빌드된 이미지가 맞는지를 아카이브 안의 다이제스트로 확인합니다. 옮기는 과정에서 압축을 풀었다 다시 묶으면 파일 해시는 달라지지만 다이제스트는 그대로입니다. docker image inspect --format {{.Id}} 는 이 값과 다를 수 있습니다 — Docker가 적재하면서 자기 식별자를 다시 매기기 때문이며, 확인에 쓰지 마십시오.

sha256sum weekly-v0.284.0.tar.gz
gzip -dc weekly-v0.284.0.tar.gz | tar -xO manifest.json | grep -o "blobs/sha256/[0-9a-f]\{64\}" | head -1
gzip -dc weekly-v0.284.0.tar.gz | docker load