|
| 1 | +name: fedora-build |
| 2 | + |
| 3 | +on: |
| 4 | + push: |
| 5 | + branches: [ master ] |
| 6 | + pull_request: |
| 7 | + branches: [ master ] |
| 8 | + |
| 9 | +jobs: |
| 10 | + build: |
| 11 | + name: fedora |
| 12 | + runs-on: ubuntu-latest |
| 13 | + container: |
| 14 | + image: fedora:41 |
| 15 | + |
| 16 | + steps: |
| 17 | + - uses: actions/checkout@v4 |
| 18 | + - run: cat /etc/os-release |
| 19 | + - name: install dependencies |
| 20 | + run: | |
| 21 | + dnf -y install alsa-lib-devel ant autoconf automake bc curl gambit-c |
| 22 | + dnf -y install gcc git ImageMagick-devel java-17-openjdk-devel |
| 23 | + dnf -y install libtool libXext-devel make mesa-libGL-devel |
| 24 | + dnf -y install mesa-libGLU-devel netpbm-devel perl-FindBin |
| 25 | + dnf -y install portaudio python3-sdkmanager sed tar tcl-devel texlive |
| 26 | + dnf -y install wget |
| 27 | + - name: setup android |
| 28 | + run: | |
| 29 | + # https://stackoverflow.com/a/77215395 |
| 30 | + # https://computingforgeeks.com/install-and-use-android-studio-on-fedora/ |
| 31 | + mkdir -p /home/build/android-sdk |
| 32 | + export ANDROID_HOME=/home/build/android-sdk |
| 33 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "platforms;android-28" |
| 34 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "build-tools;29.0.3" |
| 35 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "tools" |
| 36 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "extras;android;m2repository" |
| 37 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "ndk-bundle;r28" |
| 38 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk "platform-tools" |
| 39 | + echo yes | sdkmanager --sdk_root=/home/build/android-sdk --licenses |
| 40 | + # https://coderwall.com/p/r09hoq/android-generate-release-debug-keystores |
| 41 | + # https://stackoverflow.com/a/13578480 |
| 42 | + keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -noprompt -dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, S=Unknown, C=Unknown" |
| 43 | + - name: prepare lambdanative |
| 44 | + run : | |
| 45 | + cp SETUP.template SETUP |
| 46 | + sed -i 's/ANDROIDAPI=21/ANDROIDAPI=28/g' SETUP |
| 47 | + sed -i 's|/usr/local/android-sdk-*|/home/build/android-sdk|g' SETUP |
| 48 | + sed -i 's|/usr/local/android-ndk-*|/home/build/android-sdk/ndk-bundle|g' SETUP |
| 49 | + cp PROFILE.template PROFILE |
| 50 | + sed -i 's|SYS_ANDROIDPW="yoursecrethere"|SYS_ANDROIDPW="android"|g' PROFILE |
| 51 | + - name: linux builds |
| 52 | + run: | |
| 53 | + ./configure Calculator |
| 54 | + make |
| 55 | + - name: android builds |
| 56 | + run: | |
| 57 | + # Fedora only provides Python3 |
| 58 | + sed -i 's/python/python3/g' targets/android/check-tools |
| 59 | + # Make directory to avoid errors during build |
| 60 | + mkdir -p /home/build/.cache/lambdanative/android/support |
| 61 | + ./configure Calculator android debug |
| 62 | + make |
0 commit comments