From 21aafaa5f931896d7d74897d73c6e992006f1329 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 15:18:03 +0300 Subject: [PATCH 001/127] nix-shell environment and basic drone ci config --- .drone.yml | 8 ++++++++ shell.nix | 5 +++++ 2 files changed, 13 insertions(+) create mode 100644 .drone.yml create mode 100644 shell.nix diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 00000000..95fdd11e --- /dev/null +++ b/.drone.yml @@ -0,0 +1,8 @@ +kind: pipeline +type: exec +name: default + +steps: + - name: build + commands: + - nix-shell --pure --run "flutter build apk --split-per-abi" diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..893e6913 --- /dev/null +++ b/shell.nix @@ -0,0 +1,5 @@ +{ pkgs ? import {} }: + +pkgs.mkShell { + nativeBuildInputs = [ pkgs.flutter ]; +} -- 2.42.0 From 756754f1a99ae5fff272cdda5e8d616411ed9ef7 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:23:35 +0300 Subject: [PATCH 002/127] try be impure --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 95fdd11e..99a746c6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,4 +5,4 @@ name: default steps: - name: build commands: - - nix-shell --pure --run "flutter build apk --split-per-abi" + - nix-shell --run "flutter build apk --split-per-abi" -- 2.42.0 From 1313c9f976da12fabfb4ee3537191acf6994c8f5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:33:17 +0300 Subject: [PATCH 003/127] add environment variable --- .drone.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.drone.yml b/.drone.yml index 99a746c6..2c2dd5c5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,3 +6,5 @@ steps: - name: build commands: - nix-shell --run "flutter build apk --split-per-abi" + environment: + - NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" -- 2.42.0 From cad77c16fb88819821574ad96ed8fc126218450e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:33:56 +0300 Subject: [PATCH 004/127] fix syntax --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 2c2dd5c5..bdb702fb 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,4 +7,4 @@ steps: commands: - nix-shell --run "flutter build apk --split-per-abi" environment: - - NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" + - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" -- 2.42.0 From e06b143325d3f388adb54f59cef0d627c75b21b9 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:34:43 +0300 Subject: [PATCH 005/127] fix syntax --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index bdb702fb..67dc2567 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,4 +7,4 @@ steps: commands: - nix-shell --run "flutter build apk --split-per-abi" environment: - - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" -- 2.42.0 From 91a6079e593c40ef8ef2e52674f4ce9f50af3bef Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:43:21 +0300 Subject: [PATCH 006/127] be pure and add dart --- .drone.yml | 2 +- shell.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 67dc2567..875255c4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,6 +5,6 @@ name: default steps: - name: build commands: - - nix-shell --run "flutter build apk --split-per-abi" + - nix-shell --pure --run "flutter build apk --split-per-abi" environment: NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" diff --git a/shell.nix b/shell.nix index 893e6913..3f12f50d 100644 --- a/shell.nix +++ b/shell.nix @@ -1,5 +1,5 @@ { pkgs ? import {} }: pkgs.mkShell { - nativeBuildInputs = [ pkgs.flutter ]; + nativeBuildInputs = with pkgs; [ flutter dart ]; } -- 2.42.0 From e882ace7a778e9e4c77d6839a0f07d55722bc515 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:50:12 +0300 Subject: [PATCH 007/127] debug --- .drone.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 875255c4..a5eb91d7 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,6 +5,8 @@ name: default steps: - name: build commands: - - nix-shell --pure --run "flutter build apk --split-per-abi" + - nix-shell --pure --run "flutter doctor -v" + - nix-shell --pure --run "dart --version" + #- nix-shell --pure --run "flutter build apk --split-per-abi" environment: NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" -- 2.42.0 From eb9d8a704aaa86b9b0c33a8283ee50a4b3631b92 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 16:54:11 +0300 Subject: [PATCH 008/127] add android sdk --- shell.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/shell.nix b/shell.nix index 3f12f50d..09859658 100644 --- a/shell.nix +++ b/shell.nix @@ -1,5 +1,14 @@ -{ pkgs ? import {} }: +{ pkgs ? import { config.android_sdk.accept_license = true; } }: +let + androidComposition = pkgs.androidenv.composeAndroidPackages { + toolsVersion = "26.1.1"; + platformToolsVersion = "33.0.2"; + buildToolsVersions = [ "33.0.0" ]; + }; +in pkgs.mkShell { - nativeBuildInputs = with pkgs; [ flutter dart ]; + ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; + ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; + nativeBuildInputs = with pkgs; [ flutter dart openjdk11 ]; } -- 2.42.0 From 894fc45399831ed8a64427a9b1029ea68d5ef766 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 17:00:10 +0300 Subject: [PATCH 009/127] allow unfree nixpkgs --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index a5eb91d7..395067e8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,3 +10,4 @@ steps: #- nix-shell --pure --run "flutter build apk --split-per-abi" environment: NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" + NIXPKGS_ALLOW_UNFREE: 1 -- 2.42.0 From 6eb404fc11383522e3e0cba9124c2a3064ef6ddd Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 17:09:06 +0300 Subject: [PATCH 010/127] switch to unstable channel for ci --- .drone.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 395067e8..8331d514 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,9 +5,9 @@ name: default steps: - name: build commands: - - nix-shell --pure --run "flutter doctor -v" - - nix-shell --pure --run "dart --version" - #- nix-shell --pure --run "flutter build apk --split-per-abi" + #- nix-shell --pure --run "flutter doctor -v" + #- nix-shell --pure --run "dart --version" + - nix-shell --pure --run "flutter build apk --split-per-abi" environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:/nix/var/nix/profiles/per-user/root/channels" + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs" NIXPKGS_ALLOW_UNFREE: 1 -- 2.42.0 From d278f0f06bcc7d4710d8487d747bb79a702d905d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 17:11:47 +0300 Subject: [PATCH 011/127] delete unneded packages --- shell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell.nix b/shell.nix index 09859658..6f3b3582 100644 --- a/shell.nix +++ b/shell.nix @@ -10,5 +10,5 @@ in pkgs.mkShell { ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; - nativeBuildInputs = with pkgs; [ flutter dart openjdk11 ]; + nativeBuildInputs = with pkgs; [ flutter ]; } -- 2.42.0 From 8dbb8548357858163e6c7ab1fc9f5f0921a998f6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 17:17:35 +0300 Subject: [PATCH 012/127] add java --- shell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell.nix b/shell.nix index 6f3b3582..fd729a2f 100644 --- a/shell.nix +++ b/shell.nix @@ -10,5 +10,5 @@ in pkgs.mkShell { ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; - nativeBuildInputs = with pkgs; [ flutter ]; + nativeBuildInputs = with pkgs; [ flutter openjdk11_headless ]; } -- 2.42.0 From 856e26bd9e614fa1a93e8f8d5106e2ad8c65dc3a Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 17:37:48 +0300 Subject: [PATCH 013/127] use unstable flutter thru channel --- .drone.yml | 2 +- shell.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8331d514..a743b793 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,5 +9,5 @@ steps: #- nix-shell --pure --run "dart --version" - nix-shell --pure --run "flutter build apk --split-per-abi" environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs" + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" NIXPKGS_ALLOW_UNFREE: 1 diff --git a/shell.nix b/shell.nix index fd729a2f..1f15e2fd 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,8 @@ { pkgs ? import { config.android_sdk.accept_license = true; } }: let + unstable = import (fetchTarball "https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz") {}; + androidComposition = pkgs.androidenv.composeAndroidPackages { toolsVersion = "26.1.1"; platformToolsVersion = "33.0.2"; @@ -10,5 +12,5 @@ in pkgs.mkShell { ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; - nativeBuildInputs = with pkgs; [ flutter openjdk11_headless ]; + nativeBuildInputs = with pkgs; [ unstable.flutter openjdk11_headless ]; } -- 2.42.0 From 53ef810a0923900ccb8c2c86897f0f64f3d329ba Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 18:22:58 +0300 Subject: [PATCH 014/127] final version of ci spec --- .drone.yml | 2 +- shell.nix | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index a743b793..6c43b6ee 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,5 +9,5 @@ steps: #- nix-shell --pure --run "dart --version" - nix-shell --pure --run "flutter build apk --split-per-abi" environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" + NIX_PATH: "unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" NIXPKGS_ALLOW_UNFREE: 1 diff --git a/shell.nix b/shell.nix index 1f15e2fd..6ff05a0d 100644 --- a/shell.nix +++ b/shell.nix @@ -1,16 +1,15 @@ -{ pkgs ? import { config.android_sdk.accept_license = true; } }: +{ pkgs ? import { config.android_sdk.accept_license = true; } }: let - unstable = import (fetchTarball "https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz") {}; - androidComposition = pkgs.androidenv.composeAndroidPackages { toolsVersion = "26.1.1"; platformToolsVersion = "33.0.2"; - buildToolsVersions = [ "33.0.0" ]; + buildToolsVersions = [ "30.0.3" ]; + platformVersions = [ "31" "30" "29" ]; }; in pkgs.mkShell { ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; - nativeBuildInputs = with pkgs; [ unstable.flutter openjdk11_headless ]; + nativeBuildInputs = with pkgs; [ flutter openjdk11_headless ]; } -- 2.42.0 From 498c455f8ddce98f693e4862ddeb2cb998b215a5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 18:25:39 +0300 Subject: [PATCH 015/127] fix nix shell --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 6c43b6ee..762a6f54 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,5 +9,5 @@ steps: #- nix-shell --pure --run "dart --version" - nix-shell --pure --run "flutter build apk --split-per-abi" environment: - NIX_PATH: "unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" NIXPKGS_ALLOW_UNFREE: 1 -- 2.42.0 From 5bf582b5ab0769d3ecd7278bad5b931d97de0721 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 20:57:24 +0300 Subject: [PATCH 016/127] trigger ci -- 2.42.0 From 2f6d1ce486c1e843e5bf0a435b04c49d27da6798 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 21:05:12 +0300 Subject: [PATCH 017/127] route ci to the builder server --- .drone.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.drone.yml b/.drone.yml index 762a6f54..c2cc84d2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,3 +11,6 @@ steps: environment: NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" NIXPKGS_ALLOW_UNFREE: 1 + +node: + server: builder -- 2.42.0 From ce1f7197003c3a67c9a0bc0f427498d2afde0660 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 21:17:25 +0300 Subject: [PATCH 018/127] route ci to the ci server --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index c2cc84d2..2ada30ae 100644 --- a/.drone.yml +++ b/.drone.yml @@ -13,4 +13,4 @@ steps: NIXPKGS_ALLOW_UNFREE: 1 node: - server: builder + server: ci -- 2.42.0 From 357bb5e7b39dd7eca3f139f713e784fd266bfae6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 27 Aug 2022 23:59:33 +0300 Subject: [PATCH 019/127] copy apks to repo --- .drone.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 2ada30ae..fd7a5299 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,12 +5,11 @@ name: default steps: - name: build commands: - #- nix-shell --pure --run "flutter doctor -v" - #- nix-shell --pure --run "dart --version" - nix-shell --pure --run "flutter build apk --split-per-abi" + - scp build/app/outputs/apk/release/*.apk 10.0.0.3:/var/lib/fdroid/repo environment: NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" NIXPKGS_ALLOW_UNFREE: 1 node: - server: ci + server: builder -- 2.42.0 From 58b3c08b9f70b4abce02dc331c0aeb370c2cf6f5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sun, 28 Aug 2022 00:05:13 +0300 Subject: [PATCH 020/127] split tasks --- .drone.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index fd7a5299..35ee1961 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,10 +6,13 @@ steps: - name: build commands: - nix-shell --pure --run "flutter build apk --split-per-abi" + - name: deploy + commands: - scp build/app/outputs/apk/release/*.apk 10.0.0.3:/var/lib/fdroid/repo - environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" - NIXPKGS_ALLOW_UNFREE: 1 + +environment: + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" + NIXPKGS_ALLOW_UNFREE: 1 node: server: builder -- 2.42.0 From 74b52b317b7530c8215e3ed2bc440d29aa21414d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sun, 28 Aug 2022 00:08:28 +0300 Subject: [PATCH 021/127] fix environment variables --- .drone.yml | 8 ++++---- shell.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 35ee1961..135e6378 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,13 +6,13 @@ steps: - name: build commands: - nix-shell --pure --run "flutter build apk --split-per-abi" + environment: + NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" + NIXPKGS_ALLOW_UNFREE: 1 + - name: deploy commands: - scp build/app/outputs/apk/release/*.apk 10.0.0.3:/var/lib/fdroid/repo -environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" - NIXPKGS_ALLOW_UNFREE: 1 - node: server: builder diff --git a/shell.nix b/shell.nix index 6ff05a0d..da57151a 100644 --- a/shell.nix +++ b/shell.nix @@ -9,7 +9,7 @@ let }; in pkgs.mkShell { - ANDROID_HOME= "${androidComposition.androidsdk}/libexec/android-sdk"; + ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; nativeBuildInputs = with pkgs; [ flutter openjdk11_headless ]; } -- 2.42.0 From 50788fe21c3126ed5c3f5d1de687d31e634688ba Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:30:32 +0300 Subject: [PATCH 022/127] test ssh access --- .drone.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.drone.yml b/.drone.yml index 135e6378..31a97d6c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,18 +1,12 @@ kind: pipeline type: exec -name: default +name: debug steps: - - name: build + - name: test commands: - - nix-shell --pure --run "flutter build apk --split-per-abi" - environment: - NIX_PATH: "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:unstable=/nix/var/nix/profiles/per-user/root/channels/unstable" - NIXPKGS_ALLOW_UNFREE: 1 - - - name: deploy - commands: - - scp build/app/outputs/apk/release/*.apk 10.0.0.3:/var/lib/fdroid/repo + - ssh-add - <<< "${SSH_PRIVATE_KEY}" + - ssh isolated echo hello node: server: builder -- 2.42.0 From f35ef53fdbe09cca9797a472b82d5edd5fa68876 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:32:01 +0300 Subject: [PATCH 023/127] test ssh access --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index 31a97d6c..9ff91b6b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,6 +5,7 @@ name: debug steps: - name: test commands: + - eval `ssh-agent -s` - ssh-add - <<< "${SSH_PRIVATE_KEY}" - ssh isolated echo hello -- 2.42.0 From 7fba16388a1da56e08caaea0399b93e8e812600d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:33:30 +0300 Subject: [PATCH 024/127] test ssh access --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 9ff91b6b..f6e0bbd2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,7 +6,7 @@ steps: - name: test commands: - eval `ssh-agent -s` - - ssh-add - <<< "${SSH_PRIVATE_KEY}" + - echo "${SSH_PRIVATE_KEY}" | ssh-add - - ssh isolated echo hello node: -- 2.42.0 From 9cb60e515a2f9295ef5a415866356240f527a91c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:42:37 +0300 Subject: [PATCH 025/127] test ssh access --- .drone.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.drone.yml b/.drone.yml index f6e0bbd2..ed7a3f0e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,6 +8,9 @@ steps: - eval `ssh-agent -s` - echo "${SSH_PRIVATE_KEY}" | ssh-add - - ssh isolated echo hello + environment: + SSH_SECRET_KEY: + from_secret: SSH_SECRET_KEY node: server: builder -- 2.42.0 From 33304ae202992b2d62fb272e468808067c7832d8 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:43:59 +0300 Subject: [PATCH 026/127] test ssh access --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index ed7a3f0e..f87c049d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,8 +9,8 @@ steps: - echo "${SSH_PRIVATE_KEY}" | ssh-add - - ssh isolated echo hello environment: - SSH_SECRET_KEY: - from_secret: SSH_SECRET_KEY + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY node: server: builder -- 2.42.0 From 0d7712a3b9cde04cea561b113633f416b54e5023 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:44:37 +0300 Subject: [PATCH 027/127] test ssh access --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index f87c049d..a8077c9c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,7 +6,7 @@ steps: - name: test commands: - eval `ssh-agent -s` - - echo "${SSH_PRIVATE_KEY}" | ssh-add - + - echo "$SSH_PRIVATE_KEY" | ssh-add - - ssh isolated echo hello environment: SSH_PRIVATE_KEY: -- 2.42.0 From 9d743d61485fb087289a4aab5c5684e0ca7e18e7 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:47:35 +0300 Subject: [PATCH 028/127] try to copy contents to the build server --- .drone.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index a8077c9c..200a0346 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,7 +7,8 @@ steps: commands: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - - ssh isolated echo hello + - scp -r `pwd`/. isolated:/var/lib/builder/ + - ssh isolated flutter doctor environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From 3ffb7e4bfeae2ad3c2f25ef9e1ad49972a5447f2 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:54:55 +0300 Subject: [PATCH 029/127] try to copy contents to the build server --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 200a0346..41e9742f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,8 +7,8 @@ steps: commands: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - - scp -r `pwd`/. isolated:/var/lib/builder/ - - ssh isolated flutter doctor + - scp -r `pwd` isolated:/var/lib/builder/ + - ssh isolated cd "$DRONE_REPO" && flutter doctor environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From 4ad7637663eb3af7ef05be9e4bc4e5a9cb7e5b08 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:55:30 +0300 Subject: [PATCH 030/127] try to copy contents to the build server --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 41e9742f..b36454e5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder/ - - ssh isolated cd "$DRONE_REPO" && flutter doctor + - ssh isolated cd "$DRONE_REPO_NAME" && flutter doctor environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From db49fa69aac493c855868ab221d96df06e8d4e34 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 21:58:48 +0300 Subject: [PATCH 031/127] try to copy contents to the build server --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index b36454e5..757923c7 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,8 +7,8 @@ steps: commands: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - - scp -r `pwd` isolated:/var/lib/builder/ - - ssh isolated cd "$DRONE_REPO_NAME" && flutter doctor + - scp -r `pwd` isolated: + - ssh isolated cd src && flutter doctor environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From cec5f6e256222105607f0be659668ca90595b43c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 22:00:02 +0300 Subject: [PATCH 032/127] try to copy contents to the build server --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 757923c7..c4ec4428 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,7 +7,7 @@ steps: commands: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - - scp -r `pwd` isolated: + - scp -r `pwd` isolated:/var/lib/builder - ssh isolated cd src && flutter doctor environment: SSH_PRIVATE_KEY: -- 2.42.0 From c04d45ee7d9da90ea21be4cde15094c1b3c64fe2 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 22:06:20 +0300 Subject: [PATCH 033/127] try to copy contents to the build server --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index c4ec4428..61d16382 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder - - ssh isolated cd src && flutter doctor + - ssh isolated "cd src && flutter doctor" environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From 43ab7cfd21683aa3d0170145a724c28032c94c37 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 22:07:21 +0300 Subject: [PATCH 034/127] try to copy contents to the build server --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 61d16382..e625e03a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder - - ssh isolated "cd src && flutter doctor" + - ssh isolated "cd src && flutter build apk --split-per-abi" environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From eeceb23bd92f9e97025d33f4f01b4ae65030869d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 22:47:49 +0300 Subject: [PATCH 035/127] ephemeral containers --- .drone.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.drone.yml b/.drone.yml index e625e03a..7d0060ae 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,6 +5,8 @@ name: debug steps: - name: test commands: + - sudo nixos-container stop isolated + - sudo nixos-container start isolated - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder -- 2.42.0 From fa814b95a63ffd48a9cc2760926262a0588a5d5d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 23:15:18 +0300 Subject: [PATCH 036/127] ephemeral containers --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7d0060ae..49fc2398 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,8 +5,8 @@ name: debug steps: - name: test commands: - - sudo nixos-container stop isolated - - sudo nixos-container start isolated + - nixos-container stop isolated + - nixos-container start isolated - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder -- 2.42.0 From 10a9f6a5ef0724893aea94d2d34ca101fb82da80 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Tue, 30 Aug 2022 23:59:39 +0300 Subject: [PATCH 037/127] ephemeral containers --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 49fc2398..6465e97e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,9 +1,9 @@ kind: pipeline type: exec -name: debug +name: release steps: - - name: test + - name: build commands: - nixos-container stop isolated - nixos-container start isolated -- 2.42.0 From 1d8d970cac533e085a724b397ccee2d7f7c23be1 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 00:13:49 +0300 Subject: [PATCH 038/127] deploy artifacts --- .drone.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.drone.yml b/.drone.yml index 6465e97e..7d71e219 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,9 +11,14 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder - ssh isolated "cd src && flutter build apk --split-per-abi" + - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*.apk `pwd` environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY + - name: deploy + commands: + - ls + node: server: builder -- 2.42.0 From 451d2c7aac1c2fb307de5b04bd3ab777e5afe40d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 00:45:50 +0300 Subject: [PATCH 039/127] deploy artifacts --- .drone.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7d71e219..5fac5064 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,14 +11,15 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder - ssh isolated "cd src && flutter build apk --split-per-abi" - - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*.apk `pwd` + - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` + - rename app pro.kherel.selfprivacy *.apk && rename release `git rev-parse --short HEAD` *.apk environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY - name: deploy commands: - - ls + - ls *.apk node: server: builder -- 2.42.0 From 844269ee4fa39fb61aa35e37ac940ba0bb57295c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 01:09:04 +0300 Subject: [PATCH 040/127] deploy artifacts --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 5fac5064..dd908aef 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,13 +12,13 @@ steps: - scp -r `pwd` isolated:/var/lib/builder - ssh isolated "cd src && flutter build apk --split-per-abi" - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` - - rename app pro.kherel.selfprivacy *.apk && rename release `git rev-parse --short HEAD` *.apk environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY - name: deploy commands: + - rename app pro.kherel.selfprivacy *.apk && rename release `git rev-parse --short HEAD` *.apk - ls *.apk node: -- 2.42.0 From 8a051da0f26768e0757c73d2a81340429f13aecf Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 13:17:35 +0300 Subject: [PATCH 041/127] ci pipeline --- .drone.yml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index dd908aef..4a55d91c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,5 +1,21 @@ kind: pipeline type: exec +name: ci + +steps: + - name: build + commands: + - flutter build apk --debug --split-per-abi + - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` + - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk + - ls *.apk + +node: + server: builder + +--- +kind: pipeline +type: exec name: release steps: @@ -10,7 +26,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - scp -r `pwd` isolated:/var/lib/builder - - ssh isolated "cd src && flutter build apk --split-per-abi" + - ssh isolated "cd src && flutter build apk --release --split-per-abi" - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` environment: SSH_PRIVATE_KEY: @@ -18,8 +34,14 @@ steps: - name: deploy commands: - - rename app pro.kherel.selfprivacy *.apk && rename release `git rev-parse --short HEAD` *.apk + - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_TAG" *.apk - ls *.apk +trigger: + ref: + include: + - refs/tags/v.* + node: server: builder + -- 2.42.0 From 0ba249818716c880fd079708e50e6812ecff0be6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 13:49:12 +0300 Subject: [PATCH 042/127] debug env --- .drone.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4a55d91c..8f45eca5 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,10 +5,15 @@ name: ci steps: - name: build commands: - - flutter build apk --debug --split-per-abi - - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` - - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - - ls *.apk +# - flutter build apk --debug --split-per-abi +# - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` +# - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk +# - ls *.apk + - echo $JAVA_HOME $ANDROID_HOME $ANDROID_SDK_ROOT + environment: + JAVA_HOME: /nix/store/i9bbniszl2g4pkjy1lbcchg0lnk69xn6-openjdk-headless-11.0.15+10/lib/openjdk + ANDROID_HOME: /nix/store/xvr502awmkzaw29gv0nmg2yr29ksz5wy-androidsdk/libexec/android-sdk + ANDROID_SDK_ROOT: /nix/store/xvr502awmkzaw29gv0nmg2yr29ksz5wy-androidsdk/libexec/android-sdk node: server: builder @@ -44,4 +49,3 @@ trigger: node: server: builder - -- 2.42.0 From 573a3e8c0d866d4e8f5dcf06ee1193552820b311 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 13:51:30 +0300 Subject: [PATCH 043/127] try to build --- .drone.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8f45eca5..e01ee4b4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,11 +5,10 @@ name: ci steps: - name: build commands: -# - flutter build apk --debug --split-per-abi -# - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` -# - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk -# - ls *.apk - - echo $JAVA_HOME $ANDROID_HOME $ANDROID_SDK_ROOT + - flutter build apk --debug --split-per-abi + - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` + - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk + - ls *.apk environment: JAVA_HOME: /nix/store/i9bbniszl2g4pkjy1lbcchg0lnk69xn6-openjdk-headless-11.0.15+10/lib/openjdk ANDROID_HOME: /nix/store/xvr502awmkzaw29gv0nmg2yr29ksz5wy-androidsdk/libexec/android-sdk -- 2.42.0 From 1eb2eb0a1a9ebf83f9378a9738a35ce608fb9d4d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 13:57:09 +0300 Subject: [PATCH 044/127] remove unneeded envs --- .drone.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index e01ee4b4..d435ce0c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,10 +9,6 @@ steps: - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - ls *.apk - environment: - JAVA_HOME: /nix/store/i9bbniszl2g4pkjy1lbcchg0lnk69xn6-openjdk-headless-11.0.15+10/lib/openjdk - ANDROID_HOME: /nix/store/xvr502awmkzaw29gv0nmg2yr29ksz5wy-androidsdk/libexec/android-sdk - ANDROID_SDK_ROOT: /nix/store/xvr502awmkzaw29gv0nmg2yr29ksz5wy-androidsdk/libexec/android-sdk node: server: builder -- 2.42.0 From 4e0d59120be9d8d5ca9cc40e2db0b31c110f53f1 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 14:21:54 +0300 Subject: [PATCH 045/127] debug env --- .drone.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index d435ce0c..99bc4f99 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,10 +5,11 @@ name: ci steps: - name: build commands: - - flutter build apk --debug --split-per-abi - - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` - - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - - ls *.apk +# - flutter build apk --debug --split-per-abi +# - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` +# - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk +# - ls *.apk + - echo $JAVA_HOME $ANDROID_HOME $ANDROID_SDK_ROOT node: server: builder -- 2.42.0 From cb0016f1843570ffa3afbd62f07947bd56b52c6d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 14:35:44 +0300 Subject: [PATCH 046/127] ci pipeline --- .drone.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 99bc4f99..f5b11695 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,11 +5,10 @@ name: ci steps: - name: build commands: -# - flutter build apk --debug --split-per-abi -# - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` -# - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk -# - ls *.apk - - echo $JAVA_HOME $ANDROID_HOME $ANDROID_SDK_ROOT + - flutter build apk --debug --split-per-abi + - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` + - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk + - ls *.apk node: server: builder @@ -39,9 +38,8 @@ steps: - ls *.apk trigger: - ref: - include: - - refs/tags/v.* + event: + - tag node: server: builder -- 2.42.0 From 9c8d2526acb245f6378a80f8df684ba7c8ac050b Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 14:40:33 +0300 Subject: [PATCH 047/127] rename release artifacts to semver --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index f5b11695..7f02d753 100644 --- a/.drone.yml +++ b/.drone.yml @@ -34,7 +34,7 @@ steps: - name: deploy commands: - - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_TAG" *.apk + - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - ls *.apk trigger: -- 2.42.0 From f2960967435eca12634930c5579376885f86294e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 14:55:54 +0300 Subject: [PATCH 048/127] trigger ci only on push and pr --- .drone.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.drone.yml b/.drone.yml index 7f02d753..8017c406 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,6 +10,11 @@ steps: - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - ls *.apk +trigger: + event: + - push + - pull_request + node: server: builder -- 2.42.0 From f28580ba622fe530d15ce039c1b7dbd4aa031831 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 15:43:07 +0300 Subject: [PATCH 049/127] deploy on fdroid --- .drone.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8017c406..fe9e7d47 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,9 +1,9 @@ kind: pipeline type: exec -name: ci +name: Continuous Integration steps: - - name: build + - name: Build Debug Artifacts commands: - flutter build apk --debug --split-per-abi - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` @@ -19,17 +19,21 @@ node: server: builder --- + kind: pipeline type: exec -name: release +name: Release steps: - - name: build + - name: Prepare for Build commands: - nixos-container stop isolated - nixos-container start isolated - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - + + - name: Build Release Artifacts + commands: - scp -r `pwd` isolated:/var/lib/builder - ssh isolated "cd src && flutter build apk --release --split-per-abi" - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` @@ -37,11 +41,18 @@ steps: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY - - name: deploy + - name: Prepare for Deploy commands: - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - ls *.apk + - name: Deploy on F-Droid Repository + commands: + - ls *.apk + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY + trigger: event: - tag -- 2.42.0 From 0fc34669de4efe6a9f48f5b3e4ff2dbf2db56119 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 15:45:02 +0300 Subject: [PATCH 050/127] deploy on fdroid --- .drone.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index fe9e7d47..ec040e07 100644 --- a/.drone.yml +++ b/.drone.yml @@ -31,15 +31,15 @@ steps: - nixos-container start isolated - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY - name: Build Release Artifacts commands: - scp -r `pwd` isolated:/var/lib/builder - ssh isolated "cd src && flutter build apk --release --split-per-abi" - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - name: Prepare for Deploy commands: @@ -49,9 +49,6 @@ steps: - name: Deploy on F-Droid Repository commands: - ls *.apk - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY trigger: event: -- 2.42.0 From 1c9854e83b21abdd3564fa15eabfe7c5c4911789 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 15:53:02 +0300 Subject: [PATCH 051/127] deploy on fdroid --- .drone.yml | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.drone.yml b/.drone.yml index ec040e07..5a3f93ec 100644 --- a/.drone.yml +++ b/.drone.yml @@ -24,30 +24,33 @@ kind: pipeline type: exec name: Release -steps: - - name: Prepare for Build - commands: - - nixos-container stop isolated - - nixos-container start isolated - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY +environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY +steps: - name: Build Release Artifacts commands: + # Prepare SSH keys + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - + # Reset building environment + - nixos-container stop isolated + - nixos-container start isolated + # Copy sources to the building environment - scp -r `pwd` isolated:/var/lib/builder + # Build release artifacts - ssh isolated "cd src && flutter build apk --release --split-per-abi" + # Fetch the release artifacts - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` - - name: Prepare for Deploy - commands: - - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - - ls *.apk - - name: Deploy on F-Droid Repository commands: + # Prepare SSH keys + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - + # Rename the artifacts in a more informative way + - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - ls *.apk trigger: -- 2.42.0 From 954f4ecda966f3257f1d7a6ac4f49d9b8f6f3855 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 15:55:04 +0300 Subject: [PATCH 052/127] deploy on fdroid --- .drone.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5a3f93ec..edb8dc17 100644 --- a/.drone.yml +++ b/.drone.yml @@ -24,10 +24,6 @@ kind: pipeline type: exec name: Release -environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - steps: - name: Build Release Artifacts commands: @@ -43,6 +39,9 @@ steps: - ssh isolated "cd src && flutter build apk --release --split-per-abi" # Fetch the release artifacts - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY - name: Deploy on F-Droid Repository commands: @@ -52,6 +51,9 @@ steps: # Rename the artifacts in a more informative way - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - ls *.apk + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY trigger: event: -- 2.42.0 From 37c08a9db7103974beea8fb77a936c1315c62bd5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 16:32:08 +0300 Subject: [PATCH 053/127] deploy on fdroid --- .drone.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index edb8dc17..74a13967 100644 --- a/.drone.yml +++ b/.drone.yml @@ -39,6 +39,9 @@ steps: - ssh isolated "cd src && flutter build apk --release --split-per-abi" # Fetch the release artifacts - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` + # Rename the artifacts in a more informative way + - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk + - ls *.apk environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -48,9 +51,8 @@ steps: # Prepare SSH keys - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Rename the artifacts in a more informative way - - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk - - ls *.apk + # Copy the artifacts to the F-Droid repository + - scp *.apk ci:/var/lib/fdroid/unsigned environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From 2e1a1a0afe6079d1ebb400bc9d60c0a36b28ba4f Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 17:13:59 +0300 Subject: [PATCH 054/127] properly name fdroid artifacts --- .drone.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 74a13967..ece87434 100644 --- a/.drone.yml +++ b/.drone.yml @@ -36,11 +36,12 @@ steps: # Copy sources to the building environment - scp -r `pwd` isolated:/var/lib/builder # Build release artifacts - - ssh isolated "cd src && flutter build apk --release --split-per-abi" + - ssh isolated "cd src && flutter build apk --release" # Fetch the release artifacts - - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/*-release.apk `pwd` + - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk `pwd` # Rename the artifacts in a more informative way - - rename app pro.kherel.selfprivacy *.apk && rename release "$DRONE_SEMVER" *.apk + - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` + - mv app-release.apk "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - ls *.apk environment: SSH_PRIVATE_KEY: -- 2.42.0 From 331ec5ffc5161bb950d4f785804421d43d202cec Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 18:46:27 +0300 Subject: [PATCH 055/127] deploy on fdroid --- .drone.yml | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/.drone.yml b/.drone.yml index ece87434..f38c33fc 100644 --- a/.drone.yml +++ b/.drone.yml @@ -25,24 +25,33 @@ type: exec name: Release steps: - - name: Build Release Artifacts + - name: Prepare for Build + commands: + # Reset building environment + - nixos-container stop isolated + - nixos-container start isolated + # Prepare SSH keys + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - + # Copy sources to the building environment + - scp -r `pwd` builder@isolated:/var/lib/builder + + - name: Build and Sign Release Artifact for F-Droid Repository commands: # Prepare SSH keys - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Reset building environment - - nixos-container stop isolated - - nixos-container start isolated - # Copy sources to the building environment - - scp -r `pwd` isolated:/var/lib/builder - # Build release artifacts - - ssh isolated "cd src && flutter build apk --release" - # Fetch the release artifacts - - scp isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk `pwd` - # Rename the artifacts in a more informative way + # Build release artifact + - ssh builder@isolated "cd src && flutter build apk --release" + # Fetch the release artifact + - scp builder@isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk `pwd` + # Rename the artifact in a more informative way - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` - mv app-release.apk "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - - ls *.apk + # Upload and sign the artifact + - scp "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" fdroid@isolated:/var/lib/fdroid/unsigned + - ssh fdroid@isolated "fdroid publish && fdroid update" + - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -53,7 +62,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Copy the artifacts to the F-Droid repository - - scp *.apk ci:/var/lib/fdroid/unsigned + - ls repo/ environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From b7fe16c1b5bf19571b906d272882d81368b2a077 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 31 Aug 2022 18:49:15 +0300 Subject: [PATCH 056/127] deploy on fdroid --- .drone.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.drone.yml b/.drone.yml index f38c33fc..419b0891 100644 --- a/.drone.yml +++ b/.drone.yml @@ -35,6 +35,9 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - # Copy sources to the building environment - scp -r `pwd` builder@isolated:/var/lib/builder + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY - name: Build and Sign Release Artifact for F-Droid Repository commands: -- 2.42.0 From e368ba0c42091a52741dcc540c94e2f868d4f2fc Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Thu, 1 Sep 2022 03:54:16 +0300 Subject: [PATCH 057/127] isolated fdroid keys --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 419b0891..4a49f764 100644 --- a/.drone.yml +++ b/.drone.yml @@ -53,7 +53,7 @@ steps: - mv app-release.apk "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" # Upload and sign the artifact - scp "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" fdroid@isolated:/var/lib/fdroid/unsigned - - ssh fdroid@isolated "fdroid publish && fdroid update" + - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat .store-key` FDROID_KEY_PASS=`.repo-key` && fdroid publish && fdroid update" - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: -- 2.42.0 From 6ddd5cf7c434e080e5c7cc82eb00303eb2c31080 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Thu, 1 Sep 2022 03:57:07 +0300 Subject: [PATCH 058/127] isolated fdroid keys --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 4a49f764..ac1424cf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -53,7 +53,7 @@ steps: - mv app-release.apk "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" # Upload and sign the artifact - scp "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" fdroid@isolated:/var/lib/fdroid/unsigned - - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat .store-key` FDROID_KEY_PASS=`.repo-key` && fdroid publish && fdroid update" + - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat .store-key` FDROID_KEY_PASS=`cat .repo-key` && fdroid publish && fdroid update" - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: -- 2.42.0 From 014d5847212f7c549548c45666c74e9589f77f39 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 03:24:14 +0300 Subject: [PATCH 059/127] add standalone signing --- .drone.yml | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index ac1424cf..db59e8e6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -39,21 +39,45 @@ steps: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY - - name: Build and Sign Release Artifact for F-Droid Repository + - name: Build Intermediate Release Artifact commands: # Prepare SSH keys - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Build release artifact + # Build intermediate release artifact - ssh builder@isolated "cd src && flutter build apk --release" # Fetch the release artifact - scp builder@isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk `pwd` - # Rename the artifact in a more informative way + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY + + - name: Sign Release Artifact for Standalone Use + commands: + # Get app build ID - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` - - mv app-release.apk "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" + # Prepare SSH keys + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - - scp "pro.kherel.selfprivacy_$APP_BUILD_ID.apk" fdroid@isolated:/var/lib/fdroid/unsigned - - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat .store-key` FDROID_KEY_PASS=`cat .repo-key` && fdroid publish && fdroid update" + - scp app-release.apk builder@isolated:/var/lib/builder + - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" + # Fetch the signed artifact + - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" + - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk.idsig" + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY + + - name: Sign Release Artifact for F-Droid Repository + # Get app build ID + - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` + # Prepare SSH keys + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - + # Upload and sign the artifact + - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" + - ssh fdroid@isolated "fdroid publish && fdroid update" - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: @@ -65,6 +89,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Copy the artifacts to the F-Droid repository + - ls - ls repo/ environment: SSH_PRIVATE_KEY: -- 2.42.0 From 38a8880b1cbc9df99e57c3843fc864b8640fac38 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 03:28:03 +0300 Subject: [PATCH 060/127] add standalone signing --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index db59e8e6..dd22b076 100644 --- a/.drone.yml +++ b/.drone.yml @@ -70,6 +70,7 @@ steps: from_secret: SSH_PRIVATE_KEY - name: Sign Release Artifact for F-Droid Repository + commands: # Get app build ID - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` # Prepare SSH keys -- 2.42.0 From 2ea278400e17df0aa8d944cb49fda97b43e135ff Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 04:00:25 +0300 Subject: [PATCH 061/127] add standalone signing --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index dd22b076..b2b54ec2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -78,7 +78,7 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - - ssh fdroid@isolated "fdroid publish && fdroid update" + - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update" - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: -- 2.42.0 From 852ad48606cda3c70caaefe4bb145d2ebf9f09fc Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 04:32:57 +0300 Subject: [PATCH 062/127] add standalone signing --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index b2b54ec2..83b956fc 100644 --- a/.drone.yml +++ b/.drone.yml @@ -78,7 +78,7 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - - ssh fdroid@isolated "export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update" + - ssh fdroid@isolated 'FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` fdroid publish && fdroid update' - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: -- 2.42.0 From 62267fd7ac43efd5f54f8670aa04846e6ab3173a Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 04:43:45 +0300 Subject: [PATCH 063/127] add standalone signing --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 83b956fc..c6524da9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -77,7 +77,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" + - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - ssh fdroid@isolated 'FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` fdroid publish && fdroid update' - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: -- 2.42.0 From 20f0bc0e795cf132e2d22c39c07839b06079c3f6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 12:02:23 +0300 Subject: [PATCH 064/127] add standalone signing --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index c6524da9..99ce5b27 100644 --- a/.drone.yml +++ b/.drone.yml @@ -78,7 +78,7 @@ steps: - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - - ssh fdroid@isolated 'FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` fdroid publish && fdroid update' + - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: SSH_PRIVATE_KEY: -- 2.42.0 From 04ab319dedc246f628109aead566867abd1cf50c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 14:59:04 +0300 Subject: [PATCH 065/127] create gitea releases --- .drone.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.drone.yml b/.drone.yml index 99ce5b27..0d3d9ec6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -84,6 +84,18 @@ steps: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY + - name: Create release on Gitea Repository + commands: + # Prepare tea CLI + - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org + # Create release and push artifacts + - tea releases --repo "$DRONE_REPO" create --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk".idsig + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY + GITEA_RELEASE_TOKEN: + from_secret: GITEA_RELEASE_TOKEN + - name: Deploy on F-Droid Repository commands: # Prepare SSH keys -- 2.42.0 From c1b2f95d9babc2a286240e4838da4374a7c560ac Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 15:02:47 +0300 Subject: [PATCH 066/127] create gitea releases --- .drone.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 0d3d9ec6..19c6c7e3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -84,15 +84,13 @@ steps: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY - - name: Create release on Gitea Repository + - name: Create Release on Gitea Repository commands: # Prepare tea CLI - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org # Create release and push artifacts - - tea releases --repo "$DRONE_REPO" create --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk".idsig + - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk".idsig environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY GITEA_RELEASE_TOKEN: from_secret: GITEA_RELEASE_TOKEN -- 2.42.0 From 6debead430cb13dde8954b06dc1cc658854c4715 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 16:01:37 +0300 Subject: [PATCH 067/127] create gitea releases --- .drone.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 19c6c7e3..14d08ee6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -63,8 +63,8 @@ steps: - scp app-release.apk builder@isolated:/var/lib/builder - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" # Fetch the signed artifact - - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk" - - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/"standalone_pro.kherel.selfprivacy_$APP_BUILD_ID.apk.idsig" + - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk" + - scp builder@isolated:/var/lib/builder/standalone_app-release.apk.idsig `pwd`/standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig" environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -77,7 +77,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" + - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` environment: @@ -86,10 +86,12 @@ steps: - name: Create Release on Gitea Repository commands: + # Get app build ID + - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` # Prepare tea CLI - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org # Create release and push artifacts - - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk" --asset standalone_"pro.kherel.selfprivacy_$APP_BUILD_ID.apk".idsig + - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig environment: GITEA_RELEASE_TOKEN: from_secret: GITEA_RELEASE_TOKEN -- 2.42.0 From ce5d779370565cb850969301440f6d80d8dadc4c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 16:28:51 +0300 Subject: [PATCH 068/127] create gitea releases --- .drone.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 14d08ee6..52d04bdf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,7 +6,7 @@ steps: - name: Build Debug Artifacts commands: - flutter build apk --debug --split-per-abi - - mv build/app/outputs/flutter-apk/*-debug.apk `pwd` + - mv build/app/outputs/flutter-apk/*-debug.apk . - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - ls *.apk @@ -34,7 +34,7 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Copy sources to the building environment - - scp -r `pwd` builder@isolated:/var/lib/builder + - scp -r `pwd` builder@isolated:~ environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -47,7 +47,7 @@ steps: # Build intermediate release artifact - ssh builder@isolated "cd src && flutter build apk --release" # Fetch the release artifact - - scp builder@isolated:/var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk `pwd` + - scp builder@isolated:src/build/app/outputs/flutter-apk/app-release.apk . environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -60,11 +60,11 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - - scp app-release.apk builder@isolated:/var/lib/builder + - scp app-release.apk builder@isolated:~ - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" # Fetch the signed artifact - - scp builder@isolated:/var/lib/builder/standalone_app-release.apk `pwd`/standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk" - - scp builder@isolated:/var/lib/builder/standalone_app-release.apk.idsig `pwd`/standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig" + - scp builder@isolated:standalone_app-release.apk standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk + - scp builder@isolated:standalone_app-release.apk.idsig standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY @@ -77,9 +77,9 @@ steps: - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - # Upload and sign the artifact - - scp app-release.apk fdroid@isolated:/var/lib/fdroid/unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk + - scp app-release.apk fdroid@isolated:unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' - - scp -r fdroid@isolated:/var/lib/fdroid/repo `pwd` + - scp -r fdroid@isolated:repo . environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From 7cdc8c9eb19895fac054300952f4c9e1645899ce Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 17:39:42 +0300 Subject: [PATCH 069/127] deploy fdroid repo to the production --- .drone.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 52d04bdf..eedcec9b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -96,14 +96,13 @@ steps: GITEA_RELEASE_TOKEN: from_secret: GITEA_RELEASE_TOKEN - - name: Deploy on F-Droid Repository + - name: Deploy F-Droid Repository commands: # Prepare SSH keys - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Copy the artifacts to the F-Droid repository - - ls - - ls repo/ + # Copy the repository to the production server + - scp -r repo/* deployer@production:/var/www/fdroid.selfprivacy.org environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY -- 2.42.0 From c5970afe5ba35ed958e8c4fda7685f44d403ba82 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 2 Sep 2022 20:28:14 +0300 Subject: [PATCH 070/127] use flakes shell --- flake.lock | 26 ++++++++++++++++++++++++++ flake.nix | 22 ++++++++++++++++++++++ shell.nix | 15 --------------- 3 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 flake.lock create mode 100644 flake.nix delete mode 100644 shell.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..ca75926d --- /dev/null +++ b/flake.lock @@ -0,0 +1,26 @@ +{ + "nodes": { + "nixpkgs-unstable": { + "locked": { + "lastModified": 1662019588, + "narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2da64a81275b68fdad38af669afeda43d401e94b", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "root": { + "inputs": { + "nixpkgs-unstable": "nixpkgs-unstable" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..ed8dad75 --- /dev/null +++ b/flake.nix @@ -0,0 +1,22 @@ +{ + inputs.nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; + + outputs = { self, nixpkgs-unstable }: + let + pkgs = import nixpkgs-unstable { config.allowUnfree = true; config.android_sdk.accept_license = true; }; + androidComposition = pkgs.androidenv.composeAndroidPackages { + toolsVersion = "26.1.1"; + platformToolsVersion = "33.0.2"; + buildToolsVersions = [ "30.0.3" ]; + platformVersions = [ "31" "30" "29" ]; + }; + in { + devShell.x86_64-linux = pkgs.mkShell { + JAVA_HOME = "${pkgs.openjdk11_headless.home}"; + ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; + ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; + + buildInputs = with pkgs; [ bash git androidComposition.androidsdk flutter openjdk11_headless ]; + }; + }; +} diff --git a/shell.nix b/shell.nix deleted file mode 100644 index da57151a..00000000 --- a/shell.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs ? import { config.android_sdk.accept_license = true; } }: - -let - androidComposition = pkgs.androidenv.composeAndroidPackages { - toolsVersion = "26.1.1"; - platformToolsVersion = "33.0.2"; - buildToolsVersions = [ "30.0.3" ]; - platformVersions = [ "31" "30" "29" ]; - }; -in -pkgs.mkShell { - ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; - ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; - nativeBuildInputs = with pkgs; [ flutter openjdk11_headless ]; -} -- 2.42.0 From 66efaddfab70e55be329ad57903d6f46cb75b396 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 7 Sep 2022 19:30:48 +0300 Subject: [PATCH 071/127] new flake which supports desktop --- flake.lock | 78 ++++++++++++++++++++++++++++--- flake.nix | 135 ++++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 189 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ca75926d..cfd8ecfe 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,89 @@ { "nodes": { - "nixpkgs-unstable": { + "flake-utils": { "locked": { - "lastModified": 1662019588, - "narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixgl": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1661367362, + "narHash": "sha256-Qc8MXcV+YCPREu8kk6oggk23ZBKLqeQRAIsLbHEviPE=", + "owner": "guibou", + "repo": "nixGL", + "rev": "7165ffbccbd2cf4379b6cd6d2edd1620a427e5ae", + "type": "github" + }, + "original": { + "owner": "guibou", + "repo": "nixGL", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1660551188, + "narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1662096612, + "narHash": "sha256-R+Q8l5JuyJryRPdiIaYpO5O3A55rT+/pItBrKcy7LM4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2da64a81275b68fdad38af669afeda43d401e94b", + "rev": "21de2b973f9fee595a7a1ac4693efff791245c34", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "type": "indirect" } }, "root": { "inputs": { - "nixpkgs-unstable": "nixpkgs-unstable" + "flake-utils": "flake-utils", + "nixgl": "nixgl", + "nixpkgs": "nixpkgs_2" } } }, diff --git a/flake.nix b/flake.nix index ed8dad75..8a04a423 100644 --- a/flake.nix +++ b/flake.nix @@ -1,22 +1,121 @@ { - inputs.nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; + nixConfig.bash-prompt = "\[selfprivacy\]$ "; - outputs = { self, nixpkgs-unstable }: - let - pkgs = import nixpkgs-unstable { config.allowUnfree = true; config.android_sdk.accept_license = true; }; - androidComposition = pkgs.androidenv.composeAndroidPackages { - toolsVersion = "26.1.1"; - platformToolsVersion = "33.0.2"; - buildToolsVersions = [ "30.0.3" ]; - platformVersions = [ "31" "30" "29" ]; - }; - in { - devShell.x86_64-linux = pkgs.mkShell { - JAVA_HOME = "${pkgs.openjdk11_headless.home}"; - ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; - ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; + inputs.nixpkgs.url = "nixpkgs/nixpkgs-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + inputs.nixgl.url = "github:guibou/nixGL"; - buildInputs = with pkgs; [ bash git androidComposition.androidsdk flutter openjdk11_headless ]; - }; - }; + outputs = { self, nixpkgs, flake-utils, nixgl }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { + config.allowUnfree = true; + config.android_sdk.accept_license = true; + system = "x86_64-linux"; + overlays = [ nixgl.overlay ]; + }; + + androidComposition = pkgs.androidenv.composeAndroidPackages { + toolsVersion = "26.1.1"; + platformToolsVersion = "33.0.2"; + buildToolsVersions = [ "30.0.3" ]; + platformVersions = [ "31" "30" "29" ]; + }; + + buildDeps = with pkgs; [ + gtk3 + glib + pcre + util-linux + libselinux + libsepol + libthai + libdatrie + xorg.libXdmcp + xorg.libXtst + libxkbcommon + dbus + at-spi2-core + libsecret + jsoncpp + xorg.libX11 + libepoxy + libgcrypt + libgpg-error + ]; + + nativeBuildDeps = with pkgs; [ + flutter.unwrapped + bash + curl + flutter.dart + git + unzip + which + xz + cmake + ninja + pkg-config + wrapGAppsHook + autoPatchelfHook + androidComposition.androidsdk + openjdk11_headless + ]; + + releaseDerivation = pkgs.flutter.mkFlutterApp rec { + pname = "selfprivacy"; + version = "0.6.0"; + + vendorHash = "sha256-7cbiAyIlaz3HqEsZN/nZxaLZjseJv5CmiIHqsoGa4ZI="; + + nativeBuildInputs = [ pkgs.nixgl.auto.nixGLDefault ]; + + src = ./.; + + desktopItem = pkgs.makeDesktopItem { + name = "${pname}"; + exec = "@out@/bin/${pname}"; + desktopName = "SelfPrivacy"; + }; + + postInstall = '' + rm $out/bin/$pname + + printf "#!/bin/sh\n${pkgs.nixgl.auto.nixGLDefault}/bin/nixGL $out/app/${pname}" > $out/bin/$pname + patchShebangs $out/bin/$pname + chmod +x $out/bin/$pname + wrapProgram $out/bin/$pname --set PATH ${pkgs.lib.makeBinPath [ pkgs.xdg-user-dirs ]} + + mkdir -p $out/share/applications + cp $desktopItem/share/applications/*.desktop $out/share/applications + substituteInPlace $out/share/applications/*.desktop --subst-var out + ''; + }; + in + { + packages = { + release = releaseDerivation; + }; + defaultPackage = releaseDerivation; + + devShell = pkgs.mkShell { + buildInputs = buildDeps; + nativeBuildInputs = nativeBuildDeps; + + JAVA_HOME = "${pkgs.openjdk11_headless.home}"; + ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; + ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; + + NIX_LDFLAGS = "-rpath ${pkgs.lib.makeLibraryPath buildDeps}"; + NIX_CFLAGS_COMPILE = "-I${pkgs.xorg.libX11}/include"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildDeps; + + shellHook = '' + export TMP=$(mktemp -d) + export HOME="$TMP" + export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} + export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 + ''; + }; + }); } -- 2.42.0 From edb954a3091dcf13daafb88a80cb0ba0d5a95ce4 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Wed, 7 Sep 2022 21:05:46 +0300 Subject: [PATCH 072/127] add clang to flake --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 8a04a423..d1895b0a 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,7 @@ autoPatchelfHook androidComposition.androidsdk openjdk11_headless + clang ]; releaseDerivation = pkgs.flutter.mkFlutterApp rec { -- 2.42.0 From 2cc10ab7f3988ad49c88951e4d8f03090ce2a069 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 05:03:56 +0300 Subject: [PATCH 073/127] new containerization --- Dockerfile | 48 +++++++++++++++++++++++++++++++++++++++++++++++ appimage.yml | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ flatpak.yml | 40 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 Dockerfile create mode 100644 appimage.yml create mode 100644 flatpak.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..7efdf1ed --- /dev/null +++ b/Dockerfile @@ -0,0 +1,48 @@ +FROM ubuntu:22.04 + +ENV PACKAGES "build-essential openjdk-11-jdk-headless clang cmake curl git jq libblkid1 libblkid-dev libc6 libc6-dev libc-bin libcrypt1 libdbus-1-3 libexpat1 libffi7 libgcc-s1 libgcrypt20 libgcrypt20-dev libglib2.0-0 libglib2.0-dev libglu1-mesa libgpg-error0 libgtk-3-0 libgtk-3-dev liblz4-1 liblz4-dev liblzma5 liblzma-dev libmount1 libpcre3 libselinux1 libsepol2 libstdc++-10-dev libstdc++6 libuuid1 ninja-build pkg-config rsync unzip xz-utils zlib1g unzip libsecret-1-dev libsecret-tools libsecret-1-0 libjsoncpp-dev fuse flatpak-builder binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync" +ENV ANDROID_SDK_TOOLS_VERSION "commandlinetools-linux-8512546_latest" +ENV ANDROID_SDK_TOOLS_URL "https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip" +ENV FLUTTER_VERSION "flutter_linux_3.3.1-stable" +ENV FLUTTER_URL "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.3.1-stable.tar.xz" +ENV FREEDESKTOP_SDK_VERSION "22.08" + +# Update packages +RUN apt-get update && apt-get upgrade -y && apt-get install -y $PACKAGES + +# Add a non-privileged user +RUN useradd -d /var/lib/builder -m -r -s /bin/bash builder +USER builder +WORKDIR /var/lib/builder + +# Install Android SDK +ADD --chown=builder $ANDROID_SDK_TOOLS_URL . +RUN mkdir -p android-sdk/cmdline-tools && unzip $ANDROID_SDK_TOOLS_VERSION.zip \ + && rm $ANDROID_SDK_TOOLS_VERSION.zip && mv cmdline-tools android-sdk/cmdline-tools/latest + +# Install Flutter +ADD --chown=builder $FLUTTER_URL . +RUN tar -vxf $FLUTTER_VERSION.tar.xz && rm $FLUTTER_VERSION.tar.xz + +ENV ANDROID_HOME "/var/lib/builder/android-sdk" +ENV ANDROID_SDK_ROOT "/var/lib/builder/android-sdk" +ENV PATH "$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:/var/lib/builder/flutter/bin:/var/lib/builder/.local/bin" + +# Install needed Android SDK packages +RUN yes | sdkmanager 'build-tools;30.0.3' 'platforms;android-29' 'platforms;android-30' 'platforms;android-31' + +# Prepare dependencies for offline build +RUN git clone --depth=1 --single-branch https://git.selfprivacy.org/kherel/selfprivacy.org.app.git deps +WORKDIR /var/lib/builder/deps +RUN flutter build linux +RUN flutter build apk +WORKDIR /var/lib/builder +RUN rm -rf deps + +# Install AppImage Builder +RUN pip3 install --user appimage-builder + +# Install Flatpak dependencies +RUN flatpak --user remote-add flathub https://flathub.org/repo/flathub.flatpakrepo \ + && flatpak --user install -y org.freedesktop.Sdk/x86_64/$FREEDESKTOP_SDK_VERSION \ + org.freedesktop.Platform/x86_64/$FREEDESKTOP_SDK_VERSION diff --git a/appimage.yml b/appimage.yml new file mode 100644 index 00000000..fe74809d --- /dev/null +++ b/appimage.yml @@ -0,0 +1,53 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +script: + - rm -rf AppDir || true + - cp -r build/linux/x64/release/bundle AppDir + - mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps/ + - cp assets/icons/64.png AppDir/usr/share/icons/hicolor/64x64/apps/selfprivacy.png +AppDir: + path: AppDir + app_info: + id: pro.kherel.selfprivacy + name: SelfPrivacy + icon: selfprivacy.png + version: 0.6.0 + exec: selfprivacy + exec_args: $@ + apt: + arch: + - amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy universe + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse + - sourceline: deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted + - sourceline: deb http://security.ubuntu.com/ubuntu/ jammy-security universe + - sourceline: deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse + include: + - libjsoncpp-dev + - libsecret-1-0 + test: + fedora-30: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + debian-stable: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + archlinux-latest: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + centos-7: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + ubuntu-xenial: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun +AppImage: + arch: x86_64 + update-information: guess diff --git a/flatpak.yml b/flatpak.yml new file mode 100644 index 00000000..23a84f73 --- /dev/null +++ b/flatpak.yml @@ -0,0 +1,40 @@ +app-id: pro.kherel.selfprivacy +runtime: org.freedesktop.Platform +runtime-version: '22.08' +sdk: org.freedesktop.Sdk +command: selfprivacy +finish-args: + - "--share=ipc" + - "--socket=x11" + - "--socket=fallback-x11" + - "--socket=wayland" + - "--share=network" + - "--own-name=pro.kherel.selfprivacy" +modules: + - name: selfprivacy + buildsystem: simple + build-commands: + - cp -r * /app + - mkdir /app/bin + - ln -s /app/selfprivacy /app/bin/selfprivacy + sources: + - type: dir + path: build/linux/x64/release/bundle + - name: libsecret + buildsystem: meson + config-opts: + - "-Dvapi=false" + - "-Dgtk_doc=false" + sources: + - type: git + url: https://gitlab.gnome.org/GNOME/libsecret.git + tag: 0.20.5 + - name: libjsoncpp + buildsystem: meson + config-opts: + - "--buildtype=release" + - "--default-library=shared" + sources: + - type: git + url: https://github.com/open-source-parsers/jsoncpp.git + tag: 1.9.5 -- 2.42.0 From 13c60141e59ff097b0267a870f48da353e8b3675 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 05:06:29 +0300 Subject: [PATCH 074/127] add icons --- assets/icons/128.png | Bin 0 -> 2261 bytes assets/icons/16.png | Bin 0 -> 790 bytes assets/icons/256.png | Bin 0 -> 4197 bytes assets/icons/32.png | Bin 0 -> 966 bytes assets/icons/512.png | Bin 0 -> 8283 bytes assets/icons/64.png | Bin 0 -> 1422 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/icons/128.png create mode 100644 assets/icons/16.png create mode 100644 assets/icons/256.png create mode 100644 assets/icons/32.png create mode 100644 assets/icons/512.png create mode 100644 assets/icons/64.png diff --git a/assets/icons/128.png b/assets/icons/128.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e29ce9632164379bcde434582b4738ed876760 GIT binary patch literal 2261 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 literal 0 HcmV?d00001 diff --git a/assets/icons/512.png b/assets/icons/512.png new file mode 100644 index 0000000000000000000000000000000000000000..da35020193e11225ca2a481af8cfc3cd79489a8f GIT binary patch literal 8283 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 literal 0 HcmV?d00001 diff --git a/assets/icons/64.png b/assets/icons/64.png new file mode 100644 index 0000000000000000000000000000000000000000..b79e1fb394ead822b8a834e1159553d7dce8bc92 GIT binary patch literal 1422 zcmV;91#$X`P)EX>4Tx04R}tkv&MmKpe$iQ>9fZ4(%Y~kfAzR5EXIMDionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0HIN3n$;;BvB z;Ji;9V`W(-J|`YE>4LzBx-kgEbl zj(KcAgY5dj|KNAGR&iq7ONu0c?ia`T7zRSSK(p>R-^Y&AJOP5wz?I(iZ#01EPtxmc zEq(;_Zvz+CZB5w&E_Z-|Cqp)6R|?V;ibdf4jJ_!kL~nuKRj;?!K29HiEOnK>0S*p< zkrHLE`Mf*a+1tNoTK)Y1H$ifb?D!Xg00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru<_QQC4KX`1ZF&Fz1B*#SK~#9!?V3wy6Hyd~&z+g1 zc{Gp4XzL@UHV*@0(`uF4x)4E81i_u)LUd7lfDaHwL@bI{(T!RtwF_N}pdv0@D2lqM znx+bhSy>wTpJr%$>8m=M3EQ&D{T-a~T9hhJ)}3Fzf`G8^>wC zWU}@rREY;eBM@K=&1(RoLlls04Cw$s0iXa-04M+y015yFfC4}Ppa39s7}&UDN8P^* zf6`BRn!;GB4bTh*otj4#1Hcr7_`eIgPHdKZG{1Vxmv8gL45S_b)v4=k!jGtqCsqSQ zjLcm<9pQ9Vg^2_J0Fccww!>H3M+6a(2><|KEUb53zO(u((Pi-2yCsf$PaDHT_W^zP zJ=URsHAQkGq&j(Ht?>QV+*gKq+X-Tf%w3l{BXeCD=5;HaW9elFFK?LB%0M?doZV6< zh7hn`*JNmG`_KIPRTCMFT8RGmt)nqUHN~;XjB3HRh+$;Y+K6R#KQTJVvKA8~b@Cp2 z;_HKeODt_jrzutM*z9PJP>*(UDJ^~GvT(I}l8;4QPm3-6M z8Ud~y8EW#nCP&IW+y7vtbvR&3RW*Rq`#v_%)byHm;lQv1A)GH)8P4=NN2?Y9L*t2N zS6uhMID?);ZhLaPoR8-bRkZ*X7}>;3V;xIVl4+A<0P-9~&onlkQ1h|_kVvbSr7|;X zYCZ+))N-5!n1M&`(Eoy7f2f~KXH|At4nvP$*=#TU4e_b`p>QpG?pCX;?*o|bffm!n z+ukq5j)yOnhxeb~$YT-e;cqj`Eg?{S9ZW}am88L18DWc3RC$y zy-}0w0d#ny=4r&yB6|R9+_5R^{6ce{R;z_yk~Suisvm&Z)zdjPT}*+at+EAx0H{Pt zwF2gmDSwD400=iGlS~eXSlm_(o7HQOan=Da6h2xI;5h)a0{|S~8w&5)7FkTp5f~gC z%u!g_1ps5jYJkt@i--ts2Y>{T0002qzkT}|W3*dEm@Jk|Ww`(q(5OX^+!M#5YCMs2 z+DhKHrbfg>9s#8hQUE9b6aYld0>ukLLF=a(c9Gl@XA7nR0B|J$5;=Pxh0zwkP%m=^ cM!@LiU(ezvvAtn_RsaA107*qoM6N<$g4%p_b^rhX literal 0 HcmV?d00001 -- 2.42.0 From e2ea1c7eb9c5d5379562e7242409939a66b83874 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 14:25:08 +0300 Subject: [PATCH 075/127] test pipeline --- .drone.yml | 181 ++++++++++++++++++++++++----------------------------- 1 file changed, 82 insertions(+), 99 deletions(-) diff --git a/.drone.yml b/.drone.yml index eedcec9b..89863843 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,13 +2,13 @@ kind: pipeline type: exec name: Continuous Integration +environment: + test: echo hi + steps: - - name: Build Debug Artifacts + - name: Test commands: - - flutter build apk --debug --split-per-abi - - mv build/app/outputs/flutter-apk/*-debug.apk . - - rename app pro.kherel.selfprivacy *.apk && rename debug "$DRONE_COMMIT" *.apk - - ls *.apk + - "$test" trigger: event: @@ -18,98 +18,81 @@ trigger: node: server: builder ---- +#--- -kind: pipeline -type: exec -name: Release - -steps: - - name: Prepare for Build - commands: - # Reset building environment - - nixos-container stop isolated - - nixos-container start isolated - # Prepare SSH keys - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Copy sources to the building environment - - scp -r `pwd` builder@isolated:~ - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - - - name: Build Intermediate Release Artifact - commands: - # Prepare SSH keys - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Build intermediate release artifact - - ssh builder@isolated "cd src && flutter build apk --release" - # Fetch the release artifact - - scp builder@isolated:src/build/app/outputs/flutter-apk/app-release.apk . - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - - - name: Sign Release Artifact for Standalone Use - commands: - # Get app build ID - - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` - # Prepare SSH keys - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Upload and sign the artifact - - scp app-release.apk builder@isolated:~ - - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" - # Fetch the signed artifact - - scp builder@isolated:standalone_app-release.apk standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk - - scp builder@isolated:standalone_app-release.apk.idsig standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - - - name: Sign Release Artifact for F-Droid Repository - commands: - # Get app build ID - - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` - # Prepare SSH keys - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Upload and sign the artifact - - scp app-release.apk fdroid@isolated:unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk - - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' - - scp -r fdroid@isolated:repo . - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - - - name: Create Release on Gitea Repository - commands: - # Get app build ID - - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` - # Prepare tea CLI - - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org - # Create release and push artifacts - - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig - environment: - GITEA_RELEASE_TOKEN: - from_secret: GITEA_RELEASE_TOKEN - - - name: Deploy F-Droid Repository - commands: - # Prepare SSH keys - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - # Copy the repository to the production server - - scp -r repo/* deployer@production:/var/www/fdroid.selfprivacy.org - environment: - SSH_PRIVATE_KEY: - from_secret: SSH_PRIVATE_KEY - -trigger: - event: - - tag - -node: - server: builder +#kind: pipeline +#type: exec +#name: Release +# +#steps: +# - name: Build Intermediate Release Artifact +# commands: +# # Prepare SSH keys +# - eval `ssh-agent -s` +# - echo "$SSH_PRIVATE_KEY" | ssh-add - +# # Build intermediate release artifact +# - ssh builder@isolated "cd src && flutter build apk --release" +# # Fetch the release artifact +# - scp builder@isolated:src/build/app/outputs/flutter-apk/app-release.apk . +# +# - name: Sign Release Artifact for Standalone Use +# commands: +# # Get app build ID +# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` +# # Prepare SSH keys +# - eval `ssh-agent -s` +# - echo "$SSH_PRIVATE_KEY" | ssh-add - +# # Upload and sign the artifact +# - scp app-release.apk builder@isolated:~ +# - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" +# # Fetch the signed artifact +# - scp builder@isolated:standalone_app-release.apk standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk +# - scp builder@isolated:standalone_app-release.apk.idsig standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig +# environment: +# SSH_PRIVATE_KEY: +# from_secret: SSH_PRIVATE_KEY +# +# - name: Sign Release Artifact for F-Droid Repository +# commands: +# # Get app build ID +# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` +# # Prepare SSH keys +# - eval `ssh-agent -s` +# - echo "$SSH_PRIVATE_KEY" | ssh-add - +# # Upload and sign the artifact +# - scp app-release.apk fdroid@isolated:unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk +# - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' +# - scp -r fdroid@isolated:repo . +# environment: +# SSH_PRIVATE_KEY: +# from_secret: SSH_PRIVATE_KEY +# +# - name: Create Release on Gitea Repository +# commands: +# # Get app build ID +# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` +# # Prepare tea CLI +# - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org +# # Create release and push artifacts +# - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig +# environment: +# GITEA_RELEASE_TOKEN: +# from_secret: GITEA_RELEASE_TOKEN +# +# - name: Deploy F-Droid Repository +# commands: +# # Prepare SSH keys +# - eval `ssh-agent -s` +# - echo "$SSH_PRIVATE_KEY" | ssh-add - +# # Copy the repository to the production server +# - scp -r repo/* deployer@production:/var/www/fdroid.selfprivacy.org +# environment: +# SSH_PRIVATE_KEY: +# from_secret: SSH_PRIVATE_KEY +# +#trigger: +# event: +# - tag +# +#node: +# server: builder -- 2.42.0 From 225a4ccebe48acec3a111e2acd0762a8fbfe6ea5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 14:31:48 +0300 Subject: [PATCH 076/127] test pipeline --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 89863843..74b5282a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ environment: steps: - name: Test commands: - - "$test" + - `$test` trigger: event: -- 2.42.0 From bd4736d82705f56512e2604b68993b0fe648628e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 14:32:23 +0300 Subject: [PATCH 077/127] test pipeline --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 74b5282a..099b837e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,7 +8,7 @@ environment: steps: - name: Test commands: - - `$test` + - $($test) trigger: event: -- 2.42.0 From 5865cd473f925df1e31c8620cbb62170ca743d0c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 16:49:54 +0300 Subject: [PATCH 078/127] ci script --- ci.sh | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 ci.sh diff --git a/ci.sh b/ci.sh new file mode 100644 index 00000000..2721a86e --- /dev/null +++ b/ci.sh @@ -0,0 +1,79 @@ +#!/bin/bash +set -o errexit -o pipefail -o noclobber -o nounset + +CONTAINER_IMAGE="flutter-build-env" +OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") +eval set -- "$OPTS" + +usage () { + echo "Usage: $0 [--build-linux] [--build-apk] [--sign-apk-standalone] [--sign-apk-fdroid] [--package-linux-appimage] [--package-linux-flatpak] [--package-linux-archive]" 1>&2; exit 1; +} + +podman_offline () { + podman run --rm -v `pwd`:/var/lib/builder/src:U -v $HOME/fdroid:/var/lib/builder/repo:U -v $HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U -v $HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U --env FDROID_KEYSTORE_PASS=$FDROID_KEYSTORE_PASS --env STANDALONE_KEYSTORE_PASS=$STANDALONE_KEYSTORE_PASS --network=none --workdir $1 $CONTAINER_IMAGE $2 +} + +podman_online () { + podman run --rm -v `pwd`:/var/lib/builder/src:U --privileged --workdir $1 $CONTAINER_IMAGE $2 +} + +build_linux () { + podman_offline "/var/lib/builder/src" "flutter build linux" +} + +build_apk () { + podman_offline "/var/lib/builder/src" "flutter build apk" +} + +sign_apk_standalone () { + podman_offline "/var/lib/builder/repo" "cp /var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk ." + podman_offline "/var/lib/builder/repo" "zipalign -f -v 4 app-release.apk standalone_app-release.apk" + podman_offline "/var/lib/builder/repo" "apksigner sign --ks /var/lib/builder/repo/standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_app-release.apk" +} + +sign_apk_fdroid () { + podman_offline "/var/lib/builder/repo" "cp /var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk unsigned/" +} + +package_linux_appimage () { + podman_online "/var/lib/builder/src" "appimage-builder --recipe appimage.yml" +} + +package_linux_flatpak () { + podman_online "/var/lib/builder/src" "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml" + podman_online "/var/lib/builder/src" "flatpak build-bundle flatpak-repo selfprivacy.flatpak pro.kherel.selfprivacy" +} + +package_linux_archive () { + podman_online "/var/lib/builder/src" "tar -C build/linux/x64/release/bundle -vacf selfprivacy.tar.zstd ." +} + +while true; do + case "$1" in + --build-linux ) + build_linux + ;; + --build-apk ) + build_apk + ;; + --sign-apk-standalone ) + sign_apk_standalone + ;; + --sign-apk-fdroid ) + sign_apk_fdroid + ;; + --package-linux-appimage ) + package_linux_appimage + ;; + --package-linux-flatpak ) + package_linux_flatpak + ;; + --package-linux-archive ) + package_linux_archive + ;; + *) + usage + ;; + esac + shift +done -- 2.42.0 From 6ae427e82c6573cc8542c32e9137d213db2267d4 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 16:58:08 +0300 Subject: [PATCH 079/127] new podman-based pipeline --- .drone.yml | 133 ++++++++++++++++++----------------------------------- ci.sh | 0 2 files changed, 45 insertions(+), 88 deletions(-) mode change 100644 => 100755 ci.sh diff --git a/.drone.yml b/.drone.yml index 099b837e..a9bc5745 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,98 +1,55 @@ -kind: pipeline -type: exec -name: Continuous Integration - -environment: - test: echo hi - -steps: - - name: Test - commands: - - $($test) - -trigger: - event: - - push - - pull_request - -node: - server: builder - -#--- - #kind: pipeline #type: exec -#name: Release +#name: Continuous Integration # #steps: -# - name: Build Intermediate Release Artifact -# commands: -# # Prepare SSH keys -# - eval `ssh-agent -s` -# - echo "$SSH_PRIVATE_KEY" | ssh-add - -# # Build intermediate release artifact -# - ssh builder@isolated "cd src && flutter build apk --release" -# # Fetch the release artifact -# - scp builder@isolated:src/build/app/outputs/flutter-apk/app-release.apk . -# -# - name: Sign Release Artifact for Standalone Use -# commands: -# # Get app build ID -# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` -# # Prepare SSH keys -# - eval `ssh-agent -s` -# - echo "$SSH_PRIVATE_KEY" | ssh-add - -# # Upload and sign the artifact -# - scp app-release.apk builder@isolated:~ -# - ssh builder@isolated "zipalign -f -v 4 app-release.apk standalone_app-release.apk && apksigner sign --ks /run/secrets/standalone-keystore --ks-key-alias standalone --ks-pass file:/run/secrets/standalone-keystore-pass standalone_app-release.apk" -# # Fetch the signed artifact -# - scp builder@isolated:standalone_app-release.apk standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk -# - scp builder@isolated:standalone_app-release.apk.idsig standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig -# environment: -# SSH_PRIVATE_KEY: -# from_secret: SSH_PRIVATE_KEY -# -# - name: Sign Release Artifact for F-Droid Repository -# commands: -# # Get app build ID -# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` -# # Prepare SSH keys -# - eval `ssh-agent -s` -# - echo "$SSH_PRIVATE_KEY" | ssh-add - -# # Upload and sign the artifact -# - scp app-release.apk fdroid@isolated:unsigned/pro.kherel.selfprivacy_"$APP_BUILD_ID".apk -# - ssh fdroid@isolated 'export FDROID_KEY_STORE_PASS=`cat /run/secrets/fdroid-keystore-pass` && fdroid publish && fdroid update' -# - scp -r fdroid@isolated:repo . -# environment: -# SSH_PRIVATE_KEY: -# from_secret: SSH_PRIVATE_KEY -# -# - name: Create Release on Gitea Repository -# commands: -# # Get app build ID -# - export APP_BUILD_ID=`yq '.version' pubspec.yaml | cut -d "+" -f2` -# # Prepare tea CLI -# - tea login add --token "$GITEA_RELEASE_TOKEN" --url https://git.selfprivacy.org -# # Create release and push artifacts -# - tea releases create --repo "$DRONE_REPO" --tag "$DRONE_SEMVER" --title "$DRONE_SEMVER" --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk --asset standalone_pro.kherel.selfprivacy_"$APP_BUILD_ID".apk.idsig -# environment: -# GITEA_RELEASE_TOKEN: -# from_secret: GITEA_RELEASE_TOKEN -# -# - name: Deploy F-Droid Repository -# commands: -# # Prepare SSH keys -# - eval `ssh-agent -s` -# - echo "$SSH_PRIVATE_KEY" | ssh-add - -# # Copy the repository to the production server -# - scp -r repo/* deployer@production:/var/www/fdroid.selfprivacy.org -# environment: -# SSH_PRIVATE_KEY: -# from_secret: SSH_PRIVATE_KEY # #trigger: # event: -# - tag +# - push +# - pull_request # #node: # server: builder +# +#--- + +kind: pipeline +type: exec +name: Release + +steps: + - name: Build Intermediate Linux Release Artifact (Binary) + commands: + - ./ci.sh --build-linux + + - name: Build Intermediate Android Release Artifact (.APK) + commands: + - ./ci.sh --build-apk + + - name: Sign Android Release Artifact (.APK) for Standalone Use + commands: + - ./ci.sh --sign-apk-standalone + + - name: Sign Android Release Artifact (.APK) for F-Droid Repository + commands: + - ./ci.sh --sign-apk-fdroid + + - name: Package Linux AppImage Artifact + commands: + - ./ci.sh --package-linux-appimage + + - name: Package Linux Flatpak Artifact + commands: + - ./ci.sh --package-linux-flatpak + + - name: Package Linux Archive Artifact + commands: + - ./ci.sh --package-linux-archive + +trigger: + event: + - tag + +node: + server: builder diff --git a/ci.sh b/ci.sh old mode 100644 new mode 100755 -- 2.42.0 From ff0d9f1858e658f38e6b0e8e7f85e8b01b7155ef Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:00:40 +0300 Subject: [PATCH 080/127] new podman-based pipeline --- .drone.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.drone.yml b/.drone.yml index a9bc5745..f9da1f2a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -19,6 +19,10 @@ type: exec name: Release steps: + - name: Debug + commands: + - ls -la + - name: Build Intermediate Linux Release Artifact (Binary) commands: - ./ci.sh --build-linux -- 2.42.0 From 29ad240d16ee33d9aa68326d9efbc7707927cd33 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:01:51 +0300 Subject: [PATCH 081/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 2721a86e..0472fb4f 100755 --- a/ci.sh +++ b/ci.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -o errexit -o pipefail -o noclobber -o nounset CONTAINER_IMAGE="flutter-build-env" -- 2.42.0 From 3a0f2c332a04f5cd277fe849818f369c545fc8cc Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:07:51 +0300 Subject: [PATCH 082/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index 0472fb4f..44fbf28c 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v `pwd`:/var/lib/builder/src:U -v $HOME/fdroid:/var/lib/builder/repo:U -v $HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U -v $HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U --env FDROID_KEYSTORE_PASS=$FDROID_KEYSTORE_PASS --env STANDALONE_KEYSTORE_PASS=$STANDALONE_KEYSTORE_PASS --network=none --workdir $1 $CONTAINER_IMAGE $2 + podman run --rm -v `pwd`:/var/lib/builder/src:U -v "$HOME/fdroid:/var/lib/builder/repo:U" -v "$HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "$HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" } podman_online () { - podman run --rm -v `pwd`:/var/lib/builder/src:U --privileged --workdir $1 $CONTAINER_IMAGE $2 + podman run --rm -v `pwd`:/var/lib/builder/src:U --privileged --workdir "$1" "$CONTAINER_IMAGE" "$2" } build_linux () { -- 2.42.0 From 3f9dc9e08aceccaaebe95cbd03ca759732971d0c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:11:38 +0300 Subject: [PATCH 083/127] new podman-based pipeline --- .drone.yml | 20 ++++++++++++++++++++ ci.sh | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index f9da1f2a..1c01a110 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,18 +26,38 @@ steps: - name: Build Intermediate Linux Release Artifact (Binary) commands: - ./ci.sh --build-linux + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS - name: Build Intermediate Android Release Artifact (.APK) commands: - ./ci.sh --build-apk + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS - name: Sign Android Release Artifact (.APK) for Standalone Use commands: - ./ci.sh --sign-apk-standalone + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS - name: Sign Android Release Artifact (.APK) for F-Droid Repository commands: - ./ci.sh --sign-apk-fdroid + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS - name: Package Linux AppImage Artifact commands: diff --git a/ci.sh b/ci.sh index 44fbf28c..20e24372 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v `pwd`:/var/lib/builder/src:U -v "$HOME/fdroid:/var/lib/builder/repo:U" -v "$HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "$HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" + podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "$HOME/fdroid:/var/lib/builder/repo:U" -v "$HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "$HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" } podman_online () { - podman run --rm -v `pwd`:/var/lib/builder/src:U --privileged --workdir "$1" "$CONTAINER_IMAGE" "$2" + podman run --rm -v "`pwd`:/var/lib/builder/src:U" --privileged --workdir "$1" "$CONTAINER_IMAGE" "$2" } build_linux () { -- 2.42.0 From 240a74dd4c39ee5db99b854fd7e85c082eadbf5a Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:22:36 +0300 Subject: [PATCH 084/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 20e24372..2efc95d1 100755 --- a/ci.sh +++ b/ci.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -o errexit -o pipefail -o noclobber -o nounset -CONTAINER_IMAGE="flutter-build-env" +CONTAINER_IMAGE="localhost/flutter-build-env" OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") eval set -- "$OPTS" -- 2.42.0 From 3c1bf1f06134054db503d61afe4fd345b831a56d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:24:24 +0300 Subject: [PATCH 085/127] new podman-based pipeline --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index 1c01a110..8c5212bf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -21,6 +21,7 @@ name: Release steps: - name: Debug commands: + - podman images - ls -la - name: Build Intermediate Linux Release Artifact (Binary) -- 2.42.0 From 39086c3bd0e1efd771ea79212b6c694e86c187ff Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:28:09 +0300 Subject: [PATCH 086/127] new podman-based pipeline --- .drone.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.drone.yml b/.drone.yml index 8c5212bf..4c1b93db 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,9 +18,13 @@ kind: pipeline type: exec name: Release +environment: + HOME: /var/lib/drone-runner-exec + steps: - name: Debug commands: + - echo $HOME - podman images - ls -la -- 2.42.0 From 9b619cb0b8a4c82ba106e35222b565dd27bb00b7 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:37:04 +0300 Subject: [PATCH 087/127] new podman-based pipeline --- .drone.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4c1b93db..3c603268 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,10 +18,11 @@ kind: pipeline type: exec name: Release -environment: - HOME: /var/lib/drone-runner-exec - steps: + - name: Prepare + commands: + - ln -s /var/lib/drone-runner-exec/.local $HOME/.local + - name: Debug commands: - echo $HOME -- 2.42.0 From 86c60aa4c2c290bece9a299cbce1204fb8cc3902 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:39:24 +0300 Subject: [PATCH 088/127] new podman-based pipeline --- .drone.yml | 6 ------ ci.sh | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.drone.yml b/.drone.yml index 3c603268..e7dac621 100644 --- a/.drone.yml +++ b/.drone.yml @@ -23,12 +23,6 @@ steps: commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - - name: Debug - commands: - - echo $HOME - - podman images - - ls -la - - name: Build Intermediate Linux Release Artifact (Binary) commands: - ./ci.sh --build-linux diff --git a/ci.sh b/ci.sh index 2efc95d1..582e6191 100755 --- a/ci.sh +++ b/ci.sh @@ -10,7 +10,7 @@ usage () { } podman_offline () { - podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "$HOME/fdroid:/var/lib/builder/repo:U" -v "$HOME/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "$HOME/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" + podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" } podman_online () { -- 2.42.0 From 95c3a6418c01dfe3d79b17f9ad29459ccb00a3e0 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:46:18 +0300 Subject: [PATCH 089/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index 582e6191..ec2532f2 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir "$1" "$CONTAINER_IMAGE" "$2" + podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 } podman_online () { - podman run --rm -v "`pwd`:/var/lib/builder/src:U" --privileged --workdir "$1" "$CONTAINER_IMAGE" "$2" + podman run --rm -v "`pwd`:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 } build_linux () { -- 2.42.0 From 586e19469ff37d0ada8034299eaf1893817e5e9d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:51:37 +0300 Subject: [PATCH 090/127] new podman-based pipeline --- ci.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci.sh b/ci.sh index ec2532f2..3a84a3e2 100755 --- a/ci.sh +++ b/ci.sh @@ -18,10 +18,12 @@ podman_online () { } build_linux () { + podman_offline "/var/lib/builder/src" "flutter pub get --offline" podman_offline "/var/lib/builder/src" "flutter build linux" } build_apk () { + podman_offline "/var/lib/builder/src" "flutter pub get --offline" podman_offline "/var/lib/builder/src" "flutter build apk" } -- 2.42.0 From 033e2e4acaab325f267840339e37d16db405244e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 17:56:49 +0300 Subject: [PATCH 091/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 3a84a3e2..df4fbbc9 100755 --- a/ci.sh +++ b/ci.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -o errexit -o pipefail -o noclobber -o nounset +set -o errexit -o pipefail -o noclobber -o nounset -x CONTAINER_IMAGE="localhost/flutter-build-env" OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") -- 2.42.0 From deed3a04e9bd83ef484e4592074e4cda06dc71bf Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:02:49 +0300 Subject: [PATCH 092/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index df4fbbc9..3dc39c86 100755 --- a/ci.sh +++ b/ci.sh @@ -19,12 +19,12 @@ podman_online () { build_linux () { podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build linux" + podman_offline "/var/lib/builder/src" "flutter build linux -v" } build_apk () { podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build apk" + podman_offline "/var/lib/builder/src" "flutter build apk -v" } sign_apk_standalone () { -- 2.42.0 From 58eedf562ec995cfc24e8d52efe89f15ae84df5d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:07:52 +0300 Subject: [PATCH 093/127] new podman-based pipeline --- ci.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci.sh b/ci.sh index 3dc39c86..19fbe831 100755 --- a/ci.sh +++ b/ci.sh @@ -73,6 +73,9 @@ while true; do --package-linux-archive ) package_linux_archive ;; + -- ) + break + ;; *) usage ;; -- 2.42.0 From 2eab762cae0267a76b046f938d2d4a8c043f3670 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:12:57 +0300 Subject: [PATCH 094/127] new podman-based pipeline --- ci.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 19fbe831..5b038e07 100755 --- a/ci.sh +++ b/ci.sh @@ -54,31 +54,38 @@ while true; do case "$1" in --build-linux ) build_linux + shift ;; --build-apk ) build_apk + shift ;; --sign-apk-standalone ) sign_apk_standalone + shift ;; --sign-apk-fdroid ) sign_apk_fdroid + shift ;; --package-linux-appimage ) package_linux_appimage + shift ;; --package-linux-flatpak ) package_linux_flatpak + shift ;; --package-linux-archive ) package_linux_archive + shift ;; -- ) + shift break ;; *) usage ;; esac - shift done -- 2.42.0 From 68ac4d414baba6179e4e776ca996e456df16cfe2 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:22:29 +0300 Subject: [PATCH 095/127] new podman-based pipeline --- .drone.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index e7dac621..fe00f4ac 100644 --- a/.drone.yml +++ b/.drone.yml @@ -25,16 +25,22 @@ steps: - name: Build Intermediate Linux Release Artifact (Binary) commands: - - ./ci.sh --build-linux + - bash ci.sh --build-linux environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS + - name: Debug + commands: + - ls -la + - cat ci.sh + - bash ci.sh + - name: Build Intermediate Android Release Artifact (.APK) commands: - - ./ci.sh --build-apk + - bash ci.sh --build-apk environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS -- 2.42.0 From d4fa2edf23258096984f993f982b162eda384149 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:28:17 +0300 Subject: [PATCH 096/127] new podman-based pipeline --- .drone.yml | 92 +++++++++++++++++++++++++++++------------------------- ci.sh | 14 +++++++-- 2 files changed, 60 insertions(+), 46 deletions(-) diff --git a/.drone.yml b/.drone.yml index fe00f4ac..1e4dc246 100644 --- a/.drone.yml +++ b/.drone.yml @@ -23,59 +23,65 @@ steps: commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - - name: Build Intermediate Linux Release Artifact (Binary) + - name: Test 1 commands: - - bash ci.sh --build-linux - environment: - STANDALONE_KEYSTORE_PASS: - from_secret: STANDALONE_KEYSTORE_PASS - FDROID_KEYSTORE_PASS: - from_secret: FDROID_KEYSTORE_PASS + - ./ci.sh --test - - name: Debug + - name: Test 2 commands: - - ls -la - - cat ci.sh - - bash ci.sh + - ./ci.sh --test2 - - name: Build Intermediate Android Release Artifact (.APK) + - name: Test 3 commands: - - bash ci.sh --build-apk - environment: - STANDALONE_KEYSTORE_PASS: - from_secret: STANDALONE_KEYSTORE_PASS - FDROID_KEYSTORE_PASS: - from_secret: FDROID_KEYSTORE_PASS + - ./ci.sh --test3 - - name: Sign Android Release Artifact (.APK) for Standalone Use - commands: - - ./ci.sh --sign-apk-standalone - environment: - STANDALONE_KEYSTORE_PASS: - from_secret: STANDALONE_KEYSTORE_PASS - FDROID_KEYSTORE_PASS: - from_secret: FDROID_KEYSTORE_PASS +# - name: Build Intermediate Linux Release Artifact (Binary) +# commands: +# - bash ci.sh --build-linux +# environment: +# STANDALONE_KEYSTORE_PASS: +# from_secret: STANDALONE_KEYSTORE_PASS +# FDROID_KEYSTORE_PASS: +# from_secret: FDROID_KEYSTORE_PASS - - name: Sign Android Release Artifact (.APK) for F-Droid Repository - commands: - - ./ci.sh --sign-apk-fdroid - environment: - STANDALONE_KEYSTORE_PASS: - from_secret: STANDALONE_KEYSTORE_PASS - FDROID_KEYSTORE_PASS: - from_secret: FDROID_KEYSTORE_PASS +# - name: Build Intermediate Android Release Artifact (.APK) +# commands: +# - bash ci.sh --build-apk +# environment: +# STANDALONE_KEYSTORE_PASS: +# from_secret: STANDALONE_KEYSTORE_PASS +# FDROID_KEYSTORE_PASS: +# from_secret: FDROID_KEYSTORE_PASS - - name: Package Linux AppImage Artifact - commands: - - ./ci.sh --package-linux-appimage +# - name: Sign Android Release Artifact (.APK) for Standalone Use +# commands: +# - ./ci.sh --sign-apk-standalone +# environment: +# STANDALONE_KEYSTORE_PASS: +# from_secret: STANDALONE_KEYSTORE_PASS +# FDROID_KEYSTORE_PASS: +# from_secret: FDROID_KEYSTORE_PASS - - name: Package Linux Flatpak Artifact - commands: - - ./ci.sh --package-linux-flatpak +# - name: Sign Android Release Artifact (.APK) for F-Droid Repository +# commands: +# - ./ci.sh --sign-apk-fdroid +# environment: +# STANDALONE_KEYSTORE_PASS: +# from_secret: STANDALONE_KEYSTORE_PASS +# FDROID_KEYSTORE_PASS: +# from_secret: FDROID_KEYSTORE_PASS - - name: Package Linux Archive Artifact - commands: - - ./ci.sh --package-linux-archive +# - name: Package Linux AppImage Artifact +# commands: +# - ./ci.sh --package-linux-appimage + +# - name: Package Linux Flatpak Artifact +# commands: +# - ./ci.sh --package-linux-flatpak + +# - name: Package Linux Archive Artifact +# commands: +# - ./ci.sh --package-linux-archive trigger: event: diff --git a/ci.sh b/ci.sh index 5b038e07..c0ab269e 100755 --- a/ci.sh +++ b/ci.sh @@ -2,7 +2,7 @@ set -o errexit -o pipefail -o noclobber -o nounset -x CONTAINER_IMAGE="localhost/flutter-build-env" -OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") +OPTS=$(getopt -o "" --long "test,test2,test3,build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") eval set -- "$OPTS" usage () { @@ -52,8 +52,16 @@ package_linux_archive () { while true; do case "$1" in - --build-linux ) - build_linux + --test ) + echo 1 + shift + ;; + --test2 ) + echo 2 + shift + ;; + --test3 ) + echo 3 shift ;; --build-apk ) -- 2.42.0 From 1d8d6a43dcc8f8e67da8d61682556ecefa122729 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:33:44 +0300 Subject: [PATCH 097/127] Revert "new podman-based pipeline" This reverts commit d4fa2edf23258096984f993f982b162eda384149. --- .drone.yml | 92 +++++++++++++++++++++++++----------------------------- ci.sh | 14 ++------- 2 files changed, 46 insertions(+), 60 deletions(-) diff --git a/.drone.yml b/.drone.yml index 1e4dc246..fe00f4ac 100644 --- a/.drone.yml +++ b/.drone.yml @@ -23,65 +23,59 @@ steps: commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - - name: Test 1 + - name: Build Intermediate Linux Release Artifact (Binary) commands: - - ./ci.sh --test + - bash ci.sh --build-linux + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS - - name: Test 2 + - name: Debug commands: - - ./ci.sh --test2 + - ls -la + - cat ci.sh + - bash ci.sh - - name: Test 3 + - name: Build Intermediate Android Release Artifact (.APK) commands: - - ./ci.sh --test3 + - bash ci.sh --build-apk + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS -# - name: Build Intermediate Linux Release Artifact (Binary) -# commands: -# - bash ci.sh --build-linux -# environment: -# STANDALONE_KEYSTORE_PASS: -# from_secret: STANDALONE_KEYSTORE_PASS -# FDROID_KEYSTORE_PASS: -# from_secret: FDROID_KEYSTORE_PASS + - name: Sign Android Release Artifact (.APK) for Standalone Use + commands: + - ./ci.sh --sign-apk-standalone + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS -# - name: Build Intermediate Android Release Artifact (.APK) -# commands: -# - bash ci.sh --build-apk -# environment: -# STANDALONE_KEYSTORE_PASS: -# from_secret: STANDALONE_KEYSTORE_PASS -# FDROID_KEYSTORE_PASS: -# from_secret: FDROID_KEYSTORE_PASS + - name: Sign Android Release Artifact (.APK) for F-Droid Repository + commands: + - ./ci.sh --sign-apk-fdroid + environment: + STANDALONE_KEYSTORE_PASS: + from_secret: STANDALONE_KEYSTORE_PASS + FDROID_KEYSTORE_PASS: + from_secret: FDROID_KEYSTORE_PASS -# - name: Sign Android Release Artifact (.APK) for Standalone Use -# commands: -# - ./ci.sh --sign-apk-standalone -# environment: -# STANDALONE_KEYSTORE_PASS: -# from_secret: STANDALONE_KEYSTORE_PASS -# FDROID_KEYSTORE_PASS: -# from_secret: FDROID_KEYSTORE_PASS + - name: Package Linux AppImage Artifact + commands: + - ./ci.sh --package-linux-appimage -# - name: Sign Android Release Artifact (.APK) for F-Droid Repository -# commands: -# - ./ci.sh --sign-apk-fdroid -# environment: -# STANDALONE_KEYSTORE_PASS: -# from_secret: STANDALONE_KEYSTORE_PASS -# FDROID_KEYSTORE_PASS: -# from_secret: FDROID_KEYSTORE_PASS + - name: Package Linux Flatpak Artifact + commands: + - ./ci.sh --package-linux-flatpak -# - name: Package Linux AppImage Artifact -# commands: -# - ./ci.sh --package-linux-appimage - -# - name: Package Linux Flatpak Artifact -# commands: -# - ./ci.sh --package-linux-flatpak - -# - name: Package Linux Archive Artifact -# commands: -# - ./ci.sh --package-linux-archive + - name: Package Linux Archive Artifact + commands: + - ./ci.sh --package-linux-archive trigger: event: diff --git a/ci.sh b/ci.sh index c0ab269e..5b038e07 100755 --- a/ci.sh +++ b/ci.sh @@ -2,7 +2,7 @@ set -o errexit -o pipefail -o noclobber -o nounset -x CONTAINER_IMAGE="localhost/flutter-build-env" -OPTS=$(getopt -o "" --long "test,test2,test3,build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") +OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") eval set -- "$OPTS" usage () { @@ -52,16 +52,8 @@ package_linux_archive () { while true; do case "$1" in - --test ) - echo 1 - shift - ;; - --test2 ) - echo 2 - shift - ;; - --test3 ) - echo 3 + --build-linux ) + build_linux shift ;; --build-apk ) -- 2.42.0 From cbc31174f89b55927796142dcd6a2260a68488fc Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:34:38 +0300 Subject: [PATCH 098/127] new podman-based pipeline --- .drone.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index fe00f4ac..c97e3f3a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -25,22 +25,16 @@ steps: - name: Build Intermediate Linux Release Artifact (Binary) commands: - - bash ci.sh --build-linux + - podman unshare ./ci.sh --build-linux environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS - - name: Debug - commands: - - ls -la - - cat ci.sh - - bash ci.sh - - name: Build Intermediate Android Release Artifact (.APK) commands: - - bash ci.sh --build-apk + - podman unshare ./ci.sh --build-apk environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS -- 2.42.0 From ee79942198fc773a9fee50d2180c1d7ab72b3e82 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 18:40:11 +0300 Subject: [PATCH 099/127] new podman-based pipeline --- .drone.yml | 5 +++-- ci.sh | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index c97e3f3a..93a371a3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,10 +22,11 @@ steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local + - podman unshare chown -R 999:999 . - name: Build Intermediate Linux Release Artifact (Binary) commands: - - podman unshare ./ci.sh --build-linux + - ./ci.sh --build-linux environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS @@ -34,7 +35,7 @@ steps: - name: Build Intermediate Android Release Artifact (.APK) commands: - - podman unshare ./ci.sh --build-apk + - ./ci.sh --build-apk environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS diff --git a/ci.sh b/ci.sh index 5b038e07..fad78072 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v "`pwd`:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "`pwd`:/var/lib/builder/src" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 } podman_online () { - podman run --rm -v "`pwd`:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "`pwd`:/var/lib/builder/src" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 } build_linux () { -- 2.42.0 From 644fac6743f58057da3b3c35910f50affa29f8d3 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 19:04:22 +0300 Subject: [PATCH 100/127] new podman-based pipeline --- .drone.yml | 3 ++- ci.sh | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 93a371a3..f694c546 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,7 +22,8 @@ steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - - podman unshare chown -R 999:999 . + - podman volume exists src || podman volume create src + - git archive --format=tar HEAD | podman volume import src - - name: Build Intermediate Linux Release Artifact (Binary) commands: diff --git a/ci.sh b/ci.sh index fad78072..93bbb71a 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v "`pwd`:/var/lib/builder/src" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 } podman_online () { - podman run --rm -v "`pwd`:/var/lib/builder/src" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 } build_linux () { -- 2.42.0 From 13ad5a9980628056dea30ae356a098e21ecffbdd Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 19:05:28 +0300 Subject: [PATCH 101/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index 93bbb71a..a44c64c1 100755 --- a/ci.sh +++ b/ci.sh @@ -10,11 +10,11 @@ usage () { } podman_offline () { - podman run --rm -v "src:/var/lib/builder/src" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 } podman_online () { - podman run --rm -v "src:/var/lib/builder/src" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 } build_linux () { -- 2.42.0 From 1b1bf6b261f18ceca060426331197585b856690d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 20:40:05 +0300 Subject: [PATCH 102/127] new podman-based pipeline --- .drone.yml | 1 + ci.sh | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.drone.yml b/.drone.yml index f694c546..872bca02 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,6 +22,7 @@ steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local + - podman volume exists src || podman volume rm -f src - podman volume exists src || podman volume create src - git archive --format=tar HEAD | podman volume import src - diff --git a/ci.sh b/ci.sh index a44c64c1..3ca01bda 100755 --- a/ci.sh +++ b/ci.sh @@ -2,6 +2,11 @@ set -o errexit -o pipefail -o noclobber -o nounset -x CONTAINER_IMAGE="localhost/flutter-build-env" +APP_NAME="pro.kherel.selfprivacy" +APP_VERSION_FULL="$(yq '.version' pubspec.yaml)" +APP_SEMVER="$(printf $APP_VERSION_FULL | cut -d '+' -f1)" +APP_BUILD_ID="$(printf $APP_VERSION_FULL | cut -d '+' -f2)" + OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") eval set -- "$OPTS" @@ -10,7 +15,7 @@ usage () { } podman_offline () { - podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/repo:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/repo/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/repo/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 } podman_online () { @@ -19,22 +24,23 @@ podman_online () { build_linux () { podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build linux -v" + podman_offline "/var/lib/builder/src" "flutter build linux" } build_apk () { podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build apk -v" + podman_offline "/var/lib/builder/src" "flutter build apk" } sign_apk_standalone () { - podman_offline "/var/lib/builder/repo" "cp /var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk ." - podman_offline "/var/lib/builder/repo" "zipalign -f -v 4 app-release.apk standalone_app-release.apk" - podman_offline "/var/lib/builder/repo" "apksigner sign --ks /var/lib/builder/repo/standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_app-release.apk" + podman_offline "/var/lib/builder/fdroid" "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_$APP_NAME-$APP_SEMVER.apk" + podman_offline "/var/lib/builder/fdroid" "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_$APP_NAME-$APP_SEMVER.apk" } sign_apk_fdroid () { - podman_offline "/var/lib/builder/repo" "cp /var/lib/builder/src/build/app/outputs/flutter-apk/app-release.apk unsigned/" + podman_offline "/var/lib/builder/fdroid" "if [[ ! -f repo/$APP_NAME_$APP_BUILD_ID.apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi" + podman_offline "/var/lib/builder/fdroid" "fdroid publish" + podman_offline "/var/lib/builder/fdroid" "fdroid update" } package_linux_appimage () { @@ -43,11 +49,11 @@ package_linux_appimage () { package_linux_flatpak () { podman_online "/var/lib/builder/src" "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml" - podman_online "/var/lib/builder/src" "flatpak build-bundle flatpak-repo selfprivacy.flatpak pro.kherel.selfprivacy" + podman_online "/var/lib/builder/src" "flatpak build-bundle flatpak-repo $APP_NAME-$APP_SEMVER.flatpak pro.kherel.selfprivacy" } package_linux_archive () { - podman_online "/var/lib/builder/src" "tar -C build/linux/x64/release/bundle -vacf selfprivacy.tar.zstd ." + podman_online "/var/lib/builder/src" "tar -C build/linux/x64/release/bundle -vacf $APP_NAME-$APP_SEMVER.tar.zstd ." } while true; do -- 2.42.0 From 2b8cefcbeeb284772a027761f93fd994be57655c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 20:41:39 +0300 Subject: [PATCH 103/127] new podman-based pipeline --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 872bca02..33d7906f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -23,7 +23,7 @@ steps: commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - podman volume exists src || podman volume rm -f src - - podman volume exists src || podman volume create src + - podman volume create src - git archive --format=tar HEAD | podman volume import src - - name: Build Intermediate Linux Release Artifact (Binary) -- 2.42.0 From 11b0261516940279517a8e2260a0d34f0f22b682 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 20:50:35 +0300 Subject: [PATCH 104/127] new podman-based pipeline --- .drone.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 33d7906f..2e7368dd 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,8 +22,7 @@ steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - - podman volume exists src || podman volume rm -f src - - podman volume create src + - if podman volume exists src; then podman volume rm -f src; podman volume create src; else podman volume create src; fi - git archive --format=tar HEAD | podman volume import src - - name: Build Intermediate Linux Release Artifact (Binary) -- 2.42.0 From 1bde815855001198a40bcecd4252a4c55c3d7138 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 20:58:48 +0300 Subject: [PATCH 105/127] new podman-based pipeline --- ci.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci.sh b/ci.sh index 3ca01bda..e67874e8 100755 --- a/ci.sh +++ b/ci.sh @@ -33,12 +33,12 @@ build_apk () { } sign_apk_standalone () { - podman_offline "/var/lib/builder/fdroid" "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_$APP_NAME-$APP_SEMVER.apk" - podman_offline "/var/lib/builder/fdroid" "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_$APP_NAME-$APP_SEMVER.apk" + podman_offline "/var/lib/builder/fdroid" "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_"$APP_NAME"-"$APP_SEMVER".apk" + podman_offline "/var/lib/builder/fdroid" "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_"$APP_NAME"-"$APP_SEMVER".apk" } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" "if [[ ! -f repo/$APP_NAME_$APP_BUILD_ID.apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi" + podman_offline "/var/lib/builder/fdroid" "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From a404eb89497a7bf5a68935b7b2e1954e91b0207b Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 21:05:20 +0300 Subject: [PATCH 106/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index e67874e8..4be4d691 100755 --- a/ci.sh +++ b/ci.sh @@ -38,7 +38,7 @@ sign_apk_standalone () { } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi" + podman_offline "/var/lib/builder/fdroid" "sh -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi"" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From cdc5b22e1123bdf409163d5b7d8852e4fa0290b6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 21:10:39 +0300 Subject: [PATCH 107/127] new podman-based pipeline --- ci.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 4be4d691..70ec8f45 100755 --- a/ci.sh +++ b/ci.sh @@ -38,7 +38,9 @@ sign_apk_standalone () { } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" "sh -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned; fi"" + if [[ ! -f /var/lib/drone-runner-exec/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then + podman_offline "/var/lib/builder/fdroid" "cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk" + fi podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From db672682928ba25fcc0c0df0d1d904bbc83debe9 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 21:42:22 +0300 Subject: [PATCH 108/127] new podman-based pipeline --- ci.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ci.sh b/ci.sh index 70ec8f45..5f324bfa 100755 --- a/ci.sh +++ b/ci.sh @@ -15,11 +15,11 @@ usage () { } podman_offline () { - podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" ${@:2} } podman_online () { - podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" $2 + podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" ${@:2} } build_linux () { @@ -38,9 +38,8 @@ sign_apk_standalone () { } sign_apk_fdroid () { - if [[ ! -f /var/lib/drone-runner-exec/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then - podman_offline "/var/lib/builder/fdroid" "cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk" - fi + podman_offline "/var/lib/builder/fdroid" "rm -rf unsigned/*" + podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; else echo hello; fi" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From 748bdb01cb73b752609381d7c9a33cd2ebcc675e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 21:54:56 +0300 Subject: [PATCH 109/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 5f324bfa..141af685 100755 --- a/ci.sh +++ b/ci.sh @@ -39,7 +39,7 @@ sign_apk_standalone () { sign_apk_fdroid () { podman_offline "/var/lib/builder/fdroid" "rm -rf unsigned/*" - podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; else echo hello; fi" + podman_offline "/var/lib/builder/fdroid" "bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then echo hello; else echo bye; fi"" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From 6571cb2c3333f275d6deeb255561c12810c839c1 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 21:56:23 +0300 Subject: [PATCH 110/127] Revert "new podman-based pipeline" This reverts commit 748bdb01cb73b752609381d7c9a33cd2ebcc675e. --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 141af685..5f324bfa 100755 --- a/ci.sh +++ b/ci.sh @@ -39,7 +39,7 @@ sign_apk_standalone () { sign_apk_fdroid () { podman_offline "/var/lib/builder/fdroid" "rm -rf unsigned/*" - podman_offline "/var/lib/builder/fdroid" "bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then echo hello; else echo bye; fi"" + podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; else echo hello; fi" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From 593a758c1ecdae14dec72b668e66c1a2eb68cc17 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 22:02:11 +0300 Subject: [PATCH 111/127] new podman-based pipeline --- ci.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci.sh b/ci.sh index 5f324bfa..b38d33f8 100755 --- a/ci.sh +++ b/ci.sh @@ -15,11 +15,11 @@ usage () { } podman_offline () { - podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" ${@:2} + podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" "${@:2}" } podman_online () { - podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" ${@:2} + podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" "${@:2}" } build_linux () { @@ -39,7 +39,7 @@ sign_apk_standalone () { sign_apk_fdroid () { podman_offline "/var/lib/builder/fdroid" "rm -rf unsigned/*" - podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; else echo hello; fi" + podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; fi" podman_offline "/var/lib/builder/fdroid" "fdroid publish" podman_offline "/var/lib/builder/fdroid" "fdroid update" } -- 2.42.0 From a1bf7b16629475d745b0e58baeb8dc8ca64905d5 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 22:08:01 +0300 Subject: [PATCH 112/127] new podman-based pipeline --- ci.sh | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ci.sh b/ci.sh index b38d33f8..2c382be6 100755 --- a/ci.sh +++ b/ci.sh @@ -15,46 +15,46 @@ usage () { } podman_offline () { - podman run --rm -v "src:/var/lib/builder/src:U" -v "/var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U" -v "/var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U" -v "/var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U" --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" "${@:2}" + podman run --rm -v src:/var/lib/builder/src:U -v /var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U -v /var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U -v /var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" ${@:2} } podman_online () { - podman run --rm -v "src:/var/lib/builder/src:U" --privileged --workdir $1 "$CONTAINER_IMAGE" "${@:2}" + podman run --rm -v src:/var/lib/builder/src:U --privileged --workdir $1 "$CONTAINER_IMAGE" ${@:2} } build_linux () { - podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build linux" + podman_offline "/var/lib/builder/src" flutter pub get --offline + podman_offline "/var/lib/builder/src" flutter build linux } build_apk () { - podman_offline "/var/lib/builder/src" "flutter pub get --offline" - podman_offline "/var/lib/builder/src" "flutter build apk" + podman_offline "/var/lib/builder/src" flutter pub get --offline + podman_offline "/var/lib/builder/src" flutter build apk } sign_apk_standalone () { - podman_offline "/var/lib/builder/fdroid" "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_"$APP_NAME"-"$APP_SEMVER".apk" - podman_offline "/var/lib/builder/fdroid" "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_"$APP_NAME"-"$APP_SEMVER".apk" + podman_offline "/var/lib/builder/fdroid" zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_"$APP_NAME"-"$APP_SEMVER".apk + podman_offline "/var/lib/builder/fdroid" apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_"$APP_NAME"-"$APP_SEMVER".apk } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" "rm -rf unsigned/*" + podman_offline "/var/lib/builder/fdroid" rm -rf unsigned/* podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; fi" - podman_offline "/var/lib/builder/fdroid" "fdroid publish" - podman_offline "/var/lib/builder/fdroid" "fdroid update" + podman_offline "/var/lib/builder/fdroid" fdroid publish + podman_offline "/var/lib/builder/fdroid" fdroid update } package_linux_appimage () { - podman_online "/var/lib/builder/src" "appimage-builder --recipe appimage.yml" + podman_online "/var/lib/builder/src" appimage-builder --recipe appimage.yml } package_linux_flatpak () { - podman_online "/var/lib/builder/src" "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml" - podman_online "/var/lib/builder/src" "flatpak build-bundle flatpak-repo $APP_NAME-$APP_SEMVER.flatpak pro.kherel.selfprivacy" + podman_online "/var/lib/builder/src" flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml + podman_online "/var/lib/builder/src" flatpak build-bundle flatpak-repo $APP_NAME-$APP_SEMVER.flatpak pro.kherel.selfprivacy } package_linux_archive () { - podman_online "/var/lib/builder/src" "tar -C build/linux/x64/release/bundle -vacf $APP_NAME-$APP_SEMVER.tar.zstd ." + podman_online "/var/lib/builder/src" tar -C build/linux/x64/release/bundle -vacf $APP_NAME-$APP_SEMVER.tar.zstd . } while true; do -- 2.42.0 From 966c6317275938fbff49a6c467ad66d15bf38a2c Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 22:20:02 +0300 Subject: [PATCH 113/127] new podman-based pipeline --- ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.sh b/ci.sh index 2c382be6..6c20c65a 100755 --- a/ci.sh +++ b/ci.sh @@ -39,7 +39,7 @@ sign_apk_standalone () { sign_apk_fdroid () { podman_offline "/var/lib/builder/fdroid" rm -rf unsigned/* - podman_offline "/var/lib/builder/fdroid" bash -c "if [[ ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk ]]; then cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk; fi" + podman_offline "/var/lib/builder/fdroid" test ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk podman_offline "/var/lib/builder/fdroid" fdroid publish podman_offline "/var/lib/builder/fdroid" fdroid update } -- 2.42.0 From 4c799c46af777c468b68a1802bc94542464968d4 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 22:29:36 +0300 Subject: [PATCH 114/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index 6c20c65a..cb1423ad 100755 --- a/ci.sh +++ b/ci.sh @@ -38,8 +38,8 @@ sign_apk_standalone () { } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" rm -rf unsigned/* - podman_offline "/var/lib/builder/fdroid" test ! -f repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk + podman_offline "/var/lib/builder/fdroid" "rm -rf /var/lib/builder/fdroid/unsigned/*" + podman_offline "/var/lib/builder/fdroid" "test ! -f /var/lib/builder/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk || echo exist" podman_offline "/var/lib/builder/fdroid" fdroid publish podman_offline "/var/lib/builder/fdroid" fdroid update } -- 2.42.0 From d2f5eaad8b7bcc0fca20bf8fd0f788ff7db473e6 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Fri, 9 Sep 2022 22:43:33 +0300 Subject: [PATCH 115/127] new podman-based pipeline --- ci.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci.sh b/ci.sh index cb1423ad..8ce2fb28 100755 --- a/ci.sh +++ b/ci.sh @@ -38,8 +38,8 @@ sign_apk_standalone () { } sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" "rm -rf /var/lib/builder/fdroid/unsigned/*" - podman_offline "/var/lib/builder/fdroid" "test ! -f /var/lib/builder/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk || echo exist" + podman_offline "/var/lib/builder/fdroid" rm -rf /var/lib/builder/fdroid/unsigned/* + podman_offline "/var/lib/builder/fdroid" test ! -f /var/lib/builder/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk || echo exist" podman_offline "/var/lib/builder/fdroid" fdroid publish podman_offline "/var/lib/builder/fdroid" fdroid update } -- 2.42.0 From 1d6179314410e1cbab12399c1ad61fe02904dc0e Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 03:15:26 +0300 Subject: [PATCH 116/127] python ci script --- .drone.yml | 14 ++++---- ci.py | 73 ++++++++++++++++++++++++++++++++++++++++ ci.sh | 98 ------------------------------------------------------ 3 files changed, 80 insertions(+), 105 deletions(-) create mode 100755 ci.py delete mode 100755 ci.sh diff --git a/.drone.yml b/.drone.yml index 2e7368dd..ad740a13 100644 --- a/.drone.yml +++ b/.drone.yml @@ -27,7 +27,7 @@ steps: - name: Build Intermediate Linux Release Artifact (Binary) commands: - - ./ci.sh --build-linux + - ./ci.py --build-linux environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS @@ -36,7 +36,7 @@ steps: - name: Build Intermediate Android Release Artifact (.APK) commands: - - ./ci.sh --build-apk + - ./ci.py --build-apk environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS @@ -45,7 +45,7 @@ steps: - name: Sign Android Release Artifact (.APK) for Standalone Use commands: - - ./ci.sh --sign-apk-standalone + - ./ci.py --sign-apk-standalone environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS @@ -54,7 +54,7 @@ steps: - name: Sign Android Release Artifact (.APK) for F-Droid Repository commands: - - ./ci.sh --sign-apk-fdroid + - ./ci.py --sign-apk-fdroid environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS @@ -63,15 +63,15 @@ steps: - name: Package Linux AppImage Artifact commands: - - ./ci.sh --package-linux-appimage + - ./ci.py --package-linux-appimage - name: Package Linux Flatpak Artifact commands: - - ./ci.sh --package-linux-flatpak + - ./ci.py --package-linux-flatpak - name: Package Linux Archive Artifact commands: - - ./ci.sh --package-linux-archive + - ./ci.py --package-linux-archive trigger: event: diff --git a/ci.py b/ci.py new file mode 100755 index 00000000..f102b986 --- /dev/null +++ b/ci.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import yaml +import argparse + +CONTAINER_IMAGE = "localhost/flutter-build-env" +HOST_HOME = "/var/lib/drone-runner-exec" +CONTAINER_HOME = "/var/lib/builder" + +APP_NAME = "pro.kherel.selfprivacy" +APP_VERSION_FULL = yaml.safe_load(open("pubspec.yaml", "r"))['version'] +APP_SEMVER = APP_VERSION_FULL[:APP_VERSION_FULL.find("+")] +APP_BUILD_ID = APP_VERSION_FULL[APP_VERSION_FULL.find("+"):][1::] + +def podman_offline(dir, *args): + subprocess.run(["podman", "run", "--rm", "--network=none", f"--workdir={dir}", + "-v", f"src:{CONTAINER_HOME}/src:U", + "-v", f"{HOST_HOME}/fdroid:{CONTAINER_HOME}/fdroid:U", + "-v", f"{HOST_HOME}/fdroid-keystore:{CONTAINER_HOME}/fdroid/fdroid-keystore:U", + "-v", f"{HOST_HOME}/standalone-keystore:{CONTAINER_HOME}/fdroid/standalone-keystore:U", + "--env", "FDROID_KEYSTORE_PASS=" + os.environ.get('FDROID_KEYSTORE_PASS'), + "--env", "STANDALONE_KEYSTORE_PASS=" + os.environ.get('STANDALONE_KEYSTORE_PASS'), + CONTAINER_IMAGE, "bash", "-c", ' '.join(args) + ]) + +def podman_online(dir, *args): + subprocess.run(["podman", "run", "--rm", "--privileged", f"--workdir={dir}", + "-v", f"src:{CONTAINER_HOME}/src:U", + CONTAINER_IMAGE, "bash", "-c", ' '.join(args) + ]) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + group = parser.add_mutually_exclusive_group() + group.add_argument("--build-linux", action="store_true") + group.add_argument("--build-apk", action="store_true") + group.add_argument("--sign-apk-standalone", action="store_true") + group.add_argument("--sign-apk-fdroid", action="store_true") + group.add_argument("--package-linux-appimage", action="store_true") + group.add_argument("--package-linux-flatpak", action="store_true") + group.add_argument("--package-linux-archive", action="store_true") + args = parser.parse_args() + +if args.build_linux: + podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") + podman_offline(f"{CONTAINER_HOME}/src", "flutter build linux") +elif args.build_apk: + podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") + podman_offline(f"{CONTAINER_HOME}/src", "flutter build apk") +elif args.sign_apk_standalone: + podman_offline(f"{CONTAINER_HOME}/fdroid", + "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk", + f"standalone_{APP_NAME}-{APP_SEMVER}.apk") + podman_offline(f"{CONTAINER_HOME}/fdroid", + "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass", + f"env:STANDALONE_KEYSTORE_PASS standalone_{APP_NAME}-{APP_SEMVER}.apk") +elif args.sign_apk_fdroid: + podman_offline(f"{CONTAINER_HOME}/fdroid", f"rm -rf {CONTAINER_HOME}/fdroid/unsigned/*") + podman_offline(f"{CONTAINER_HOME}/fdroid", + f"test ! -f {CONTAINER_HOME}/fdroid/repo/{APP_NAME}_{APP_BUILD_ID}.apk", + "&& cp ../src/build/app/outputs/flutter-apk/app-release.apk", + f"unsigned/{APP_NAME}_{APP_BUILD_ID}.apk || echo exist") + podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid publish") + podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid update") +elif args.package_linux_appimage: + podman_online(f"{CONTAINER_HOME}/src", "appimage-builder --recipe appimage.yml") +elif args.package_linux_flatpak: + podman_online(f"{CONTAINER_HOME}/src", "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml") + podman_online(f"{CONTAINER_HOME}/src", f"flatpak build-bundle flatpak-repo {APP_NAME}-{APP_SEMVER}.flatpak pro.kherel.selfprivacy") +elif args.package_linux_archive: + podman_online(f"{CONTAINER_HOME}/src", f"tar -C build/linux/x64/release/bundle -vacf {APP_NAME}-{APP_SEMVER}.tar.zstd .") diff --git a/ci.sh b/ci.sh deleted file mode 100755 index 8ce2fb28..00000000 --- a/ci.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env bash -set -o errexit -o pipefail -o noclobber -o nounset -x - -CONTAINER_IMAGE="localhost/flutter-build-env" -APP_NAME="pro.kherel.selfprivacy" -APP_VERSION_FULL="$(yq '.version' pubspec.yaml)" -APP_SEMVER="$(printf $APP_VERSION_FULL | cut -d '+' -f1)" -APP_BUILD_ID="$(printf $APP_VERSION_FULL | cut -d '+' -f2)" - -OPTS=$(getopt -o "" --long "build-linux,build-apk,sign-apk-standalone,sign-apk-fdroid,package-linux-appimage,package-linux-flatpak,package-linux-archive" -- "$@") -eval set -- "$OPTS" - -usage () { - echo "Usage: $0 [--build-linux] [--build-apk] [--sign-apk-standalone] [--sign-apk-fdroid] [--package-linux-appimage] [--package-linux-flatpak] [--package-linux-archive]" 1>&2; exit 1; -} - -podman_offline () { - podman run --rm -v src:/var/lib/builder/src:U -v /var/lib/drone-runner-exec/fdroid:/var/lib/builder/fdroid:U -v /var/lib/drone-runner-exec/fdroid-keystore:/var/lib/builder/fdroid/fdroid-keystore:U -v /var/lib/drone-runner-exec/standalone-keystore:/var/lib/builder/fdroid/standalone-keystore:U --env FDROID_KEYSTORE_PASS="$FDROID_KEYSTORE_PASS" --env STANDALONE_KEYSTORE_PASS="$STANDALONE_KEYSTORE_PASS" --network=none --workdir $1 "$CONTAINER_IMAGE" ${@:2} -} - -podman_online () { - podman run --rm -v src:/var/lib/builder/src:U --privileged --workdir $1 "$CONTAINER_IMAGE" ${@:2} -} - -build_linux () { - podman_offline "/var/lib/builder/src" flutter pub get --offline - podman_offline "/var/lib/builder/src" flutter build linux -} - -build_apk () { - podman_offline "/var/lib/builder/src" flutter pub get --offline - podman_offline "/var/lib/builder/src" flutter build apk -} - -sign_apk_standalone () { - podman_offline "/var/lib/builder/fdroid" zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk standalone_"$APP_NAME"-"$APP_SEMVER".apk - podman_offline "/var/lib/builder/fdroid" apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass env:STANDALONE_KEYSTORE_PASS standalone_"$APP_NAME"-"$APP_SEMVER".apk -} - -sign_apk_fdroid () { - podman_offline "/var/lib/builder/fdroid" rm -rf /var/lib/builder/fdroid/unsigned/* - podman_offline "/var/lib/builder/fdroid" test ! -f /var/lib/builder/fdroid/repo/"$APP_NAME"_"$APP_BUILD_ID".apk && cp ../src/build/app/outputs/flutter-apk/app-release.apk unsigned/"$APP_NAME"_"$APP_BUILD_ID".apk || echo exist" - podman_offline "/var/lib/builder/fdroid" fdroid publish - podman_offline "/var/lib/builder/fdroid" fdroid update -} - -package_linux_appimage () { - podman_online "/var/lib/builder/src" appimage-builder --recipe appimage.yml -} - -package_linux_flatpak () { - podman_online "/var/lib/builder/src" flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml - podman_online "/var/lib/builder/src" flatpak build-bundle flatpak-repo $APP_NAME-$APP_SEMVER.flatpak pro.kherel.selfprivacy -} - -package_linux_archive () { - podman_online "/var/lib/builder/src" tar -C build/linux/x64/release/bundle -vacf $APP_NAME-$APP_SEMVER.tar.zstd . -} - -while true; do - case "$1" in - --build-linux ) - build_linux - shift - ;; - --build-apk ) - build_apk - shift - ;; - --sign-apk-standalone ) - sign_apk_standalone - shift - ;; - --sign-apk-fdroid ) - sign_apk_fdroid - shift - ;; - --package-linux-appimage ) - package_linux_appimage - shift - ;; - --package-linux-flatpak ) - package_linux_flatpak - shift - ;; - --package-linux-archive ) - package_linux_archive - shift - ;; - -- ) - shift - break - ;; - *) - usage - ;; - esac -done -- 2.42.0 From 058fee028fb88dbd094b48f4c25f145d5c3c69d2 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 04:07:58 +0300 Subject: [PATCH 117/127] deploy everything --- .drone.yml | 37 +++++++++++++++++++++++++++++++++++++ ci.py | 24 ++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/.drone.yml b/.drone.yml index ad740a13..857afacf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -79,3 +79,40 @@ trigger: node: server: builder + +--- + +kind: pipeline +type: exec +name: Deploy + +steps: + - name: Prepare + commands: + - podman unshare podman volume mount src + + - name: Create Release and Deploy Artifacts + commands: + - podman unshare ./ci.py --deploy-gitea-release + environment: + GITEA_RELEASE_TOKEN: + from_secret: GITEA_RELEASE_TOKEN + + - name: Deploy F-Droid Repo + commands: + - eval `ssh-agent -s` + - echo "$SSH_PRIVATE_KEY" | ssh-add - + - podman unshare ./ci.py --deploy-fdroid-repo + environment: + SSH_PRIVATE_KEY: + from_secret: SSH_PRIVATE_KEY + +trigger: + event: + - tag + +node: + server: builder + +depends_on: + - Release diff --git a/ci.py b/ci.py index f102b986..71d2e75b 100755 --- a/ci.py +++ b/ci.py @@ -14,6 +14,8 @@ APP_VERSION_FULL = yaml.safe_load(open("pubspec.yaml", "r"))['version'] APP_SEMVER = APP_VERSION_FULL[:APP_VERSION_FULL.find("+")] APP_BUILD_ID = APP_VERSION_FULL[APP_VERSION_FULL.find("+"):][1::] +HOST_MOUNTED_VOLUME = t"{HOST_HOME}/.local/share/containers/storage/volumes/src/_data" + def podman_offline(dir, *args): subprocess.run(["podman", "run", "--rm", "--network=none", f"--workdir={dir}", "-v", f"src:{CONTAINER_HOME}/src:U", @@ -31,6 +33,22 @@ def podman_online(dir, *args): CONTAINER_IMAGE, "bash", "-c", ' '.join(args) ]) +def deploy_gitea_release(): + subprocess.run(["tea", "login", "add", "--token", os.environ.get('GITEA_RELEASE_TOKEN'), + "--url", "https://git.selfprivacy.org"]) + subprocess.run(["tea", "releases", "create", "--repo", os.environ.get('DRONE_REPO'), + "--tag", os.environ.get('DRONE_SEMVER'), "--title", os.environ.get('DRONE_SEMVER'), + "--asset", f"{HOST_HOME}/fdroid/standalone_{APP_NAME}-{APP_SEMVER}.apk", + "--asset", f"{HOST_HOME}/fdroid/standalone_{APP_NAME}-{APP_SEMVER}.apk.idsig", + "--asset", f"{HOST_MOUNTED_VOLUME}/SelfPrivacy-{APP_SEMVER}-x86_64.AppImage", + "--asset", f"{HOST_MOUNTED_VOLUME}/SelfPrivacy-{APP_SEMVER}-x86_64.AppImage.zsync", + "--asset", f"{HOST_MOUNTED_VOLUME}/{APP_NAME}-{APP_SEMVER}.flatpak", + "--asset", f"{HOST_MOUNTED_VOLUME}/{APP_NAME}-{APP_SEMVER}.tar.zstd"]) + +def deploy_fdroid_repo(): + subprocess.run(["scp", "-r", f"{HOST_HOME}/fdroid/repo/*", + "deployer@production:/var/www/fdroid.selfprivacy.org"]) + if __name__ == "__main__": parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() @@ -41,6 +59,8 @@ if __name__ == "__main__": group.add_argument("--package-linux-appimage", action="store_true") group.add_argument("--package-linux-flatpak", action="store_true") group.add_argument("--package-linux-archive", action="store_true") + group.add_argument("--deploy-gitea-release", action="store_true") + group.add_argument("--deploy-fdroid-repo", action="store_true") args = parser.parse_args() if args.build_linux: @@ -71,3 +91,7 @@ elif args.package_linux_flatpak: podman_online(f"{CONTAINER_HOME}/src", f"flatpak build-bundle flatpak-repo {APP_NAME}-{APP_SEMVER}.flatpak pro.kherel.selfprivacy") elif args.package_linux_archive: podman_online(f"{CONTAINER_HOME}/src", f"tar -C build/linux/x64/release/bundle -vacf {APP_NAME}-{APP_SEMVER}.tar.zstd .") +elif args.deploy_gitea_release: + deploy_gitea_release() +elif args.deploy_fdroid_repo: + deploy_fdroid_repo() -- 2.42.0 From cf7d1abb83f381a7436223338f6f7671a590e71d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 04:10:14 +0300 Subject: [PATCH 118/127] deploy everything --- ci.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.py b/ci.py index 71d2e75b..a3c64cd4 100755 --- a/ci.py +++ b/ci.py @@ -14,7 +14,7 @@ APP_VERSION_FULL = yaml.safe_load(open("pubspec.yaml", "r"))['version'] APP_SEMVER = APP_VERSION_FULL[:APP_VERSION_FULL.find("+")] APP_BUILD_ID = APP_VERSION_FULL[APP_VERSION_FULL.find("+"):][1::] -HOST_MOUNTED_VOLUME = t"{HOST_HOME}/.local/share/containers/storage/volumes/src/_data" +HOST_MOUNTED_VOLUME = f"{HOST_HOME}/.local/share/containers/storage/volumes/src/_data" def podman_offline(dir, *args): subprocess.run(["podman", "run", "--rm", "--network=none", f"--workdir={dir}", -- 2.42.0 From 9cf4ab9e07ed12c8a2bde7fec9e7398c520a6b45 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 04:22:20 +0300 Subject: [PATCH 119/127] deploy everything --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index 857afacf..7f2ce24c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -89,6 +89,7 @@ name: Deploy steps: - name: Prepare commands: + - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - podman unshare podman volume mount src - name: Create Release and Deploy Artifacts -- 2.42.0 From cc5e95be091ce64620168c043dc72fb8c9ecfdd3 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 05:40:50 +0300 Subject: [PATCH 120/127] deploy everything --- appimage.yml | 1 + ci.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/appimage.yml b/appimage.yml index fe74809d..366aa128 100644 --- a/appimage.yml +++ b/appimage.yml @@ -32,6 +32,7 @@ AppDir: include: - libjsoncpp-dev - libsecret-1-0 + - xdg-desktop-portal test: fedora-30: image: appimagecrafters/tests-env:fedora-30 diff --git a/ci.py b/ci.py index a3c64cd4..fcea90f6 100755 --- a/ci.py +++ b/ci.py @@ -47,7 +47,7 @@ def deploy_gitea_release(): def deploy_fdroid_repo(): subprocess.run(["scp", "-r", f"{HOST_HOME}/fdroid/repo/*", - "deployer@production:/var/www/fdroid.selfprivacy.org"]) + "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) if __name__ == "__main__": parser = argparse.ArgumentParser() -- 2.42.0 From 04f9d2627ce6cd504cf0cc9817a36d7d61dda072 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 06:25:05 +0300 Subject: [PATCH 121/127] deploy everything --- .drone.yml | 2 -- ci.py | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7f2ce24c..20bbeb51 100644 --- a/.drone.yml +++ b/.drone.yml @@ -101,8 +101,6 @@ steps: - name: Deploy F-Droid Repo commands: - - eval `ssh-agent -s` - - echo "$SSH_PRIVATE_KEY" | ssh-add - - podman unshare ./ci.py --deploy-fdroid-repo environment: SSH_PRIVATE_KEY: diff --git a/ci.py b/ci.py index fcea90f6..600035d2 100755 --- a/ci.py +++ b/ci.py @@ -46,7 +46,10 @@ def deploy_gitea_release(): "--asset", f"{HOST_MOUNTED_VOLUME}/{APP_NAME}-{APP_SEMVER}.tar.zstd"]) def deploy_fdroid_repo(): - subprocess.run(["scp", "-r", f"{HOST_HOME}/fdroid/repo/*", + subprocess.run(["eval $(ssh-agent -s)"], shell=True) + subprocess.run(["printf " + os.environ.get('SSH_PRIVATE_KEY') + " | ssh-add -"], shell=True) + subprocess.run(["scp", "-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null", + "-r", f"{HOST_HOME}/fdroid/repo/*", "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) if __name__ == "__main__": -- 2.42.0 From f7a08cf146ebcf4731c82c723760c6a2654df976 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 15:58:22 +0300 Subject: [PATCH 122/127] try to fix gitea deploy --- ci.py | 71 +++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/ci.py b/ci.py index 600035d2..9ed728cc 100755 --- a/ci.py +++ b/ci.py @@ -16,6 +16,8 @@ APP_BUILD_ID = APP_VERSION_FULL[APP_VERSION_FULL.find("+"):][1::] HOST_MOUNTED_VOLUME = f"{HOST_HOME}/.local/share/containers/storage/volumes/src/_data" +# Environments + def podman_offline(dir, *args): subprocess.run(["podman", "run", "--rm", "--network=none", f"--workdir={dir}", "-v", f"src:{CONTAINER_HOME}/src:U", @@ -33,6 +35,43 @@ def podman_online(dir, *args): CONTAINER_IMAGE, "bash", "-c", ' '.join(args) ]) +# Targets + +def build_linux(): + podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") + podman_offline(f"{CONTAINER_HOME}/src", "flutter build linux") + +def build_apk(): + podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") + podman_offline(f"{CONTAINER_HOME}/src", "flutter build apk") + +def sign_apk_standalone(): + podman_offline(f"{CONTAINER_HOME}/fdroid", + "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk", + f"standalone_{APP_NAME}-{APP_SEMVER}.apk") + podman_offline(f"{CONTAINER_HOME}/fdroid", + "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass", + f"env:STANDALONE_KEYSTORE_PASS standalone_{APP_NAME}-{APP_SEMVER}.apk") + +def sign_apk_fdroid(): + podman_offline(f"{CONTAINER_HOME}/fdroid", f"rm -rf {CONTAINER_HOME}/fdroid/unsigned/*") + podman_offline(f"{CONTAINER_HOME}/fdroid", + f"test ! -f {CONTAINER_HOME}/fdroid/repo/{APP_NAME}_{APP_BUILD_ID}.apk", + "&& cp ../src/build/app/outputs/flutter-apk/app-release.apk", + f"unsigned/{APP_NAME}_{APP_BUILD_ID}.apk || echo exist") + podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid publish") + podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid update") + +def package_linux_appimage(): + podman_online(f"{CONTAINER_HOME}/src", "appimage-builder --recipe appimage.yml") + +def package_linux_flatpak(): + podman_online(f"{CONTAINER_HOME}/src", "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml") + podman_online(f"{CONTAINER_HOME}/src", f"flatpak build-bundle flatpak-repo {APP_NAME}-{APP_SEMVER}.flatpak pro.kherel.selfprivacy") + +def package_linux_archive(): + podman_online(f"{CONTAINER_HOME}/src", f"tar -C build/linux/x64/release/bundle -vacf {APP_NAME}-{APP_SEMVER}.tar.zstd .") + def deploy_gitea_release(): subprocess.run(["tea", "login", "add", "--token", os.environ.get('GITEA_RELEASE_TOKEN'), "--url", "https://git.selfprivacy.org"]) @@ -47,11 +86,13 @@ def deploy_gitea_release(): def deploy_fdroid_repo(): subprocess.run(["eval $(ssh-agent -s)"], shell=True) - subprocess.run(["printf " + os.environ.get('SSH_PRIVATE_KEY') + " | ssh-add -"], shell=True) + subprocess.run(["echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add -"], shell=True) subprocess.run(["scp", "-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null", "-r", f"{HOST_HOME}/fdroid/repo/*", "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) +# Arguments + if __name__ == "__main__": parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() @@ -67,33 +108,19 @@ if __name__ == "__main__": args = parser.parse_args() if args.build_linux: - podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") - podman_offline(f"{CONTAINER_HOME}/src", "flutter build linux") + build_linux() elif args.build_apk: - podman_offline(f"{CONTAINER_HOME}/src", "flutter pub get --offline") - podman_offline(f"{CONTAINER_HOME}/src", "flutter build apk") + build_apk() elif args.sign_apk_standalone: - podman_offline(f"{CONTAINER_HOME}/fdroid", - "zipalign -f -v 4 ../src/build/app/outputs/flutter-apk/app-release.apk", - f"standalone_{APP_NAME}-{APP_SEMVER}.apk") - podman_offline(f"{CONTAINER_HOME}/fdroid", - "apksigner sign --ks standalone-keystore --ks-key-alias standalone --ks-pass", - f"env:STANDALONE_KEYSTORE_PASS standalone_{APP_NAME}-{APP_SEMVER}.apk") + sign_apk_standalone() elif args.sign_apk_fdroid: - podman_offline(f"{CONTAINER_HOME}/fdroid", f"rm -rf {CONTAINER_HOME}/fdroid/unsigned/*") - podman_offline(f"{CONTAINER_HOME}/fdroid", - f"test ! -f {CONTAINER_HOME}/fdroid/repo/{APP_NAME}_{APP_BUILD_ID}.apk", - "&& cp ../src/build/app/outputs/flutter-apk/app-release.apk", - f"unsigned/{APP_NAME}_{APP_BUILD_ID}.apk || echo exist") - podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid publish") - podman_offline(f"{CONTAINER_HOME}/fdroid", "fdroid update") + sign_apk_fdroid() elif args.package_linux_appimage: - podman_online(f"{CONTAINER_HOME}/src", "appimage-builder --recipe appimage.yml") + package_linux_appimage() elif args.package_linux_flatpak: - podman_online(f"{CONTAINER_HOME}/src", "flatpak-builder --disable-rofiles-fuse --force-clean --repo=flatpak-repo flatpak-build flatpak.yml") - podman_online(f"{CONTAINER_HOME}/src", f"flatpak build-bundle flatpak-repo {APP_NAME}-{APP_SEMVER}.flatpak pro.kherel.selfprivacy") + package_linux_flatpak() elif args.package_linux_archive: - podman_online(f"{CONTAINER_HOME}/src", f"tar -C build/linux/x64/release/bundle -vacf {APP_NAME}-{APP_SEMVER}.tar.zstd .") + package_linux_archive() elif args.deploy_gitea_release: deploy_gitea_release() elif args.deploy_fdroid_repo: -- 2.42.0 From d369e05082626d537f92b8a7d7b459bfa9223861 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 16:14:53 +0300 Subject: [PATCH 123/127] try to fix gitea deploy --- ci.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ci.py b/ci.py index 9ed728cc..2f3aaea9 100755 --- a/ci.py +++ b/ci.py @@ -85,11 +85,12 @@ def deploy_gitea_release(): "--asset", f"{HOST_MOUNTED_VOLUME}/{APP_NAME}-{APP_SEMVER}.tar.zstd"]) def deploy_fdroid_repo(): - subprocess.run(["eval $(ssh-agent -s)"], shell=True) - subprocess.run(["echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add -"], shell=True) - subprocess.run(["scp", "-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null", - "-r", f"{HOST_HOME}/fdroid/repo/*", - "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) +# subprocess.run(["eval $(ssh-agent -s)"], shell=True) +# subprocess.run(["echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add -"], shell=True) +# subprocess.run(["scp", "-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null", +# "-r", f"{HOST_HOME}/fdroid/repo/*", +# "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) + subprocess.run([f"eval $(ssh-agent -s) && echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add - && scp -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -r {HOST_HOME}/fdroid/repo/* deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"], shell=True) # Arguments -- 2.42.0 From 1073447e73a4e8ae9dad027f082aeb9fe28be3a1 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 16:52:54 +0300 Subject: [PATCH 124/127] add ci pipeline --- .drone.yml | 33 ++++++++++++++++++--------------- ci.py | 23 +++++++++++++++++------ 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/.drone.yml b/.drone.yml index 20bbeb51..ba24a23f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,18 +1,21 @@ -#kind: pipeline -#type: exec -#name: Continuous Integration -# -#steps: -# -#trigger: -# event: -# - push -# - pull_request -# -#node: -# server: builder -# -#--- +kind: pipeline +type: exec +name: Continuous Integration + +steps: + - name: Build + commands: + - ./ci.py --run-ci-build + +trigger: + event: + - push + - pull_request + +node: + server: builder + +--- kind: pipeline type: exec diff --git a/ci.py b/ci.py index 2f3aaea9..9f5627d6 100755 --- a/ci.py +++ b/ci.py @@ -35,6 +35,12 @@ def podman_online(dir, *args): CONTAINER_IMAGE, "bash", "-c", ' '.join(args) ]) +def podman_ci(dir, *args): + subprocess.run(["podman", "run", "-it", "--rm", "--privileged", f"--workdir={dir}", + "-v", os.getcwd() + f":{CONTAINER_HOME}/src:U", + CONTAINER_IMAGE, "bash", "-c", ' '.join(args) + ]) + # Targets def build_linux(): @@ -85,12 +91,14 @@ def deploy_gitea_release(): "--asset", f"{HOST_MOUNTED_VOLUME}/{APP_NAME}-{APP_SEMVER}.tar.zstd"]) def deploy_fdroid_repo(): -# subprocess.run(["eval $(ssh-agent -s)"], shell=True) -# subprocess.run(["echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add -"], shell=True) -# subprocess.run(["scp", "-oStrictHostKeyChecking=no", "-oUserKnownHostsFile=/dev/null", -# "-r", f"{HOST_HOME}/fdroid/repo/*", -# "deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"]) - subprocess.run([f"eval $(ssh-agent -s) && echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add - && scp -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -r {HOST_HOME}/fdroid/repo/* deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org"], shell=True) + subprocess.run([f"""eval $(ssh-agent -s) && + echo \"$SSH_PRIVATE_KEY\" | tr -d '\r' | ssh-add - && + scp -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -r {HOST_HOME}/fdroid/repo/* deployer@selfprivacy.org:/var/www/fdroid.selfprivacy.org + """], shell=True) + +def run_ci_build(): + podman_ci(f"{CONTAINER_HOME}/src", "flutter build linux --debug") + podman_ci(f"{CONTAINER_HOME}/src", "flutter build apk --debug") # Arguments @@ -106,6 +114,7 @@ if __name__ == "__main__": group.add_argument("--package-linux-archive", action="store_true") group.add_argument("--deploy-gitea-release", action="store_true") group.add_argument("--deploy-fdroid-repo", action="store_true") + group.add_argument("--run-ci-build", action="store_true") args = parser.parse_args() if args.build_linux: @@ -126,3 +135,5 @@ elif args.deploy_gitea_release: deploy_gitea_release() elif args.deploy_fdroid_repo: deploy_fdroid_repo() +elif args.run_ci_build: + run_ci_build() -- 2.42.0 From 7c0f3f9aeea4c6b91ccccf7883ede9a43dce4d6d Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 16:53:51 +0300 Subject: [PATCH 125/127] add ci pipeline --- ci.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci.py b/ci.py index 9f5627d6..bf1e42e7 100755 --- a/ci.py +++ b/ci.py @@ -36,7 +36,7 @@ def podman_online(dir, *args): ]) def podman_ci(dir, *args): - subprocess.run(["podman", "run", "-it", "--rm", "--privileged", f"--workdir={dir}", + subprocess.run(["podman", "run", "--rm", "--privileged", f"--workdir={dir}", "-v", os.getcwd() + f":{CONTAINER_HOME}/src:U", CONTAINER_IMAGE, "bash", "-c", ' '.join(args) ]) -- 2.42.0 From cbb7741823c702eaace0ffd24b902826606624c7 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 16:55:24 +0300 Subject: [PATCH 126/127] add ci pipeline --- .drone.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.drone.yml b/.drone.yml index ba24a23f..13ec2c42 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,6 +3,10 @@ type: exec name: Continuous Integration steps: + - name: Prepare + commands: + - ln -s /var/lib/drone-runner-exec/.local $HOME/.local + - name: Build commands: - ./ci.py --run-ci-build -- 2.42.0 From 0f22eab5da8f302727670ca689212418dc846302 Mon Sep 17 00:00:00 2001 From: Alya Sirko Date: Sat, 10 Sep 2022 17:36:34 +0300 Subject: [PATCH 127/127] polishing --- appimage.yml | 5 ++--- assets/icons/128.png | Bin 2261 -> 0 bytes assets/icons/16.png | Bin 790 -> 0 bytes assets/icons/256.png | Bin 4197 -> 0 bytes assets/icons/32.png | Bin 966 -> 0 bytes assets/icons/512.png | Bin 8283 -> 0 bytes assets/icons/64.png | Bin 1422 -> 0 bytes assets/images/icon/logo.svg | 9 +++++++++ ci.py | 12 ++++++------ flatpak.yml | 6 ++++++ 10 files changed, 23 insertions(+), 9 deletions(-) delete mode 100644 assets/icons/128.png delete mode 100644 assets/icons/16.png delete mode 100644 assets/icons/256.png delete mode 100644 assets/icons/32.png delete mode 100644 assets/icons/512.png delete mode 100644 assets/icons/64.png create mode 100644 assets/images/icon/logo.svg diff --git a/appimage.yml b/appimage.yml index 366aa128..8e7a3b5c 100644 --- a/appimage.yml +++ b/appimage.yml @@ -3,14 +3,13 @@ version: 1 script: - rm -rf AppDir || true - cp -r build/linux/x64/release/bundle AppDir - - mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps/ - - cp assets/icons/64.png AppDir/usr/share/icons/hicolor/64x64/apps/selfprivacy.png + - install -Dm644 assets/images/icon/logo.svg AppDir/usr/share/icons/hicolor/scalable/apps/pro.kherel.selfprivacy.svg AppDir: path: AppDir app_info: id: pro.kherel.selfprivacy name: SelfPrivacy - icon: selfprivacy.png + icon: pro.kherel.selfprivacy version: 0.6.0 exec: selfprivacy exec_args: $@ diff --git a/assets/icons/128.png b/assets/icons/128.png deleted file mode 100644 index f9e29ce9632164379bcde434582b4738ed876760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2261 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 diff --git a/assets/icons/512.png b/assets/icons/512.png deleted file mode 100644 index da35020193e11225ca2a481af8cfc3cd79489a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8283 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 diff --git a/assets/icons/64.png b/assets/icons/64.png deleted file mode 100644 index b79e1fb394ead822b8a834e1159553d7dce8bc92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1422 zcmV;91#$X`P)EX>4Tx04R}tkv&MmKpe$iQ>9fZ4(%Y~kfAzR5EXIMDionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c1aNLh~_a1le0HIN3n$;;BvB z;Ji;9V`W(-J|`YE>4LzBx-kgEbl zj(KcAgY5dj|KNAGR&iq7ONu0c?ia`T7zRSSK(p>R-^Y&AJOP5wz?I(iZ#01EPtxmc zEq(;_Zvz+CZB5w&E_Z-|Cqp)6R|?V;ibdf4jJ_!kL~nuKRj;?!K29HiEOnK>0S*p< zkrHLE`Mf*a+1tNoTK)Y1H$ifb?D!Xg00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru<_QQC4KX`1ZF&Fz1B*#SK~#9!?V3wy6Hyd~&z+g1 zc{Gp4XzL@UHV*@0(`uF4x)4E81i_u)LUd7lfDaHwL@bI{(T!RtwF_N}pdv0@D2lqM znx+bhSy>wTpJr%$>8m=M3EQ&D{T-a~T9hhJ)}3Fzf`G8^>wC zWU}@rREY;eBM@K=&1(RoLlls04Cw$s0iXa-04M+y015yFfC4}Ppa39s7}&UDN8P^* zf6`BRn!;GB4bTh*otj4#1Hcr7_`eIgPHdKZG{1Vxmv8gL45S_b)v4=k!jGtqCsqSQ zjLcm<9pQ9Vg^2_J0Fccww!>H3M+6a(2><|KEUb53zO(u((Pi-2yCsf$PaDHT_W^zP zJ=URsHAQkGq&j(Ht?>QV+*gKq+X-Tf%w3l{BXeCD=5;HaW9elFFK?LB%0M?doZV6< zh7hn`*JNmG`_KIPRTCMFT8RGmt)nqUHN~;XjB3HRh+$;Y+K6R#KQTJVvKA8~b@Cp2 z;_HKeODt_jrzutM*z9PJP>*(UDJ^~GvT(I}l8;4QPm3-6M z8Ud~y8EW#nCP&IW+y7vtbvR&3RW*Rq`#v_%)byHm;lQv1A)GH)8P4=NN2?Y9L*t2N zS6uhMID?);ZhLaPoR8-bRkZ*X7}>;3V;xIVl4+A<0P-9~&onlkQ1h|_kVvbSr7|;X zYCZ+))N-5!n1M&`(Eoy7f2f~KXH|At4nvP$*=#TU4e_b`p>QpG?pCX;?*o|bffm!n z+ukq5j)yOnhxeb~$YT-e;cqj`Eg?{S9ZW}am88L18DWc3RC$y zy-}0w0d#ny=4r&yB6|R9+_5R^{6ce{R;z_yk~Suisvm&Z)zdjPT}*+at+EAx0H{Pt zwF2gmDSwD400=iGlS~eXSlm_(o7HQOan=Da6h2xI;5h)a0{|S~8w&5)7FkTp5f~gC z%u!g_1ps5jYJkt@i--ts2Y>{T0002qzkT}|W3*dEm@Jk|Ww`(q(5OX^+!M#5YCMs2 z+DhKHrbfg>9s#8hQUE9b6aYld0>ukLLF=a(c9Gl@XA7nR0B|J$5;=Pxh0zwkP%m=^ cM!@LiU(ezvvAtn_RsaA107*qoM6N<$g4%p_b^rhX diff --git a/assets/images/icon/logo.svg b/assets/images/icon/logo.svg new file mode 100644 index 00000000..881a57fe --- /dev/null +++ b/assets/images/icon/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ci.py b/ci.py index bf1e42e7..d8412580 100755 --- a/ci.py +++ b/ci.py @@ -105,15 +105,15 @@ def run_ci_build(): if __name__ == "__main__": parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() - group.add_argument("--build-linux", action="store_true") - group.add_argument("--build-apk", action="store_true") - group.add_argument("--sign-apk-standalone", action="store_true") - group.add_argument("--sign-apk-fdroid", action="store_true") + group.add_argument("--build-linux", action="store_true", help="depends on podman src volume") + group.add_argument("--build-apk", action="store_true", help="depends on podman src volume") + group.add_argument("--sign-apk-standalone", action="store_true", help="depends on $STANDALONE_KEYSTORE_PASS") + group.add_argument("--sign-apk-fdroid", action="store_true", help="depends on $FDROID_KEYSTORE_PASS") group.add_argument("--package-linux-appimage", action="store_true") group.add_argument("--package-linux-flatpak", action="store_true") group.add_argument("--package-linux-archive", action="store_true") - group.add_argument("--deploy-gitea-release", action="store_true") - group.add_argument("--deploy-fdroid-repo", action="store_true") + group.add_argument("--deploy-gitea-release", action="store_true", help="depends on $GITEA_RELEASE_TOKEN") + group.add_argument("--deploy-fdroid-repo", action="store_true", help="depends on $SSH_PRIVATE_KEY") group.add_argument("--run-ci-build", action="store_true") args = parser.parse_args() diff --git a/flatpak.yml b/flatpak.yml index 23a84f73..6808b84e 100644 --- a/flatpak.yml +++ b/flatpak.yml @@ -17,9 +17,15 @@ modules: - cp -r * /app - mkdir /app/bin - ln -s /app/selfprivacy /app/bin/selfprivacy + - install -Dm644 logo.svg /app/share/icons/hicolor/scalable/apps/pro.kherel.selfprivacy.svg + - install -Dm644 pro.kherel.selfprivacy.desktop /app/share/applications/pro.kherel.selfprivacy.desktop sources: - type: dir path: build/linux/x64/release/bundle + - type: file + path: assets/images/icon/logo.svg + - type: file + path: pro.kherel.selfprivacy.desktop - name: libsecret buildsystem: meson config-opts: -- 2.42.0