Skip to content

feat: wavy progress bar #638

feat: wavy progress bar

feat: wavy progress bar #638

name: android weekly build
on:
schedule:
- cron: '0 0 * * 1'
push:
branches:
- 'dev'
workflow_dispatch:
jobs:
checkLastCommit:
runs-on: ubuntu-latest
name: Check latest commit
outputs:
should_run: ${{ steps.should_run.outputs.should_run }}
steps:
- uses: actions/checkout@v3
- name: print latest_commit
run: echo ${{ github.sha }}
- name: Get Last Commit Date
id: commit_date
run: |
LAST_COMMIT_DATE=$(git log -1 --format=%ct)
echo "LAST_COMMIT_DATE=${LAST_COMMIT_DATE}" >> $GITHUB_ENV
- name: Calculate Time Difference
id: time_diff
run: |
CURRENT_DATE=$(date +%s)
SECONDS_IN_WEEK=$((60*60*24*7))
TIME_DIFF=$((CURRENT_DATE - LAST_COMMIT_DATE))
echo "TIME_DIFF=${TIME_DIFF}" >> $GITHUB_ENV
- name: Check Last Commit
run: |
if [[ $TIME_DIFF -gt $((60*60*24*7)) ]]; then
echo "Last commit is older than a week."
echo "is_old_commit=true" >> $GITHUB_OUTPUT
else
echo "Last commit is within the past week."
echo "is_old_commit=false" >> $GITHUB_OUTPUT
fi
build:
name: Build
runs-on: ubuntu-latest
needs: checkLastCommit
if: ${{ needs.checkLastCommit.outputs.is_old_commit == false }}
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get branch name
run: |
# Short name for current branch. For PRs, use target branch (base ref)
GIT_BRANCH=${GITHUB_BASE_REF:-${GITHUB_REF#refs/heads/}}
echo "GIT_BRANCH=$GIT_BRANCH" >> $GITHUB_ENV
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: set up JDK 18
uses: actions/setup-java@v3
with:
java-version: 18
distribution: temurin
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: 'Create env file'
run: |
echo "${{ secrets.ENV_FILE }}" > .env
- name: alias yarn.cmd to yarn
run: alias yarn.cmd="yarn"
- name: Add Build Sign Keys
run: |
git submodule update --init --recursive
echo "${{ secrets.RELEASE_SIGN_PWD }}" >> ./android/gradle.properties
- name: WGet Build Sign jks
uses: wei/wget@v1
with:
args: -O ./android/app/noxupload.jks ${{ secrets.REMOTE_KEYFILE_URL }}
- name: Install dependencies
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 10
command: yarn
- name: clean generated builds
run: rm -rf android/app/build/generated/
- name: gradle build
run: cd android && chmod +x gradlew && ./gradlew assembleRelease
- name: Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.GIT_BRANCH }}-build-${{ steps.date.outputs.date }}
files: android/app/build/outputs/apk/release/app-arm64-v8a-release.apk
prerelease: true
target_commitish: ${{ env.GIT_BRANCH }}