mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-21 17:37:29 -07:00
Remove rust deps from Dockerfile & CI, cleanup docs
This commit is contained in:
parent
fdca7f804a
commit
158c7694c0
4 changed files with 2 additions and 29 deletions
|
@ -25,11 +25,7 @@ jobs:
|
||||||
- name: Build the shrimp
|
- name: Build the shrimp
|
||||||
run: |
|
run: |
|
||||||
cd /iceshrimp
|
cd /iceshrimp
|
||||||
cp -Trp /iceshrimp-caches/built packages/backend/native-utils/built
|
|
||||||
cp -Trp /iceshrimp-caches/target packages/backend/native-utils/target
|
|
||||||
yarn build:debug
|
yarn build:debug
|
||||||
rm -rf /iceshrimp-caches/built/* && cp -Trp packages/backend/native-utils/built /iceshrimp-caches/built
|
|
||||||
rm -rf /iceshrimp-caches/target/* && cp -Trp packages/backend/native-utils/target /iceshrimp-caches/target
|
|
||||||
- name: Test the shrimp
|
- name: Test the shrimp
|
||||||
run: |
|
run: |
|
||||||
cd /iceshrimp
|
cd /iceshrimp
|
||||||
|
|
25
Dockerfile
25
Dockerfile
|
@ -4,17 +4,7 @@ FROM alpine:3.18 as build
|
||||||
WORKDIR /iceshrimp
|
WORKDIR /iceshrimp
|
||||||
|
|
||||||
# Install compilation dependencies
|
# Install compilation dependencies
|
||||||
RUN apk add --no-cache --no-progress git alpine-sdk vips-dev python3 nodejs-current npm rust cargo vips
|
RUN apk add --no-cache --no-progress git alpine-sdk vips-dev python3 nodejs-current npm vips
|
||||||
|
|
||||||
# Copy only the cargo dependency-related files first, to cache efficiently
|
|
||||||
COPY packages/backend/native-utils/Cargo.toml packages/backend/native-utils/Cargo.toml
|
|
||||||
COPY packages/backend/native-utils/Cargo.lock packages/backend/native-utils/Cargo.lock
|
|
||||||
COPY packages/backend/native-utils/src/lib.rs packages/backend/native-utils/src/
|
|
||||||
COPY packages/backend/native-utils/migration/Cargo.toml packages/backend/native-utils/migration/Cargo.toml
|
|
||||||
COPY packages/backend/native-utils/migration/src/lib.rs packages/backend/native-utils/migration/src/
|
|
||||||
|
|
||||||
# Install cargo dependencies
|
|
||||||
RUN --mount=type=cache,target=/root/.cargo cargo fetch --locked --manifest-path /iceshrimp/packages/backend/native-utils/Cargo.toml
|
|
||||||
|
|
||||||
# Copy only the dependency-related files first, to cache efficiently
|
# Copy only the dependency-related files first, to cache efficiently
|
||||||
COPY package.json yarn.lock .pnp.cjs .pnp.loader.mjs ./
|
COPY package.json yarn.lock .pnp.cjs .pnp.loader.mjs ./
|
||||||
|
@ -23,9 +13,6 @@ COPY packages/client/package.json packages/client/package.json
|
||||||
COPY packages/sw/package.json packages/sw/package.json
|
COPY packages/sw/package.json packages/sw/package.json
|
||||||
COPY packages/iceshrimp-js/package.json packages/iceshrimp-js/package.json
|
COPY packages/iceshrimp-js/package.json packages/iceshrimp-js/package.json
|
||||||
COPY packages/megalodon/package.json packages/megalodon/package.json
|
COPY packages/megalodon/package.json packages/megalodon/package.json
|
||||||
COPY packages/backend/native-utils/package.json packages/backend/native-utils/package.json
|
|
||||||
COPY packages/backend/native-utils/npm/linux-x64-musl/package.json packages/backend/native-utils/npm/linux-x64-musl/package.json
|
|
||||||
COPY packages/backend/native-utils/npm/linux-arm64-musl/package.json packages/backend/native-utils/npm/linux-arm64-musl/package.json
|
|
||||||
|
|
||||||
# Prepare yarn cache
|
# Prepare yarn cache
|
||||||
COPY .yarn/cache .yarn/cache
|
COPY .yarn/cache .yarn/cache
|
||||||
|
@ -40,15 +27,8 @@ RUN --mount=type=cache,target=/iceshrimp/.yarncache rm -rf .yarncache/* && cp -T
|
||||||
# Copy in the rest of the files to compile
|
# Copy in the rest of the files to compile
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
# Fix napi-rs jank
|
|
||||||
RUN --mount=type=cache,target=/iceshrimp/.napi_buildcache cp -Tr /iceshrimp/.napi_buildcache /iceshrimp/packages/backend/native-utils/built
|
|
||||||
RUN --mount=type=cache,target=/iceshrimp/packages/backend/native-utils/target if [[ ! -f /iceshrimp/packages/backend/native-utils/built/index.js ]]; then rm -rf /iceshrimp/packages/backend/native-utils/target/release; fi
|
|
||||||
|
|
||||||
# Build the thing
|
# Build the thing
|
||||||
RUN --mount=type=cache,target=/root/.cargo --mount=type=cache,target=/iceshrimp/packages/backend/native-utils/target env NODE_ENV=production yarn build
|
RUN env NODE_ENV=production yarn build
|
||||||
|
|
||||||
# Fix napi-rs jank (part 2)
|
|
||||||
RUN --mount=type=cache,target=/iceshrimp/.napi_buildcache cp -Tr /iceshrimp/packages/backend/native-utils/built /iceshrimp/.napi_buildcache
|
|
||||||
|
|
||||||
# Prepare yarn cache (production)
|
# Prepare yarn cache (production)
|
||||||
RUN --mount=type=cache,target=/iceshrimp/.yarncache_prod cp -Tr .yarncache_prod .yarn
|
RUN --mount=type=cache,target=/iceshrimp/.yarncache_prod cp -Tr .yarncache_prod .yarn
|
||||||
|
@ -77,7 +57,6 @@ COPY --from=build /iceshrimp/.yarn /iceshrimp/.yarn
|
||||||
COPY --from=build /iceshrimp/built /iceshrimp/built
|
COPY --from=build /iceshrimp/built /iceshrimp/built
|
||||||
COPY --from=build /iceshrimp/packages/backend/built /iceshrimp/packages/backend/built
|
COPY --from=build /iceshrimp/packages/backend/built /iceshrimp/packages/backend/built
|
||||||
COPY --from=build /iceshrimp/packages/backend/assets/instance.css /iceshrimp/packages/backend/assets/instance.css
|
COPY --from=build /iceshrimp/packages/backend/assets/instance.css /iceshrimp/packages/backend/assets/instance.css
|
||||||
COPY --from=build /iceshrimp/packages/backend/native-utils/built /iceshrimp/packages/backend/native-utils/built
|
|
||||||
|
|
||||||
RUN corepack enable && corepack prepare yarn@stable --activate
|
RUN corepack enable && corepack prepare yarn@stable --activate
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
|
|
|
@ -6,7 +6,6 @@ This document will guide you through manual installation of Iceshrimp on dev bra
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
- **Rust** 1.68+
|
|
||||||
- C/C++ compiler like **GCC** or **Clang**
|
- C/C++ compiler like **GCC** or **Clang**
|
||||||
- Build tools like **make**
|
- Build tools like **make**
|
||||||
- **Python 3**
|
- **Python 3**
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
This directory contains all of the packages Iceshrimp uses.
|
This directory contains all of the packages Iceshrimp uses.
|
||||||
|
|
||||||
- `backend`: Main backend code written in TypeScript for NodeJS
|
- `backend`: Main backend code written in TypeScript for NodeJS
|
||||||
- `backend/native-utils`: Backend code written in Rust, bound to NodeJS by [NAPI-RS](https://napi.rs/)
|
|
||||||
- `client`: Web interface written in Vue3 and TypeScript
|
- `client`: Web interface written in Vue3 and TypeScript
|
||||||
- `sw`: Web [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) written in TypeScript
|
- `sw`: Web [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) written in TypeScript
|
||||||
- `iceshrimp-js`: TypeScript SDK for both backend and client, also published on [NPM](https://www.npmjs.com/package/iceshrimp-js) for public use
|
- `iceshrimp-js`: TypeScript SDK for both backend and client, also published on [NPM](https://www.npmjs.com/package/iceshrimp-js) for public use
|
||||||
|
|
Loading…
Reference in a new issue