Skip to content

Merge branch 'm2049r:master' into accesibility-work-build #14

Merge branch 'm2049r:master' into accesibility-work-build

Merge branch 'm2049r:master' into accesibility-work-build #14

Workflow file for this run

name: build-apk
on: [push]
env:
# The name of the main module repository
main_project_module: app
# The name of the Play Store
playstore_name: Monerujo
jobs:
build-libs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Install Make
- name: Install Make
run: |
sudo apt-get update
sudo apt-get install -y make
# Install Docker
- name: Install Docker
run: |
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- name: Clone monero repository
run: |
git clone https://github.com/m2049r/monero.git
cd monero
git fetch
git checkout release-v0.18.3.3-monerujo-v4.0.6
git submodule update --init --force
- name: Create symlink
run: |
ln -s $(pwd)/monero $(pwd)/../xmrwallet/external-libs/monero
- name: Build lib
run: |
cd $(pwd)/../xmrwallet/external-libs
make
# Set Current Date As Env Variable
- name: Set current date as env variable
run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
# Set Repository Name As Env Variable
- name: Set repository name as env variable
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
- name: Set Up JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '17'
cache: 'gradle'
- name: Change wrapper permissions
run: chmod +x ./gradlew
- name: Install libncurses
run: sudo apt-get install libncurses5 libncurses5-dev libncursesw5-dev
- name: Run gradle tests
run: ./gradlew test
# Run Build Project
- name: Build gradle project
run: ./gradlew build -x lint --stacktrace --info
# Create APK Release
- name: Build apk release project (APK) - ${{ env.main_project_module }} module
run: ./gradlew assemble -x lint
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
# Noted For Output [main_project_module]/build/outputs/apk/release/
- name: Upload APK Release - ${{ env.repository_name }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
path: ${{ env.main_project_module }}/build/outputs/apk/prodMainnet/debug/