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/admin.cpp
|
||||||
src/controllers/fs.cpp
|
src/controllers/fs.cpp
|
||||||
src/controllers/user.cpp
|
src/controllers/user.cpp
|
||||||
|
|
||||||
src/controllers/auth/auth_common.cpp
|
src/controllers/auth/auth_common.cpp
|
||||||
src/controllers/auth/auth_basic.cpp
|
src/controllers/auth/auth_basic.cpp
|
||||||
src/controllers/auth/auth_2fa.cpp
|
src/controllers/auth/auth_2fa.cpp
|
||||||
|
src/controllers/auth/auth_gitlab.cpp
|
||||||
|
|
||||||
src/filters/filters.h
|
src/filters/filters.h
|
||||||
src/filters/filters.cpp
|
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(Drogon CONFIG REQUIRED)
|
||||||
find_package(CURL CONFIG REQUIRED)
|
find_package(CURL CONFIG REQUIRED)
|
||||||
@ -64,6 +62,8 @@ target_link_libraries(backend
|
|||||||
${QR_LIBRARY}
|
${QR_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
install(TARGETS backend)
|
||||||
|
|
||||||
target_compile_options(backend PRIVATE
|
target_compile_options(backend PRIVATE
|
||||||
$<$<CONFIG:Debug>:-g -Wall -Wno-unknown-pragmas>
|
$<$<CONFIG:Debug>:-g -Wall -Wno-unknown-pragmas>
|
||||||
$<$<CONFIG:Release>:-O3>
|
$<$<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