diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e6b0f7a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Build binaries and create GitHub release + +# Set the permissions of the github token to the minimum and only enable what is needed +# See https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions +permissions: {} + +on: + push: + branches: + - main + +jobs: + build-and-release: + permissions: + contents: write # for publishing release + strategy: + matrix: + build: + - os: ubuntu-24.04 + - os: ubuntu-24.04-arm + + runs-on: ${{ matrix.build.os }} + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + + - uses: docker/setup-buildx-action@v4 + + - uses: docker/build-push-action@v7 + with: + tags: syshud:latest + load: true + cache-from: type=gha + cache-to: type=gha,mode=max + + - run: docker run --rm -u $(id -u):$(id -g) -v .:/workspace syshud make -j syshud diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d2e6763 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM debian:13-slim + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + git \ + build-essential \ + libgtk4-layer-shell-dev \ + libgtkmm-4.0-dev \ + libpulse-dev \ + libevdev-dev \ + libwireplumber-0.5-dev \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /workspace