From 43dce69cce343484ecc980d780f756dccc455fc4 Mon Sep 17 00:00:00 2001 From: Lakhan Samani Date: Wed, 29 Dec 2021 05:10:21 +0530 Subject: [PATCH] fix: update build script --- .dockerignore | 3 ++- .github/workflows/release.yaml | 22 +++++++++------------- .gitignore | 1 + Dockerfile | 21 ++++++++++++++------- app/package.json | 2 +- scripts/build-mac.sh | 2 +- 6 files changed, 28 insertions(+), 23 deletions(-) diff --git a/.dockerignore b/.dockerignore index 78322a5..d2f95c1 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,4 +7,5 @@ ROADMAP.md build .env data.db -app/node_modules \ No newline at end of file +app/node_modules +app/build \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 6250bfb..fac4792 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,26 +8,22 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '16' + - uses: actions/setup-go@v2 + with: + go-version: '^1.17.3' - name: Install dependencies run: | sudo apt-get install build-essential wget zip gcc-mingw-w64 && \ - sudo apt-get remove --auto-remove golang-go && \ - sudo rm -rf /usr/bin/go &&\ - wget --progress=dot:mega https://golang.org/dl/go1.17.1.linux-amd64.tar.gz -O go-linux.tar.gz && \ - sudo tar -zxf go-linux.tar.gz && \ - sudo mv go /usr/bin/ && \ - sudo mkdir -p /go/bin /go/src /go/pkg && \ - export GO_HOME=/usr/bin/go && \ - export GOPATH=/go && \ - export PATH=${GOPATH}/bin:${GO_HOME}/bin/:$PATH && \ - echo "/usr/bin/go/bin" >> $GITHUB_PATH - echo "/usr/bin/x86_64-w64-mingw32-gcc" >> GITHUB_PATH - go version && \ + echo "/usr/bin/x86_64-w64-mingw32-gcc" >> GITHUB_PATH && \ wget --no-check-certificate --progress=dot:mega https://github.com/wangyoucao577/assets-uploader/releases/download/v0.3.0/github-assets-uploader-v0.3.0-linux-amd64.tar.gz -O github-assets-uploader.tar.gz && \ tar -zxf github-assets-uploader.tar.gz && \ sudo mv github-assets-uploader /usr/sbin/ && \ sudo rm -f github-assets-uploader.tar.gz && \ - github-assets-uploader -version + github-assets-uploader -version && \ + make build-app - name: Print Go paths run: whereis go - name: Print Go Version diff --git a/.gitignore b/.gitignore index b43a2e9..30b32c7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ server/server server/.env data app/node_modules +app/build build .env data.db diff --git a/Dockerfile b/Dockerfile index 1dbe626..a60cab8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM golang:1.17-alpine as builder -WORKDIR /app +FROM golang:1.17-alpine as go-builder +WORKDIR /authorizer COPY server server COPY Makefile . @@ -7,15 +7,22 @@ ARG VERSION="latest" ENV VERSION="$VERSION" RUN echo "$VERSION" -RUN apk add build-base nodejs &&\ +RUN apk add build-base &&\ make clean && make && \ chmod 777 build/server -FROM alpine:latest -RUN apk --no-cache add ca-certificates -WORKDIR /root/ +FROM node:17-alpine3.12 as node-builder +WORKDIR /authorizer COPY app app +COPY Makefile . +RUN apk add build-base &&\ + make build-app + +FROM alpine:latest +WORKDIR /root/ +RUN mkdir app +COPY --from=node-builder /authorizer/app/build app/build +COPY --from=go-builder /authorizer/build build COPY templates templates -COPY --from=builder /app/build build EXPOSE 8080 CMD [ "./build/server" ] diff --git a/app/package.json b/app/package.json index fe4f1f6..cd974d6 100644 --- a/app/package.json +++ b/app/package.json @@ -11,7 +11,7 @@ "author": "Lakhan Samani", "license": "ISC", "dependencies": { - "@authorizerdev/authorizer-react": "^0.3.0", + "@authorizerdev/authorizer-react": "latest", "@types/react": "^17.0.15", "@types/react-dom": "^17.0.9", "esbuild": "^0.12.17", diff --git a/scripts/build-mac.sh b/scripts/build-mac.sh index 8b52e5e..1e3f4a2 100644 --- a/scripts/build-mac.sh +++ b/scripts/build-mac.sh @@ -1,5 +1,5 @@ VERSION="$1" -make clean && CGO_ENABLED=1 VERSION=${VERSION} make +make clean && make build-app && CGO_ENABLED=1 VERSION=${VERSION} make FILE_NAME=authorizer-${VERSION}-darwin-amd64.tar.gz tar cvfz ${FILE_NAME} .env app/build build templates AUTH="Authorization: token $GITHUB_TOKEN"