diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml
@@ -10,22 +10,41 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
+
+ - name: Use Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20.x'
+ cache: 'npm'
+ cache-dependency-path: 'app/dashboard/package-lock.json'
+
+ - name: Install dependencies
+ run: npm install
+ working-directory: ./app/dashboard/
+
+ - name: Lint Dashboard
+ run: npm run lint
+ working-directory: ./app/dashboard/
+ - name: Build Dashboard
+ run: npm run build --if-present -- --outDir dist --base '/dashboard/'
+ working-directory: ./app/dashboard/
+
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
- uses: docker/build-push-action@v3
+ uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
diff --git a/Dockerfile b/Dockerfile
@@ -7,12 +7,10 @@ WORKDIR /app
COPY . /app
RUN apt-get update -y \
- && apt-get install nodejs npm make gcc g++ python3-dev -y --no-install-recommends \
- && make dashboard-build \
+ && apt-get install make gcc g++ python3-dev -y --no-install-recommends \
&& pip install --no-cache-dir -r /app/requirements.txt \
&& apt-get clean -y \
- && apt-get autoremove g++ npm nodejs gcc python3-dev -y \
- && make dashboard-cleanup \
+ && apt-get autoremove g++ gcc python3-dev -y \
&& rm -rf /var/lib/apt/lists/*
CMD ["make", "start"]