mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-07-31 02:13:45 +01:00
60 lines
2.1 KiB
YAML
60 lines
2.1 KiB
YAML
name: Check reproducible-build Dockerfile
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 5 * * *"
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Free up disk space
|
|
run: |
|
|
# The build runs entirely inside the Docker container, which ships its
|
|
# own JDK, Android SDK, and NDK. None of the host toolchains are needed.
|
|
sudo rm -rf /usr/lib/jvm
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf /usr/share/swift
|
|
sudo rm -rf /usr/local/.ghcup
|
|
sudo rm -rf /usr/local/julia*
|
|
sudo rm -rf /usr/local/lib/android
|
|
sudo rm -rf /usr/local/share/chromium
|
|
sudo rm -rf /opt/microsoft /opt/google
|
|
sudo rm -rf /opt/az
|
|
sudo rm -rf /usr/local/share/powershell
|
|
sudo rm -rf /opt/hostedtoolcache
|
|
docker system prune -af || true
|
|
docker builder prune -af || true
|
|
- name: Disk usage after cleanup
|
|
if: always()
|
|
run: |
|
|
df -h
|
|
docker system df || true
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
# gh api repos/actions/checkout/commits/v6 --jq '.sha'
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
|
|
- name: Build image
|
|
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
|
|
with:
|
|
context: reproducible-builds
|
|
tags: signal-android
|
|
load: true
|
|
cache-from: type=gha
|
|
cache-to: type=gha,mode=max
|
|
- name: Disk usage after image build
|
|
if: always()
|
|
run: |
|
|
df -h
|
|
docker system df || true
|
|
- name: Test build
|
|
run: docker run --memory=12g --rm -v "$(pwd)":/project -w /project signal-android ./gradlew --no-daemon --max-workers=1 -Dorg.gradle.jvmargs="-Xmx4g -XX:MaxMetaspaceSize=512m" -Dkotlin.compiler.execution.strategy=in-process bundlePlayProdRelease
|
|
- name: Disk usage after test build
|
|
if: always()
|
|
run: |
|
|
df -h
|
|
docker system df || true
|