Skip to content

Reproducible builds

Reproducible builds #1

Workflow file for this run

name: Reproducible builds verifier
on:
push:
tags:
- '*'
workflow_dispatch:
jobs:
verify-reproducible-builds:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Install required packages
run: sudo apt install npm node-typescript rsync apksigcopier
- name: Set env
run: |
echo "VERSION_NAME=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
echo "RELEASE_APK_NAME=Sharing-${{ github.event.release.tag_name }}.apk" >> $GITHUB_ENV
- name: Build App
run: |
npm install --prefix web/
./gradlew assembleRelease
- name: Download signed apk
run: wget https://github.com/Ammar64/Sharing/releases/download/${{ env.VERSION_NAME }}/${{ env.RELEASE_APK_NAME }}
- name: Verify Reproducible builds
run: |
cp app/build/outputs/apk/release/app-release-unsigned.apk .
apksigcopier compare --unsigned ${{ env.RELEASE_APK_NAME }} app-release-unsigned.apk