Android-Password-Store/.github/workflows/deploy_snapshot.yml

81 lines
2.4 KiB
YAML
Raw Normal View History

on:
push:
branches:
- develop
name: Deploy snapshot builds
jobs:
deploy-release-snapshot:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Decrypt secrets
run: release/signing-setup.sh "$ENCRYPT_KEY"
env:
ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }}
- name: Generate cache key
run: ./.github/checksum.sh checksum.txt
- name: Cache gradle modules
uses: actions/cache@v2
with:
path: ~/.gradle/caches/modules-2
key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlemodules-
- name: Cache gradle jars
uses: actions/cache@v2
with:
path: ~/.gradle/caches/jars-3
key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlejars-
- name: Cache gradle build
uses: actions/cache@v2
with:
path: ~/.gradle/caches/build-cache-1
key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlebuildcache-
- name: Download gradle dependencies
run: ./gradlew dependencies
- name: Build release app
run: ./gradlew :app:assembleFreeRelease :app:assembleNonFreeRelease
env:
SNAPSHOT: "true"
- name: Clean secrets
run: release/signing-cleanup.sh
- name: Deploy snapshot
run: release/deploy-snapshot.sh
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }}
SERVER_DESTINATION: ${{ secrets.SERVER_DESTINATION }}
SSH_PORT: ${{ secrets.SSH_PORT }}
- name: Install NodeJS
uses: actions/setup-node@v2-beta
with:
node-version: '12'
- name: Install cfcli
run: npm install -g cloudflare-cli
- name: Purge Cloudflare cache
run: |
cfcli --token ${CF_TOKEN} purge "https://dl.msfjarvis.dev/APS/$(cd ./app/build/outputs/apk/nonFree/release/; ls *.apk)"
cfcli --token ${CF_TOKEN} purge "https://dl.msfjarvis.dev/APS/$(cd ./app/build/outputs/apk/free/release/; ls *.apk)"
env:
CF_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}