remove success metrics, this is pretty binary

This commit is contained in:
Jakub Sokołowski 2018-08-16 16:33:47 -04:00 committed by Oskar Thorén
parent 05a9437ade
commit 81e867d622
1 changed files with 6 additions and 12 deletions

View File

@ -2,12 +2,10 @@
id: 282-deterministic-builds id: 282-deterministic-builds
title: Deterministic Mobile App Builds title: Deterministic Mobile App Builds
status: In Progress status: In Progress
created: 2018-08-10 created: 2018-08-16
category: infra category: infra
lead-contributor: jakubgs lead-contributor: jakubgs
contributors: contributors:
- TODO
- TODO
exit-criteria: yes exit-criteria: yes
success-metrics: yes success-metrics: yes
clear-roles: yes clear-roles: yes
@ -20,7 +18,7 @@ roles-needed:
Idea: #282-deterministic-builds Idea: #282-deterministic-builds
Title: Deterministic Mobile App Builds Title: Deterministic Mobile App Builds
Status: In Progress Status: In Progress
Created: 2018-08-10 Created: 2018-08-16
The purpose of achieving deterministic builds is encuring security of Status software. Deterministic builds depend on ensuring stable inputs, ensuring stable outputs, and capturing as little of the build environment as possible. The purpose of achieving deterministic builds is encuring security of Status software. Deterministic builds depend on ensuring stable inputs, ensuring stable outputs, and capturing as little of the build environment as possible.
@ -33,21 +31,17 @@ In simple terms, deterministic builds mean the same commit generates exactly the
## Key Results ## Key Results
- TODO - Anyone can build a commit on their own machines and verify the result by comparing against our builds
- Status.im app can be uploaded to F-Droid - We can upload Android builds to F-Droid which requires deterministic builds
## Timeline / Checkpoints ## Timeline / Checkpoints
TODO __TODO__: Not sure?
# Exit Criteria # Exit Criteria
- All Status mobile and desktop app builds are deterministic - All Status mobile and desktop app builds are deterministic
# Success Metrics
TODO
## What exactly we going to do? ## What exactly we going to do?
- Verify all of our dependencies are frozen and versioned (`Gemfile.lock`) - Verify all of our dependencies are frozen and versioned (`Gemfile.lock`)
@ -55,5 +49,5 @@ TODO
- Make sure we initialize all variables in an explicit way - Make sure we initialize all variables in an explicit way
- Verify the build output does not depend on build system time/locale/encoding - Verify the build output does not depend on build system time/locale/encoding
- Eliminate timestamp related changes (use `SOURCE_DATE_EPOCH`) - Eliminate timestamp related changes (use `SOURCE_DATE_EPOCH`)
- Use [gitan-builder](https://github.com/devrandom/gitian-builder) or [Nix](https://nixos.org/nix/) to have a deterministic build environment - Use [gitan-builder](https://github.com/devrandom/gitian-builder) or [Nix](https://nixos.org/nix/) to have a controlled build environment
- Configure deterministic builds to run on Jenkins - Configure deterministic builds to run on Jenkins