From a8a7d4296a6bbcbdf3424594ba9aab84bdc54ce3 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 19 Feb 2025 10:11:18 +0100 Subject: [PATCH] feat: add Dockerfile and CI workflow for image build --- .gitea/bunPipeline/Dockerfile | 18 ++++++++++++++++ .gitea/workflows/bun-image.yml | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 .gitea/bunPipeline/Dockerfile create mode 100644 .gitea/workflows/bun-image.yml diff --git a/.gitea/bunPipeline/Dockerfile b/.gitea/bunPipeline/Dockerfile new file mode 100644 index 0000000..2a1e3f0 --- /dev/null +++ b/.gitea/bunPipeline/Dockerfile @@ -0,0 +1,18 @@ +from imbios/bun-node + + +jobs: + build: + name: Build and push image + runs-on: ubuntu-latest + container: catthehacker/ubuntu:act-latest + + steps: + - name: Build Docker image + uses: https://git.kjan.de/actions/docker-build@v1 + with: + name: node-npm + REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} \ No newline at end of file diff --git a/.gitea/workflows/bun-image.yml b/.gitea/workflows/bun-image.yml new file mode 100644 index 0000000..349eb60 --- /dev/null +++ b/.gitea/workflows/bun-image.yml @@ -0,0 +1,38 @@ +name: Build Docker Image + +on: + push: + branches: + - main + paths: + - package.json + - bun.lockb + pull_request: + branches: + - main + paths: + - package.json + - bun.lockb + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: .gitea/bunPipeline + file: .gitea/bunPipeline/Dockerfile + push: true + tags: git.simonis.lol/projects/bun-casino:latest # Change this to your repo + cache-from: type=registry,ref=git.simonis.lol/projects/bun-casino:latest + cache-to: type=inline