Dump Keystore File #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# .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 "[email protected]" -o android_keystore.keystore.enc ${{ steps.android_keystore.outputs.filePath }} | |
- name: Encrypt password File | |
run: | | |
gpg --yes --batch --trust-model always -e -r "[email protected]" -o password.txt.enc password.txt | |
- name: Cleanup Unencrypted Keystore && password file | |
run: | | |
rm ${{ steps.android_keystore.outputs.filePath }} && 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 |