Repo created
This commit is contained in:
commit
3c8e58604e
646 changed files with 69135 additions and 0 deletions
63
.github/workflows/build-app-workflow.yaml
vendored
Normal file
63
.github/workflows/build-app-workflow.yaml
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
name: build
|
||||
on: [pull_request, push]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the code
|
||||
uses: actions/checkout@v4
|
||||
- name: Validate Gradle wrapper
|
||||
uses: gradle/wrapper-validation-action@699bb18358f12c5b78b37bb0111d3a0e2276e0e2
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
cache: 'gradle'
|
||||
- name: Build the app
|
||||
run: ./gradlew build
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: apk
|
||||
path: app/build/outputs/apk/debug/app-debug.apk
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
cache: 'gradle'
|
||||
- name: Enable KVM group perms
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
- name: Tests
|
||||
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d
|
||||
with:
|
||||
api-level: 31
|
||||
arch: x86_64
|
||||
profile: pixel_3a
|
||||
heap-size: 512M
|
||||
ram-size: 4096M
|
||||
emulator-options: -memory 4096 -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
disable-animations: true
|
||||
disk-size: 8G
|
||||
script: |
|
||||
mkdir -p artifacts/report
|
||||
adb logcat -c
|
||||
adb logcat -G 16M && adb logcat -g
|
||||
./gradlew connectedCheck || touch tests_failing
|
||||
adb logcat -d > artifacts/logcat.txt
|
||||
cp -r app/build/reports/androidTests/connected/* artifacts/report/
|
||||
if adb shell '[ -e /sdcard/Pictures/screenshots ]'; then adb pull /sdcard/Pictures/screenshots artifacts/; fi
|
||||
test ! -f tests_failing
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: instrumented-test-report
|
||||
path: |
|
||||
artifacts/*
|
||||
if-no-files-found: ignore
|
||||
42
.github/workflows/codeql-analysis.yml
vendored
Normal file
42
.github/workflows/codeql-analysis.yml
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
name: codeql
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
schedule:
|
||||
- cron: '25 16 * * 2'
|
||||
jobs:
|
||||
analyze:
|
||||
name: analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
if: github.event_name != 'schedule' || github.repository == 'beemdevelopment/Aegis'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Exclude paths
|
||||
# The importers are excluded from analysis, because some of the apps Aegis
|
||||
# can import from don't have such great crypto, which will cause false
|
||||
# positive security alerts.
|
||||
run: |
|
||||
find app/src/main/java/com/beemdevelopment/aegis/importers ! \( -name AegisImporter.java -o -name "DatabaseImporter*" \) -type f -exec rm -f {} +
|
||||
sed -i '/Importer.class/d' app/src/main/java/com/beemdevelopment/aegis/importers/DatabaseImporter.java
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
cache: 'gradle'
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: java
|
||||
- name: Build
|
||||
run: ./gradlew assembleDebug
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
25
.github/workflows/crowdin.yml
vendored
Normal file
25
.github/workflows/crowdin.yml
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
name: crowdin
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# run sequentially (per branch)
|
||||
concurrency: "crowdin-upload-${{ github.ref }}"
|
||||
jobs:
|
||||
upload-sources:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'beemdevelopment/Aegis'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install crowdin-cli
|
||||
run: |
|
||||
wget https://github.com/crowdin/crowdin-cli/releases/download/4.6.1/crowdin-cli.zip
|
||||
echo "7afd70de3a747ac631a5bad7866008163ae1d50c4606b5773f0b90a5481ffde2 crowdin-cli.zip" | sha256sum -c
|
||||
unzip crowdin-cli.zip -d crowdin-cli
|
||||
- name: Upload to Crowdin
|
||||
env:
|
||||
CROWDIN_PERSONAL_TOKEN: "${{ secrets.CROWDIN_TOKEN }}"
|
||||
run: |
|
||||
java -jar ./crowdin-cli/4.6.1/crowdin-cli.jar upload sources \
|
||||
--no-progress \
|
||||
--branch master
|
||||
Loading…
Add table
Add a link
Reference in a new issue