diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..14a7a4e2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,74 @@ +name: CI +on: + push: + tags-ignore: + - 'v*' + branches: + - '*' + pull_request: +jobs: + libcore: + name: Native Build (LibCore) + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Golang Status + run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status + - name: Libcore Status + run: git ls-files libcore | xargs cat | sha1sum > libcore_status + - name: LibCore Cache + id: cache + uses: actions/cache@v4 + with: + path: | + app/libs/libcore.aar + key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}-ci + - name: Install Golang + if: steps.cache.outputs.cache-hit != 'true' + uses: actions/setup-go@v5 + with: + go-version: ^1.21 + - name: Native Build + if: steps.cache.outputs.cache-hit != 'true' + run: ./run lib core + build: + name: Build OSS APK + runs-on: ubuntu-latest + needs: + - libcore + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Golang Status + run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status + - name: Libcore Status + run: git ls-files libcore | xargs cat | sha1sum > libcore_status + - name: LibCore Cache + uses: actions/cache@v4 + with: + path: | + app/libs/libcore.aar + key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }}-ci + - name: Gradle cache + uses: actions/cache@v4 + with: + path: ~/.gradle + key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }}-ci + - name: Gradle Build + env: + BUILD_PLUGIN: none + run: | + echo "sdk.dir=${ANDROID_HOME}" > local.properties + echo "ndk.dir=${ANDROID_HOME}/ndk/25.0.8775105" >> local.properties + export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" + ./run init action gradle + ./gradlew app:assembleOssDebug + APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk') + APK=$(dirname $APK) + echo "APK=$APK" >> $GITHUB_ENV + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: APKs + path: ${{ env.APK }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f8ffea99..a83ada2f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,21 +20,21 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Golang Status run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status - name: Libcore Status run: git ls-files libcore | xargs cat | sha1sum > libcore_status - name: LibCore Cache id: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | app/libs/libcore.aar key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} - name: Install Golang if: steps.cache.outputs.cache-hit != 'true' - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: go-version: ^1.21 - name: Native Build @@ -47,19 +47,19 @@ jobs: - libcore steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Golang Status run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status - name: Libcore Status run: git ls-files libcore | xargs cat | sha1sum > libcore_status - name: LibCore Cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | app/libs/libcore.aar key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} - name: Gradle cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.gradle key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }} @@ -86,9 +86,9 @@ jobs: needs: build steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Donwload Artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: APKs path: artifacts @@ -107,7 +107,7 @@ jobs: needs: build steps: - name: Donwload Artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: APKs path: artifacts @@ -138,19 +138,19 @@ jobs: - libcore steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Golang Status run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status - name: Libcore Status run: git ls-files libcore | xargs cat | sha1sum > libcore_status - name: LibCore Cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | app/libs/libcore.aar key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} - name: Gradle cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.gradle key: gradle-play-${{ hashFiles('**/*.gradle.kts') }}