diff --git a/.github/workflows/reproducible_build.yml b/.github/workflows/reproducible_build.yml new file mode 100644 index 00000000..f50ef3b4 --- /dev/null +++ b/.github/workflows/reproducible_build.yml @@ -0,0 +1,20 @@ +name: Build Android +on: + push: + branches: + - reproducible-builds-2 + +jobs: + build-android: + runs-on: ubuntu-latest + container: reactnativecommunity/react-native-android@sha256:4ff9c9f80da57c72284900fcfdbd079183e735684c62d7fafd3df50fdb895453 + steps: + - uses: actions/checkout@v4 + - name: Envinfo + run: npx envinfo + - name: Install dependencies + run: | + apt-get update + apt-get install -y curl unzip + - name: Build application + run: chmod +x build.sh && ./build.sh diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..e62b2b41 --- /dev/null +++ b/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# reactnativecommunity/react-native-android:13.0 +BUILDER_IMAGE="reactnativecommunity/react-native-android@sha256:4ff9c9f80da57c72284900fcfdbd079183e735684c62d7fafd3df50fdb895453" +CONTAINER_NAME="blixt_builder_container" +BLIXT_PATH=/blixt + +docker run --rm -it --name $CONTAINER_NAME -v `pwd`:$BLIXT_PATH $BUILDER_IMAGE bash -c \ + 'echo -e "\n\n********************************\n*** Building Blixt...\n********************************\n" && \ + cd /blixt ; yarn build-unsigned-android + + echo -e "\n\n********************************\n**** APKs and SHA256 Hashes\n********************************\n" && \ + cd /blixt && \ + for f in android/app/build/outputs/apk/release/*.apk; + do + RENAMED_FILENAME=$(echo $f | sed -e "s/app-/blixt-/" | sed -e "s/-release-unsigned//") + mv $f $RENAMED_FILENAME + sha256sum $RENAMED_FILENAME + done && \ + echo -e "\n" '; \ No newline at end of file diff --git a/fetch_libraries.sh b/fetch_libraries.sh old mode 100644 new mode 100755