From a545c0fa05c434eec482413300eadabadd36d661 Mon Sep 17 00:00:00 2001 From: Martin Kysel Date: Mon, 16 Dec 2024 12:02:20 -0500 Subject: [PATCH] Build XDGB as a docker image and push to GHCR (#1419) --- .github/workflows/push-xbg.yml | 49 ++++++++++++++++++++++++++++++++++ dev/xdbg/Dockerfile | 10 +++++++ 2 files changed, 59 insertions(+) create mode 100644 .github/workflows/push-xbg.yml create mode 100644 dev/xdbg/Dockerfile diff --git a/.github/workflows/push-xbg.yml b/.github/workflows/push-xbg.yml new file mode 100644 index 000000000..55e69d314 --- /dev/null +++ b/.github/workflows/push-xbg.yml @@ -0,0 +1,49 @@ +name: Push XDBG Image + +on: + push: + branches: + - main + + workflow_dispatch: + +jobs: + push_to_registry: + name: Push Docker Image to GitHub Packages + runs-on: warp-ubuntu-latest-x64-16x + permissions: + contents: read + packages: write + outputs: + digest: ${{ steps.push.outputs.digest }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Log in to the container registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/xdbg + tags: | + type=schedule + type=ref,event=branch + type=ref,event=tag + type=ref,event=pr + type=sha + - name: Build and push Docker image + uses: docker/build-push-action@v6 + id: push + with: + context: . + file: ./dev/xdbg/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/dev/xdbg/Dockerfile b/dev/xdbg/Dockerfile new file mode 100644 index 000000000..fb5769ce7 --- /dev/null +++ b/dev/xdbg/Dockerfile @@ -0,0 +1,10 @@ +FROM rust:1-bullseye as builder +WORKDIR /code +COPY . . +COPY .git /.git +RUN cargo build --release --package xdbg + +FROM debian:bullseye-slim +COPY --from=builder /code/target/release/xdbg /usr/local/bin/xdbg +ENV RUST_LOG=info +ENTRYPOINT ["xdbg"]