ci: nightly builds
ci/woodpecker/push/woodpecker Pipeline failed Details

Squashed commit of the following:

commit cf9766b3b7a885a508d8941f40a745cd230e1c65
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 20:35:31 2023 +0200

    ci: upload to nightly

commit e5b5c9d95f850f736fce0b537685618ddf9eb772
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 20:35:02 2023 +0200

    ci: verbose

commit 566bbe0627
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 20:09:55 2023 +0200

    ci: fix glob quoting (?)

commit e52824ce1c
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 19:39:05 2023 +0200

    fix: quoted variables in publish step

commit 0cb9651aba
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 16:36:48 2023 +0200

    wip: secrets sanity check

commit cc4cb206ef
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 16:08:17 2023 +0200

    wip, ci: remove quoting from publish commands?

commit 2e0d7f3275
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 15:25:15 2023 +0200

    ci, fix: use upend-* images

commit 65fc232cdf
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 14:41:53 2023 +0200

    ci: libssl-dev not needed

commit 8d0387175a
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 14:41:47 2023 +0200

    ci: pull before building dockers

commit 3a70483188
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 14:41:28 2023 +0200

    ci: use `rust:bookworm`

commit 5a4187b04b
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 13:49:53 2023 +0200

    fix, ci: forgotten git in upend-deploy

commit fec2bbd97f
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 13:26:23 2023 +0200

    fix, ci: woodpecker env var substitution

commit 2b3ad2eb74
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 13:08:51 2023 +0200

    ci, fix: single CARGO_HOME

commit c94e239a06
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 12:08:52 2023 +0200

    ci: per-build caching

commit b751b63c42
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 11:56:20 2023 +0200

    ci, fix: add missing dependencies

commit 8d3c10a5d8
Author: Tomáš Mládek <t@mldk.cz>
Date:   Sat Aug 12 09:20:02 2023 +0200

    ci, fix: add git to deploy image

commit 45fa7a5fe7
Author: Tomáš Mládek <t@mldk.cz>
Date:   Fri Aug 11 23:46:37 2023 +0200

    ci: move deploy docker to debian

commit e862dd17f6
Author: Tomáš Mládek <t@mldk.cz>
Date:   Fri Aug 11 19:04:43 2023 +0200

    ci: fix package stage

commit f5b87d31c0
Author: Tomáš Mládek <t@mldk.cz>
Date:   Fri Aug 11 18:31:08 2023 +0200

    ci: build & deploy nightlies
feat/type-attributes
Tomáš Mládek 2023-08-12 20:36:32 +02:00
parent b9325fba20
commit 1067c29c42
7 changed files with 96 additions and 47 deletions

5
.gitignore vendored
View File

@ -1,4 +1,6 @@
/dist
/*.AppImage
/*.asc
/target
**/*.rs.bk
@ -6,3 +8,6 @@
upend.sqlite3
.upend
.task
/.pnpm
/.cargo

View File

