Skip to content

Weekly v0.289.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 12:15
· 30 commits to main since this release
5763cd2

v0.289.0 — 주 격자를 옮긴 주에도 회의 안건과 변화 요약이 그 주의 보고서를 읽습니다

관리자가 주차 시작 요일을 바꾸면 주 격자만 옮겨지고 이미 저장된 보고서는 그 자리에 남습니다. 전환되는 한 주 동안 팀이 써 둔 보고서는 같은 7일을 다른 날짜로 덮고, weekIsFree 는 같은 기간의 두 번째 보고서를 만들지 못하게 합니다. 그런데 회의 모드와 주간 변화 요약은 스냅샷을 week_start 정확일치로 골랐습니다.

안건이 사라지지 않습니다

  • 전환 주의 회의 자료가 통째로 비었습니다. "논의할 것이 없다" 가 아니라 업무 0건, 인원 0명, 이슈 0건 — 팀 전원이 보고를 마친 주에 나오는 화면입니다. 그 주에 새로 올라온 이슈와 상위 조직에 올릴 결정 요청도 함께 사라졌습니다.
  • 그다음 주에는 반대로 없던 소식이 생겼습니다. 비교 대상인 지난주 스냅샷을 정확일치로 찾지 못하니, 몇 달째 이어지던 업무가 신규재개로 올라오고 진척 40% → 60% 같은 문장은 나오지 않았습니다.
  • 두 화면이 같은 판정을 쓰므로(classifyWeeklyChange) 회의 모드와 주간 변화 요약이 함께 틀렸습니다.

스냅샷 조회를 날짜 정확일치에서 기간 겹침으로 바꿨습니다. SQL 쪽의 weekCoveringDays·weekEndedBefore 와 같은 규칙을 Go 안에서 묻는 snapshotFor·snapshotPrior 입니다. v0.282.0 의 작성 화면, v0.283.0 의 팀원 자료, v0.284.0 의 자동 복제, v0.285.0 의 지난주 계획, v0.287.0 의 분석 화면과 같은 불일치의 일곱 번째 자리입니다.

비교 대상은 이번 7일 바로 앞의 7일로 한정합니다. "지난주에는 보고되지 않았다" 는 판정이 의존하는 사실이라, 여기를 그냥 "더 이른 것 중 가장 늦은 것" 으로 열면 다섯 주 전에 마지막으로 보고된 업무가 재개 가 아니라 평범한 진척 으로 바뀝니다.

신규 판정도 업무의 첫 주차를 요청한 날짜가 아니라 찾아낸 스냅샷의 날짜와 견줍니다. 격자가 옮겨진 주에 처음 올라온 업무가 재개 로 — 있지도 않았던 공백에서 돌아온 것으로 — 보고되던 자리입니다.

격자를 한 번도 옮기지 않은 배포에서는 결과가 종전과 같습니다. 격자가 고정이면 주차는 서로 겹치지 않으므로 기간 겹침과 날짜 정확일치가 같은 답을 냅니다.

검증

회귀 시험 2개를 더했습니다. 전환 주의 회의 안건이 그 주의 이슈와 진척을 담는지, 그리고 판정 여덟 가지 — 전환 주 자체, 전환 주에 처음 올라온 업무, 그다음 주의 비교 대상, 그다음 주의 보고 누락, 다섯 주 전에 마지막으로 보고된 업무 두 가지, 그리고 격자가 뒤로 옮겨져 두 보고서가 같은 7일에 겹치는 자리 두 가지 — 가 각각 맞는지 봅니다. 고치기 전에는 앞의 네 가지가 ABSENT·ABSENT·RESUMED·ABSENT 로 실패하고, 나머지 네 가지는 창을 한 주로 묶어 두었다는 것과 겹칠 때 늦은 것을 고른다는 것을 지킵니다.

판정의 모든 분기를 이미 걸어 보던 기존 시험에는 가드 표시가 없어 변이 검사가 그것을 세지 않았습니다. 표시를 달고, 정체 판정의 경계(StallWeeks 는 넘어야 하는 수가 아니라 세는 수입니다)를 짚는 사례를 하나 더했습니다.

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

업그레이드

API 스키마, 데이터베이스 마이그레이션과 새 환경변수는 없습니다. 기존과 같이 PostgreSQL을 백업한 뒤 v0.289.0 이미지를 올리면 바로 적용됩니다. 지나간 전환 주의 회의 자료도 다시 열면 바르게 나옵니다 — 저장된 값을 고치는 것이 아니라 묻는 방식을 고쳤기 때문입니다.

오프라인 배포 자산

  • 파일: weekly-v0.289.0.tar.gz
  • 크기: 9262107 bytes
  • SHA-256: 094ec4577ba94e66546cad14d8f54843219158109e2a6c4e70633d465962e132
  • 이미지 다이제스트: sha256:84e179ca4ffc1da700870df0ca242611a5ca37734667aa9743ae2dae1e32f570

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

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