From 5abd56b06398cd2eb17ce7d8037f8d2073eedbd1 Mon Sep 17 00:00:00 2001 From: mrinc Date: Tue, 25 Jul 2023 11:30:41 +0200 Subject: [PATCH] Added build script --- .github/workflows/build.yml | 45 +++++++++++++++++++++++++++++++++++++ Dockerfile | 18 +++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 Dockerfile diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..68641a3 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,45 @@ +name: Build And Publish Docker + +on: + push: + branches: + - "master" + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + hugo-version: ["0.115.4"] + + steps: + - uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + - name: Build + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + context: ./ + file: ./Dockerfile + platforms: linux/amd64 # ,linux/arm64/v8 + push: true + build-args: + HUGO_VERSION=${{ matrix.hugo-version }} + tags: betterweb/hugo:${{ matrix.hugo-version }}-extended diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..361b6c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +ARG HUGO_VERSION=0.115.4 + +FROM golang:1.20.6-bullseye + +RUN apt update -y +RUN apt install tar gzip build-essential -y +RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && apt-get install -y nodejs +RUN npm i -g yarn pnpm +RUN mkdir /tmp/temph +RUN mkdir /home/app +WORKDIR /tmp/temph +RUN wget https://github.com/gohugoio/hugo/releases/download/v$HUGO_VERSION/hugo_extended_$HUGO_VERSION_Linux-64bit.tar.gz +RUN tar xf ./hugo_extended_$HUGO_VERSION_Linux-64bit.tar.gz +RUN mv ./hugo /usr/bin/hugo + +WORKDIR /home/app + +ENTRYPOINT [ "/bin/bash" ] \ No newline at end of file