ci: switch from Gitlab CI to Woodpecker, Taskfile fixes
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
parent
70463fe797
commit
8828dc6762
139
.gitlab-ci.yml
139
.gitlab-ci.yml
|
@ -1,139 +0,0 @@
|
||||||
variables:
|
|
||||||
RUST_IMAGE: "rust:latest"
|
|
||||||
NODE_IMAGE: "node:lts"
|
|
||||||
CARGO_HOME: $CI_PROJECT_DIR/cargo
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- lint
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- release
|
|
||||||
|
|
||||||
cache:
|
|
||||||
key: ${CI_COMMIT_REF_SLUG}
|
|
||||||
paths:
|
|
||||||
- target
|
|
||||||
- cargo
|
|
||||||
- webui/node_modules
|
|
||||||
|
|
||||||
lint:backend:
|
|
||||||
stage: lint
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
script:
|
|
||||||
- rustup component add clippy
|
|
||||||
- make backend_lint
|
|
||||||
rules:
|
|
||||||
- changes:
|
|
||||||
- migrations/**/*
|
|
||||||
- src/**/*
|
|
||||||
- Cargo.lock
|
|
||||||
- Makefile
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
lint:backend_no_default_features:
|
|
||||||
stage: lint
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
script:
|
|
||||||
- rustup component add clippy
|
|
||||||
- make backend_lint_no_default
|
|
||||||
rules:
|
|
||||||
- changes:
|
|
||||||
- migrations/**/*
|
|
||||||
- src/**/*
|
|
||||||
- Cargo.lock
|
|
||||||
- Makefile
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
lint:frontend:
|
|
||||||
stage: lint
|
|
||||||
image: $NODE_IMAGE
|
|
||||||
script:
|
|
||||||
- node --version && npm --version
|
|
||||||
- make frontend_lint
|
|
||||||
rules:
|
|
||||||
- allow_failure: true
|
|
||||||
|
|
||||||
lint:frontend_lib:
|
|
||||||
stage: lint
|
|
||||||
image: $NODE_IMAGE
|
|
||||||
script:
|
|
||||||
- node --version && npm --version
|
|
||||||
- make frontend_lib_lint
|
|
||||||
rules:
|
|
||||||
- allow_failure: true
|
|
||||||
|
|
||||||
build:backend:
|
|
||||||
stage: build
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
script:
|
|
||||||
- rustc --version && cargo --version
|
|
||||||
- make backend
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- target/release/upend
|
|
||||||
expire_in: 1 day
|
|
||||||
only:
|
|
||||||
changes:
|
|
||||||
- migrations/**/*
|
|
||||||
- src/**/*
|
|
||||||
- Cargo.lock
|
|
||||||
- Makefile
|
|
||||||
|
|
||||||
build:frontend:
|
|
||||||
stage: build
|
|
||||||
image: $NODE_IMAGE
|
|
||||||
script:
|
|
||||||
- node --version && npm --version
|
|
||||||
- make frontend
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- webui/dist
|
|
||||||
- tools/upend_js
|
|
||||||
expire_in: 1 day
|
|
||||||
only:
|
|
||||||
changes:
|
|
||||||
- webui/**/*
|
|
||||||
- Makefile
|
|
||||||
|
|
||||||
test:backend:
|
|
||||||
stage: test
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
script:
|
|
||||||
- make backend_test
|
|
||||||
only:
|
|
||||||
changes:
|
|
||||||
- migrations/**/*
|
|
||||||
- src/**/*
|
|
||||||
- Cargo.lock
|
|
||||||
- Makefile
|
|
||||||
|
|
||||||
test:backend_no_default_features:
|
|
||||||
stage: test
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
script:
|
|
||||||
- make backend_test_no_default
|
|
||||||
only:
|
|
||||||
changes:
|
|
||||||
- migrations/**/*
|
|
||||||
- src/**/*
|
|
||||||
- Cargo.lock
|
|
||||||
- Makefile
|
|
||||||
allow_failure: true # remove at v1.0
|
|
||||||
|
|
||||||
package:
|
|
||||||
stage: release
|
|
||||||
image: $RUST_IMAGE
|
|
||||||
before_script:
|
|
||||||
- cd /tmp
|
|
||||||
- wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
|
||||||
- chmod +x linuxdeploy-x86_64.AppImage
|
|
||||||
- ./linuxdeploy-x86_64.AppImage --appimage-extract
|
|
||||||
- ln -s $PWD/squashfs-root/AppRun /usr/local/bin/linuxdeploy-x86_64.AppImage
|
|
||||||
- cd -
|
|
||||||
script:
|
|
||||||
- make package
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- ./*.AppImage
|
|
||||||
only:
|
|
||||||
- tags
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
pipeline:
|
||||||
|
prepare:task:
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- mkdir .ci_tmp
|
||||||
|
- sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b .ci_tmp
|
||||||
|
|
||||||
|
build:backend:
|
||||||
|
group: build
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- rustc --version && cargo --version
|
||||||
|
- ./.ci_tmp/task build:backend
|
||||||
|
# volumes:
|
||||||
|
# - rust_registry:/usr/local/cargo
|
||||||
|
when:
|
||||||
|
path:
|
||||||
|
- migrations/**/*
|
||||||
|
- src/**/*
|
||||||
|
- Cargo.lock
|
||||||
|
- Taskfile.yml
|
||||||
|
|
||||||
|
build:frontend:
|
||||||
|
group: build
|
||||||
|
image: node:lts
|
||||||
|
commands:
|
||||||
|
- node --version && npm --version
|
||||||
|
- ./.ci_tmp/task build:frontend
|
||||||
|
when:
|
||||||
|
path:
|
||||||
|
- webui/**/*
|
||||||
|
- Taskfile.yml
|
||||||
|
|
||||||
|
lint:backend:
|
||||||
|
group: lint
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- rustup component add clippy
|
||||||
|
- ./.ci_tmp/task lint:backend
|
||||||
|
- git status -vvv
|
||||||
|
# volumes:
|
||||||
|
# - rust_registry:/usr/local/cargo
|
||||||
|
when:
|
||||||
|
path:
|
||||||
|
- migrations/**/*
|
||||||
|
- src/**/*
|
||||||
|
- Cargo.lock
|
||||||
|
- Taskfile.yml
|
||||||
|
|
||||||
|
lint:frontend:
|
||||||
|
group: lint
|
||||||
|
image: node:lts
|
||||||
|
commands:
|
||||||
|
- node --version && npm --version
|
||||||
|
- ./.ci_tmp/task lint:frontend
|
||||||
|
|
||||||
|
lint:jslib:
|
||||||
|
group: lint
|
||||||
|
image: node:lts
|
||||||
|
commands:
|
||||||
|
- node --version && npm --version
|
||||||
|
- ./.ci_tmp/task lint:jslib
|
||||||
|
|
||||||
|
lint:webext:
|
||||||
|
group: lint
|
||||||
|
image: node:lts
|
||||||
|
commands:
|
||||||
|
- node --version && npm --version
|
||||||
|
- ./.ci_tmp/task lint:webext
|
||||||
|
|
||||||
|
test:backend:
|
||||||
|
group: test
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C /usr/local/cargo/bin
|
||||||
|
- ./.ci_tmp/task test:backend
|
||||||
|
# volumes:
|
||||||
|
# - rust_registry:/usr/local/cargo
|
||||||
|
when:
|
||||||
|
path:
|
||||||
|
- migrations/**/*
|
||||||
|
- src/**/*
|
||||||
|
- Cargo.lock
|
||||||
|
- Taskfile.yml
|
||||||
|
|
||||||
|
package:
|
||||||
|
group: release
|
||||||
|
image: rust:latest
|
||||||
|
commands:
|
||||||
|
- cd ./.ci_tmp/
|
||||||
|
- wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||||
|
- chmod +x linuxdeploy-x86_64.AppImage
|
||||||
|
- ./linuxdeploy-x86_64.AppImage --appimage-extract
|
||||||
|
- ln -s $PWD/squashfs-root/AppRun /usr/local/bin/linuxdeploy-x86_64.AppImage
|
||||||
|
- cd -
|
||||||
|
- git status -vvv
|
||||||
|
- ./.ci_tmp/task package
|
||||||
|
when:
|
||||||
|
event: [tag]
|
||||||
|
|
||||||
|
publish:
|
||||||
|
image: woodpeckerci/plugin-gitea-release
|
||||||
|
settings:
|
||||||
|
base_url: https://git.thm.place
|
||||||
|
files:
|
||||||
|
- "*.AppImage"
|
||||||
|
checksum: sha512
|
||||||
|
api_key:
|
||||||
|
from_secret: API_KEY
|
||||||
|
target: main
|
||||||
|
when:
|
||||||
|
event: [tag]
|
23
Taskfile.yml
23
Taskfile.yml
|
@ -11,20 +11,18 @@ tasks:
|
||||||
|
|
||||||
package:
|
package:
|
||||||
cmds:
|
cmds:
|
||||||
- task:clean
|
|
||||||
- task:default
|
|
||||||
- rm -fr dist
|
- rm -fr dist
|
||||||
- linuxdeploy-x86_64.AppImage --appdir dist
|
- linuxdeploy-x86_64.AppImage --appdir dist
|
||||||
- cp target/release/upend dist/usr/bin/upend
|
- cp target/release/upend-cli dist/usr/bin/upend
|
||||||
- cp -r webui/dist dist/usr/bin/webui
|
- cp -r webui/dist dist/usr/bin/webui
|
||||||
- cp assets/upend.png dist/usr/share/icons/upend.png
|
- cp assets/upend.png dist/usr/share/icons/upend.png
|
||||||
- linuxdeploy-x86_64.AppImage --appdir dist -d upend.desktop --output appimage
|
- linuxdeploy-x86_64.AppImage --appdir dist -d upend.desktop --output appimage
|
||||||
vars:
|
vars:
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: grep '^version' Cargo.toml|grep -Eo '[0-9]+\.[0-9]+\.[0-9]+')
|
sh: grep '^version' Cargo.toml|grep -Eo '[0-9]+\.[0-9]+\.[0-9]+'
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
deps: [lint:frontend, lint:backend, lint:webext]
|
deps: [lint:frontend, lint:backend, lint:jslib, lint:webext]
|
||||||
|
|
||||||
lint:frontend:
|
lint:frontend:
|
||||||
dir: webui
|
dir: webui
|
||||||
|
@ -37,9 +35,21 @@ tasks:
|
||||||
- yarn lint
|
- yarn lint
|
||||||
|
|
||||||
lint:backend:
|
lint:backend:
|
||||||
|
sources:
|
||||||
|
- ./**/Cargo.toml
|
||||||
|
- ./**/*.rs
|
||||||
cmds:
|
cmds:
|
||||||
- cargo clippy --workspace
|
- cargo clippy --workspace
|
||||||
|
|
||||||
|
lint:jslib:
|
||||||
|
deps: [build:jslib]
|
||||||
|
dir: tools/upend_js
|
||||||
|
sources:
|
||||||
|
- ./*.ts
|
||||||
|
- ./package.lock
|
||||||
|
cmds:
|
||||||
|
- yarn lint
|
||||||
|
|
||||||
lint:webext:
|
lint:webext:
|
||||||
dir: webext
|
dir: webext
|
||||||
deps: [setup:webext]
|
deps: [setup:webext]
|
||||||
|
@ -53,6 +63,9 @@ tasks:
|
||||||
deps: [test:backend]
|
deps: [test:backend]
|
||||||
|
|
||||||
test:backend:
|
test:backend:
|
||||||
|
sources:
|
||||||
|
- ./**/Cargo.toml
|
||||||
|
- ./**/*.rs
|
||||||
cmds:
|
cmds:
|
||||||
- cargo nextest run --workspace
|
- cargo nextest run --workspace
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue