{
 "issue": {
  "id": 493,
  "iid": 16,
  "project_id": 402,
  "title": "[RELEASE]  v0.14.0",
  "description": "*Created by: yksflip*\n\n# Release Procedure\n\nVersion: v0.14.0\n\nGluon Version: 2020.2\n\n\n## Pre-Build\n\n- ~~[ ] Create Version Branch~~\n- [x] Update README.md\n\nSummarize changes on site-ffhl:\n\n[commit](https://git.luebeck.freifunk.net/FreifunkLuebeck/site-ffhl/commit/59237764083cf66c627c99b5279fae51abffff00)\n\n- [x] Create Versions Tag\n- [x] Create ~~Merge Request~~ Issue\n\n## Build Firmware\n\n- [x] Build Firmware / Run CI. (Firmware for rollout should be build on trusted hardware)\n- [x] Visually check that `output/images/*` and the contents of `output/images/sysupgrade/{stable,beta}.manifest` looks fine.\n- [x] make sure, all desired targets were built\n- [x] copy output images to srv02\n\n## Beta Release\n\n- [x] manually download and flash a few images to a few devices to check that the overall build process went fine. \n\n### Sign Firmware\n\n- [x] Get minimum amount of signatures \n- [x] Update the beta.manifest on the server with the new, added signatures below the \"---\" in the local copy of the beta.manifest.\n- [x] update `beta` symlink on srv02\n\n### Monitor Beta Nodes\n\nThen check for about 2 weeks that nodes with the beta branch selected in their autoupdater updated and run fine. Make sure to have at least one device of the more popular ones on a beta branch.\n\n- [x] Nodes are alive and stable with new version number (check node's status page)\n- [x] Check that all wifi interfaces are up and running (run ``iwinfo`` via ssh)\n- [x] Check that meshing works (run ``batctl o`` via ssh)\n- [x] Check that the process list looks fine (run ``ps`` via ssh - no missing processes? no new, suspicious processes?)\n- [x] Check that `/etc/config/autoupdater` looks fine and has the correct public keys\n- [x] Check that `/etc/dropbear/authorized_keys` was left unmodified\n\nIf not, abort and repeat process with increased build number\n\n## Stable Release\n\n- [x] Update DATE in local stable.manifest\n- [x] Get minimum amount of signatures \n- [x] Update the DATE in the stable.manifest on the server with the new start time.\n- [x] Update the stable.manifest on the server with the new, added signatures below the \"---\" in the local copy of the stable.manifest.\n- [x] update `stable` symlink on srv01:\n\n### Pre-Stable-Rollout\n\n- [x] Verify that images are downloadable via https://luebeck.freifunk.net/firmware/0.xx.y-z/sysupgrade/\n- [x] Verify that stable.manifest on the server contains a sufficient amount of valid signatures\n- [x] Verify that the start DATE of the stable.manifest on the server is correct\n- [x] Then prior the stable update start date, inform passengers: Inform about scheduled landing time of the new release and the firmware changes it contains on the talk@luebeck.freifunk.net mailing list.\n\n### Peri-Stable-Rollout\n\n* Daily:\n  * Check that the predicted number of nodes updates to the new firmware version\n  * For the nodes which updated successfully, check their status page:\n    * enough RAM\n    * load ok (usually < 1)\n    * neighbor link quality ok\n  * Monitor mailing lists for passenger feedback\n\nIn case of any issues occurring, abort.\n\n### Post-Stable-Rollout\n\n- [x] Check if any nodes might have failed updating (any nodes that might have gone offline, especially during the update time at about 04:00 o'clock.\n  * If available, inform individual node owners via the contact information they set in the config-mode about their failed update. If possible, determine cause for failure.\n- [x] Update firmware version and models on the website: https://firmware.luebeck.freifunk.net/wizard\n\n- [ ] Update https://luebeck.freifunk.net/: Add a new blog entry to inform about the new firmware release\n- [ ] Inform via Twitter about the new firmware release\n- [ ] Increment DEFAULT_GLUON_RELEASE in https://gitlab.com/freifunk-luebeck/site-ffhl/blob/master/site.mk\n- [ ] Update all changes of the Release Procedure to git & wiki\n\nSee [wiki](https://wiki.luebeck.freifunk.net/docs/firmware/release-procedure/) for more details.\n",
  "state": "closed",
  "created_at": "2021-01-04T19:11:58.000Z",
  "updated_at": "2021-06-30T09:49:39.000Z",
  "closed_at": null,
  "closed_by": null,
  "labels": [],
  "milestone": null,
  "assignees": [],
  "author": {
   "id": 47,
   "username": "paul",
   "public_email": "",
   "name": "Paul",
   "state": "active",
   "locked": false,
   "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
   "web_url": "https://git.chaotikum.org/paul"
  },
  "type": "ISSUE",
  "assignee": null,
  "user_notes_count": 0,
  "merge_requests_count": 0,
  "upvotes": 0,
  "downvotes": 0,
  "start_date": null,
  "due_date": null,
  "confidential": false,
  "discussion_locked": null,
  "issue_type": "issue",
  "web_url": "https://git.chaotikum.org/freifunk-luebeck/site-ffhl/-/work_items/16",
  "time_stats": {
   "time_estimate": 0,
   "total_time_spent": 0,
   "human_time_estimate": null,
   "human_total_time_spent": null
  },
  "task_completion_status": {
   "count": 32,
   "completed_count": 28
  },
  "has_tasks": false,
  "_links": {
   "self": "https://git.chaotikum.org/api/v4/projects/402/issues/16",
   "notes": "https://git.chaotikum.org/api/v4/projects/402/issues/16/notes",
   "award_emoji": "https://git.chaotikum.org/api/v4/projects/402/issues/16/award_emoji",
   "project": "https://git.chaotikum.org/api/v4/projects/402",
   "closed_as_duplicate_of": null
  },
  "references": {
   "short": "#16",
   "relative": "#16",
   "full": "freifunk-luebeck/site-ffhl#16"
  },
  "severity": "UNKNOWN",
  "moved_to_id": null,
  "imported": false,
  "imported_from": "none",
  "service_desk_reply_to": null
 },
 "discussions": []
}