@ -1,51 +1,57 @@
pipeline:
build:wasmlib:
image: albedo.lan:5000/rust-upend:latest
prepare:cache:frontend:
group: init
image: albedo.lan:5000/upend-node:latest
pull: true
commands:
- pnpm config set store-dir $PWD/.pnpm
prepare:cache:backend:
group: init
image: albedo.lan:5000/upend-rust:latest
pull: true
environment:
CARGO_HOME: ${CI_WORKSPACE}/.cargo
commands:
- cp -r /usr/local/cargo $CARGO_HOME
prepare:build:wasmlib:
image: albedo.lan:5000/upend-rust:latest
pull: true
environment:
CARGO_HOME: ${CI_WORKSPACE}/.cargo
commands:
- rustc --version && cargo --version
- task build:wasmlib
# volumes:
# - rust_registry:/usr/local/cargo
when:
path:
- webui/**/*
- /**/*.rs
- /**/Cargo.lock
- Taskfile.yml
build:backend:
group: build
image: albedo.lan:5000/rust-upend:latest
image: albedo.lan:5000/upend-rust:latest
pull: true
environment:
CARGO_HOME: ${CI_WORKSPACE}/.cargo
commands:
- rustc --version && cargo --version
- task build:backend
# volumes:
# - rust_registry:/usr/local/cargo
when:
path:
- migrations/**/*
- /**/*.rs
- /**/Cargo.lock
- Taskfile.yml
build:frontend:
group: build
image: albedo.lan:5000/node-upend:latest
image: albedo.lan:5000/upend-node:latest
pull: true
commands:
- node --version && npm --version
- task build:frontend
when:
path:
- webui/**/*
- Taskfile.yml
lint:backend:
group: lint
image: albedo.lan:5000/rust-upend:latest
image: albedo.lan:5000/upend-rust:latest
pull: true
environment:
CARGO_HOME: ${CI_WORKSPACE}/.cargo
commands:
- rustup component add clippy
- task lint:backend
@ -61,7 +67,7 @@ pipeline:
lint:frontend:
group: lint
image: albedo.lan:5000/node-upend:latest
image: albedo.lan:5000/upend-node:latest
pull: true
commands:
- node --version && npm --version
@ -73,7 +79,7 @@ pipeline:
lint:jslib:
group: lint
image: albedo.lan:5000/node-upend:latest
image: albedo.lan:5000/upend-node:latest
pull: true
commands:
- node --version && npm --version
@ -85,7 +91,7 @@ pipeline:
lint:webext:
group: lint
image: albedo.lan:5000/node-upend:latest
image: albedo.lan:5000/upend-node:latest
pull: true
commands:
- node --version && npm --version
@ -97,33 +103,35 @@ pipeline:
test:backend:
group: test
image: albedo.lan:5000/rust-upend:latest
image: albedo.lan:5000/upend-rust:latest
pull: true
environment:
CARGO_HOME: ${CI_WORKSPACE}/.cargo
commands:
- task test:backend
# volumes:
# - rust_registry:/usr/local/cargo
when:
path:
- migrations/**/*
- /**/*.rs
- /**/Cargo.lock
- Taskfile.yml
package:
image: albedo.lan:5000/rust-upend:latest
image: albedo.lan:5000/upend-deploy:latest
pull: true
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
- task package
when:
event: [tag]
publish-nightly:
image: albedo.lan:5000/upend-deploy:latest
pull: true
commands:
- echo "$GPG_SIGN_KEY" | gpg --import
- mkdir -p $HOME/.ssh
- echo "$SSH_CONFIG" > $HOME/.ssh/config
- echo "$SSH_UPLOAD_KEY" > $HOME/.ssh/id_rsa
- echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts
- chmod 600 $HOME/.ssh/*
- gpg --clear-sign *.AppImage
- scp -v *.AppImage *.asc mainsite:releases/nightly
secrets: [gpg_sign_key, ssh_config, ssh_upload_key, ssh_known_hosts]
publish:
image: woodpeckerci/plugin-gitea-release
@ -131,6 +139,7 @@ pipeline:
base_url: https://git.thm.place
files:
- "*.AppImage"
- "*.asc"
- webext/web-ext-artifacts/*.zip
checksum: sha512
api_key:

View File

@ -13,13 +13,13 @@ tasks:
cmds:
- rm -fr dist
- linuxdeploy-x86_64.AppImage --appdir dist
- cp target/release/upend-cli dist/usr/bin/upend
- cp -v target/release/upend-cli dist/usr/bin/upend
- cp -r webui/dist dist/usr/bin/webui
- cp assets/upend.png dist/usr/share/icons/upend.png
- linuxdeploy-x86_64.AppImage --appdir dist -d upend.desktop --output appimage
vars:
VERSION:
sh: grep '^version' Cargo.toml|grep -Eo '[0-9]+\.[0-9]+\.[0-9]+'
- linuxdeploy-x86_64.AppImage --appdir dist -d build/upend.desktop --output appimage
env:
LINUXDEPLOY_OUTPUT_VERSION:
sh: ./build/get_version.sh
lint:
deps: [lint:frontend, lint:backend, lint:jslib, lint:webext]
@ -144,6 +144,24 @@ tasks:
cmds:
- pnpm install --frozen-lockfile
build:docker:
deps: [build:docker:node, build:docker:rust, build:docker:deploy]
build:docker:node:
dir: build/upend-node
cmds:
- docker build --pull -t upend-node -t localhost:5000/upend-node .
build:docker:rust:
dir: build/upend-rust
cmds:
- docker build --pull -t upend-rust -t localhost:5000/upend-rust .
build:docker:deploy:
dir: build/upend-deploy
cmds:
- docker build --pull -t upend-deploy -t localhost:5000/upend-deploy .
dev:update_tool_deps:
cmds:
- task: build:jslib

9
build/get_version.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
git_tag=$(git describe --tags --exact-match HEAD 2>/dev/null)
if [ -z "$git_tag" ]; then
echo "dev_$(git rev-parse --short HEAD)"
else
echo "$git_tag" | sed -e 's/^v//g'
fi

View File

@ -0,0 +1,9 @@
FROM debian
RUN apt-get update && apt-get -y install wget curl file git gnupg openssh-client && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
RUN 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

View File

@ -1,4 +1,4 @@
FROM rust:latest
FROM rust:bookworm
RUN sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
RUN cargo install wasm-pack && rustup target add wasm32-unknown-unknown
RUN curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C /usr/local/cargo/bin

View File

@ -1,5 +1,4 @@
[Desktop Entry]
Version=1.0
Type=Application
Categories=Utility
Terminal=false