diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml new file mode 100644 index 0000000..02f4dd7 --- /dev/null +++ b/.github/workflows/arch.yml @@ -0,0 +1,51 @@ +name: Arch Linux + +on: + pull_request: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: arch-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + build: + name: ${{ matrix.arch }} + strategy: + fail-fast: false + matrix: + include: + - arch: amd64 + runner: ubuntu-latest + image: archlinux:latest + - arch: arm64 + runner: ubuntu-24.04-arm + image: menci/archlinuxarm:base + runs-on: ${{ matrix.runner }} + container: ${{ matrix.image }} + timeout-minutes: 90 + steps: + - name: Install Arch packages + run: | + pacman -Syu --needed --noconfirm git go jdk21-openjdk unzip + echo "JAVA_HOME=/usr/lib/jvm/java-21-openjdk" >> "$GITHUB_ENV" + + - uses: actions/checkout@v7 + + - uses: android-actions/setup-android@v4 + + - name: Install Android toolchain + run: | + sdkmanager 'platforms;android-36' 'build-tools;35.0.0' 'ndk;29.0.14206865' 'cmake;3.22.1' + echo "ANDROID_NDK=$ANDROID_HOME/ndk/29.0.14206865" >> "$GITHUB_ENV" + + - name: Build debug + env: + WHITEDNS_MIHOMO_SUBSCRIPTION_URL: ${{ vars.WHITEDNS_MIHOMO_SUBSCRIPTION_URL }} + WHITEDNS_ENCRYPTED_IP_LIST_URL: ${{ vars.WHITEDNS_ENCRYPTED_IP_LIST_URL }} + run: ./gradlew testDebugUnitTest assembleDebug