Skip to content

fix: unnecessary issue of commands in the Oscilloscope #163

fix: unnecessary issue of commands in the Oscilloscope

fix: unnecessary issue of commands in the Oscilloscope #163

Workflow file for this run

name: Push
on:
push:
branches:
- master
- development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.branch-name.outputs.current_branch }}
steps:
- name: Download repository
uses: actions/checkout@v3
- uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Setup Ruby
if: ${{ github.repository == 'fossasia/pslab-android' }}
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
- name: Prepare Bundler
if: ${{ github.repository == 'fossasia/pslab-android' }}
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Hydrate and Update Version
id: android-version
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=version --depth=1 https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} version
cd version
# Read and increment version name
IFS='.' read -r major minor patch < versionName.txt
current_patch_version_name="$major.$minor.$patch"
echo "VERSION_NAME=$current_patch_version_name" >> $GITHUB_OUTPUT
next_patch=$((patch + 1))
next_patch_version_name="$major.$minor.$next_patch"
echo "$next_patch_version_name" > versionName.txt
# Read and increment version code
read -r version_code < versionCode.txt
echo "VERSION_CODE=$version_code" >> $GITHUB_OUTPUT
new_version_code=$((version_code + 1))
echo "$new_version_code" > versionCode.txt
# Force push to version branch
git checkout --orphan temporary
git add --all .
git commit -am "[Auto] Update versionName: $next_patch_version_name & versionCode: $new_version_code ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D version
git branch -m version
git push --force origin version
- name: Prepare Build Keys
env:
ENCRYPTED_F10B5E0E5262_IV: ${{ secrets.ENCRYPTED_F10B5E0E5262_IV }}
ENCRYPTED_F10B5E0E5262_KEY: ${{ secrets.ENCRYPTED_F10B5E0E5262_KEY }}
run: |
bash scripts/prep-key.sh
- name: Build with Gradle
env:
STORE_PASS: ${{ secrets.STORE_PASS }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PASS: ${{ secrets.KEY_PASS }}
VERSION_CODE: ${{ steps.android-version.outputs.VERSION_CODE }}
VERSION_NAME: ${{ steps.android-version.outputs.VERSION_NAME }}
run: |
bash ./gradlew build --stacktrace
bash ./gradlew bundle --stacktrace
- name: Upload APK Debug
uses: actions/upload-artifact@v4
with:
name: APK Debug generated
path: app/build/outputs/apk/debug
- name: Upload APK Release
uses: actions/upload-artifact@v4
with:
name: APK Release generated
path: app/build/outputs/apk/release
- name: Upload AAB Release
uses: actions/upload-artifact@v4
with:
name: AAB Release generated
path: app/build/outputs/bundle/release
- name: Upload APK/AAB's to apk branch
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git clone --branch=apk --depth=1 https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} apk
cd apk
if [[ ${{ github.ref_name }} =~ ^(master)$ ]]; then
rm -rf *
else
rm -rf pslab-dev*
fi
ls
find ../app/build/outputs -type f \( -name '*.apk' -o -name '*.aab' \) -exec cp -v {} . \;
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}
for file in app*; do
mv $file pslab-$branch-${file#*-}
done
git checkout --orphan temporary
git add --all .
git commit -am "[Auto] Update APK/AAB's from $branch ($(date +%Y-%m-%d.%H:%M:%S))"
git branch -D apk
git branch -m apk
git push --force origin apk
- name: Update app in Open Testing track
if: ${{ github.repository == 'fossasia/pslab-android' }}
run: |
git clone --branch=fastlane --depth=1 https://${{ github.repository_owner }}:${{ github.token }}@github.com/${{ github.repository }} fastlane
bundle exec fastlane uploadToOpenTesting
if [[ $? -ne 0 ]]; then
exit 1
fi
- name: Run Release Drafter
id: run-release-drafter
uses: release-drafter/release-drafter@v6
with:
version: ${{ steps.android-version.outputs.VERSION_NAME }}
- name: Create and Upload Assets
run: |
echo "${{ steps.android-version.outputs.VERSION_CODE }}" > ./versionCode.txt
gh release upload ${{ steps.run-release-drafter.outputs.tag_name }} apk/pslab-development-release.apk ./versionCode.txt --clobber