diff --git a/.docker/Dockerfile b/.docker/Dockerfile new file mode 100644 index 00000000..1f1212a9 --- /dev/null +++ b/.docker/Dockerfile @@ -0,0 +1,21 @@ +# Clone the project +FROM alpine/git as git + +ARG REPOSITORY=https://github.com/buggregator/frontend +ARG BRANCH=master +RUN git clone -b $BRANCH $REPOSITORY /app + +# Build JS files +FROM node:19-alpine as frontend +COPY --from=git /app /app +WORKDIR /app + +ENV NODE_OPTIONS=--openssl-legacy-provider + +RUN yarn install +RUN npm run generate +RUN rm -rf node_modules + +LABEL org.opencontainers.image.source=$REPOSITORY +LABEL org.opencontainers.image.description="Buggregator Frontend" +LABEL org.opencontainers.image.licenses=MIT diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..a26fed87 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +patreon: butschster diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 00000000..8e741106 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,43 @@ +name: Docker Image CI + +on: + release: + types: + - created + +jobs: + build-release: + if: "!github.event.release.prerelease" + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: 'Get Previous tag' + id: previoustag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + with: + fallback: v0.1 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_LOGIN }} + password: ${{ secrets.GHCR_PASSWORD }} + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v3 + with: + context: ./ + file: ./.docker/Dockerfile + push: true + build-args: + APP_VERSION=${{ steps.previoustag.outputs.tag }} + tags: + ghcr.io/buggregator/frontend:latest, ghcr.io/buggregator/frontend:${{ steps.previoustag.outputs.tag }}