pipeline: build-frontend: image: node:latest environment: - VERSION=${CI_COMMIT_TAG} commands: - npm install --prefix ui/talon-client - npm install --prefix ui/menu - npm run ci --prefix ui/menu - npm run build --prefix ui/menu test-server: image: rust:latest environment: - CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse commands: - rustup component add rustfmt clippy - cargo fmt --all --check - cargo clippy --all --all-features -- -D warnings - cargo test --workspace build-amd64: group: build image: messense/rust-musl-cross:x86_64-musl environment: - CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse commands: - cargo build --release when: event: tag tag: v* build-aarch64: group: build image: messense/rust-musl-cross:aarch64-musl environment: - CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse commands: - cargo build --release when: event: tag tag: v* generate-changelog: group: build image: rust:latest commands: - git show -s --format=%N "${CI_COMMIT_TAG}" | tail -n +4 > target/CHANGES.md - cat target/CHANGES.md when: event: tag tag: v* compress-release: image: debian:latest commands: - mkdir target/upload - gzip -c target/x86_64-unknown-linux-musl/release/talon > target/upload/talon-amd64.gz - gzip -c target/aarch64-unknown-linux-musl/release/talon > target/upload/talon-aarch64.gz when: event: tag tag: v* publish-release: group: publish image: woodpeckerci/plugin-gitea-release:latest settings: base_url: https://code.thetadev.de api_key: from_secret: GITEA_KEY title: "Talon ${CI_COMMIT_TAG}" note: "./target/CHANGES.md" files: - "target/upload/talon-amd64.gz" - "target/upload/talon-aarch64.gz" when: event: tag tag: v* publish-docker: group: publish image: noenv/buildah:latest environment: - IMAGE=thetadev256/talon - TAG=${CI_COMMIT_TAG} - LATEST=1 secrets: - docker_username - docker_password commands: - ./scripts/build_container.sh when: event: tag tag: v*