diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 0000000..6cf3c06 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,28 @@ +name: release-nightly + +on: + push: + branches: [ master ] + +jobs: + build-docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + 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: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_REGISTRY_USERNAME }} + password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: xsheep2010/interactive:nightly diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0f03ddd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Building Backend +FROM golang:alpine as interactive-server + +RUN apk add nodejs npm + +WORKDIR /source +COPY . . +WORKDIR /source/pkg/view +RUN npm install +RUN npm run build +WORKDIR /source +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs -o /dist ./pkg/cmd/main.go + +# Runtime +FROM golang:alpine + +COPY --from=interactive-server /dist /interactive/server + +EXPOSE 8445 + +CMD ["/interactive/server"] \ No newline at end of file diff --git a/pkg/view/.gitignore b/pkg/view/.gitignore index 01566b9..886c090 100644 --- a/pkg/view/.gitignore +++ b/pkg/view/.gitignore @@ -1,5 +1,7 @@ /dist /node_modules +.DS_Store + package-lock.json -yarn.lock \ No newline at end of file +yarn.lock