# This was used for certain raspberry pi hardware and perhaps needs update. # Runs on any push to binaries-linux-arm32v7. # Produces optimised static arm32v7 linux binaries, # using GHC 8.10.4 and cabal. # Currently runs no tests. # Slow, will probably time out. name: binaries-linux-arm32v7 on: push: branches: [ binaries-linux-arm32v7 ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Build and push id: docker_build uses: docker/build-push-action@v2 with: file: ./docker-arm32v7/Dockerfile platforms: linux/arm tags: hledger-linux-arm32v7:latest load: true - name: Gather binaries from docker run: | container_id=$(docker create hledger-linux-arm32v7:latest) docker cp $container_id:/root/hledger tmp docker rm -v $container_id cd tmp tar cvf hledger-linux-arm32v7.tar hledger hledger-ui hledger-web # could add extras like hledger/shell-completion/hledger-completion.bash here # upload-artifact loses execute permissions, so we tar the binaries to preserve them. # github UI always zips artifacts when they are downloaded, so we don't bother compressing the tar. # Unfortunately it means users must both unzip and untar. - name: Upload binaries artifact uses: actions/upload-artifact@v4 with: name: hledger-linux-arm32v7 path: tmp/hledger-linux-arm32v7.tar