diff --git a/.gitea/workflows/node-bun.yaml b/.gitea/workflows/node-bun.yaml new file mode 100644 index 0000000..610913e --- /dev/null +++ b/.gitea/workflows/node-bun.yaml @@ -0,0 +1,39 @@ +name: Build and Push Image +on: + schedule: + - cron: "@weekly" + push: + branches: + - main + paths: + - .gitea/workflows/node-bun.yaml + - images/actions/node-bun/** + +jobs: + build: + name: Build and push image + runs-on: ubuntu-latest + container: catthehacker/ubuntu:act-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: git.kjan.de + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: ./images/actions/node-bun + push: true + tags: | + git.kjan.de/actions/node-bun:latest + git.kjan.de/actions/node-bun:${{ gitea.run_number }} diff --git a/images/actions/node-bun/Dockerfile b/images/actions/node-bun/Dockerfile new file mode 100644 index 0000000..c1a2717 --- /dev/null +++ b/images/actions/node-bun/Dockerfile @@ -0,0 +1,21 @@ +FROM oven/bun:alpine + +RUN apk add nodejs git curl bash sudo + +RUN apk add --update --no-cache \ +bash sudo ca-certificates openssl openssh-client \ +git git-lfs wget curl \ +zip unzip xz zstd jq \ +nodejs + + +RUN adduser -D runner \ + && echo "runner ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner \ + && chmod 0440 /etc/sudoers.d/runner + +RUN chmod -R 777 /opt + +WORKDIR /home/runner + +CMD ["/bin/bash"] +USER runner