Fixed CI
This commit is contained in:
parent
2e8877837a
commit
b199870d7e
58
.gitlab-ci.yml
Normal file
58
.gitlab-ci.yml
Normal file
@ -0,0 +1,58 @@
|
||||
image: ubuntu:latest
|
||||
|
||||
stages:
|
||||
- build
|
||||
- package
|
||||
|
||||
build_backend:
|
||||
stage: build
|
||||
script:
|
||||
- apt-get update
|
||||
- apt-get install g++ gcc make cmake git curl zip unzip tar python3 pkg-config -y
|
||||
- SRC="$PWD"
|
||||
- TMP=$(mktemp -d)
|
||||
- cd $TMP
|
||||
- git clone https://github.com/Microsoft/vcpkg.git .
|
||||
- ./bootstrap-vcpkg.sh -disableMetrics
|
||||
- cd $SRC
|
||||
- cmake -B build -S backend -DCMAKE_TOOLCHAIN_FILE=$TMP/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release
|
||||
- cmake --build build
|
||||
- cp build/backend server
|
||||
artifacts:
|
||||
paths:
|
||||
- backend
|
||||
expire_in: 1h
|
||||
|
||||
test_and_build_frontend:
|
||||
image: node:latest
|
||||
stage: build
|
||||
cache:
|
||||
paths:
|
||||
- frontend/.yarn
|
||||
- frontend/node_modules
|
||||
script:
|
||||
- cd frontend
|
||||
- yarn install --cache-folder .yarn --frozen-lockfile
|
||||
- yarn lint
|
||||
- yarn build
|
||||
artifacts:
|
||||
paths:
|
||||
- frontend/dist/
|
||||
expire_in: 1h
|
||||
|
||||
package_server:
|
||||
stage: package
|
||||
cache: []
|
||||
before_script: []
|
||||
needs:
|
||||
- job: build_backend
|
||||
artifacts: true
|
||||
- job: test_and_build_frontend
|
||||
artifacts: true
|
||||
script:
|
||||
- mkdir static
|
||||
- mv frontend/dist/* static/
|
||||
artifacts:
|
||||
paths:
|
||||
- server
|
||||
- static/
|
@ -24,19 +24,17 @@ add_executable(backend
|
||||
src/controllers/admin.cpp
|
||||
src/controllers/fs.cpp
|
||||
src/controllers/user.cpp
|
||||
|
||||
src/controllers/auth/auth_common.cpp
|
||||
src/controllers/auth/auth_basic.cpp
|
||||
src/controllers/auth/auth_2fa.cpp
|
||||
src/controllers/auth/auth_gitlab.cpp
|
||||
|
||||
src/filters/filters.h
|
||||
src/filters/filters.cpp
|
||||
src/controllers/auth/auth_gitlab.cpp)
|
||||
)
|
||||
|
||||
|
||||
if (MINGW)
|
||||
target_link_libraries(backend -static-libgcc -static-libstdc++)
|
||||
endif (MINGW)
|
||||
|
||||
|
||||
find_package(Drogon CONFIG REQUIRED)
|
||||
find_package(CURL CONFIG REQUIRED)
|
||||
@ -64,6 +62,8 @@ target_link_libraries(backend
|
||||
${QR_LIBRARY}
|
||||
)
|
||||
|
||||
install(TARGETS backend)
|
||||
|
||||
target_compile_options(backend PRIVATE
|
||||
$<$<CONFIG:Debug>:-g -Wall -Wno-unknown-pragmas>
|
||||
$<$<CONFIG:Release>:-O3>
|
||||
|
@ -1,114 +0,0 @@
|
||||
image: node:latest
|
||||
|
||||
stages:
|
||||
- setup
|
||||
- test
|
||||
- build
|
||||
- package
|
||||
|
||||
cache: &global_cache
|
||||
paths:
|
||||
- .yarn
|
||||
- node_modules
|
||||
- frontend/.yarn
|
||||
- frontend/node_modules
|
||||
policy: pull
|
||||
|
||||
before_script:
|
||||
- yarn install --cache-folder .yarn --frozen-lockfile
|
||||
- cd frontend
|
||||
- yarn install --cache-folder .yarn --frozen-lockfile
|
||||
- cd ..
|
||||
|
||||
.dto_artifacts_need: &dto_artifacts_need
|
||||
job: test_build_dto
|
||||
artifacts: true
|
||||
|
||||
test_build_dto:
|
||||
stage: setup
|
||||
cache:
|
||||
<<: *global_cache
|
||||
policy: pull-push
|
||||
before_script: []
|
||||
script:
|
||||
- cd dto
|
||||
- yarn install --frozen-lockfile
|
||||
- yarn lint
|
||||
- yarn build
|
||||
- cd ..
|
||||
- yarn install --cache-folder .yarn --frozen-lockfile
|
||||
- yarn add ./dto
|
||||
- cd frontend
|
||||
- yarn install --cache-folder .yarn --frozen-lockfile
|
||||
- yarn add ../dto
|
||||
artifacts:
|
||||
paths:
|
||||
- dto/lib/
|
||||
|
||||
|
||||
test_backend:
|
||||
needs:
|
||||
- *dto_artifacts_need
|
||||
stage: test
|
||||
script:
|
||||
- yarn lint
|
||||
|
||||
test_frontend:
|
||||
needs:
|
||||
- *dto_artifacts_need
|
||||
stage: test
|
||||
script:
|
||||
- cd frontend
|
||||
- yarn lint
|
||||
|
||||
build_backend:
|
||||
stage: build
|
||||
needs:
|
||||
- *dto_artifacts_need
|
||||
- job: test_backend
|
||||
artifacts: false
|
||||
script:
|
||||
- echo This has to work till I rewrite the backend
|
||||
- false && echo
|
||||
- yarn webpack
|
||||
artifacts:
|
||||
paths:
|
||||
- dist/
|
||||
expire_in: 1h
|
||||
|
||||
build_frontend:
|
||||
stage: build
|
||||
needs:
|
||||
- *dto_artifacts_need
|
||||
- job: test_frontend
|
||||
artifacts: false
|
||||
script:
|
||||
- cd frontend
|
||||
- yarn build
|
||||
artifacts:
|
||||
paths:
|
||||
- frontend/dist/
|
||||
expire_in: 1h
|
||||
|
||||
package_server:
|
||||
stage: package
|
||||
cache: []
|
||||
before_script: []
|
||||
needs:
|
||||
- job: build_backend
|
||||
artifacts: true
|
||||
- job: build_frontend
|
||||
artifacts: true
|
||||
script:
|
||||
- TMP=$(mktemp -d)
|
||||
- mv dist/* "$TMP"
|
||||
- mkdir "$TMP/frontend"
|
||||
- mv frontend/dist/* "$TMP/frontend"
|
||||
- rm -r *
|
||||
- rm -r .* || true
|
||||
- mv "$TMP/"* .
|
||||
artifacts:
|
||||
paths:
|
||||
- package.json
|
||||
- server.js
|
||||
- frontend/
|
Loading…
Reference in New Issue
Block a user