Pushes to main run the tests. The Deploy button publishes the Windows, RPM, deb and F-Droid packages to the same NAS directories a dev machine uses, with the same keys, then runs update-repo.sh, so public URLs don't change. Builds run on Debian 12, in an image defined in ci/builder, so the Linux packages now need glibc 2.36 instead of Fedora 44's 2.43.
43 lines
984 B
YAML
43 lines
984 B
YAML
# Test every push to main. Its pipeline is also the one to click "Deploy" on;
|
|
# see release.yaml.
|
|
|
|
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
steps:
|
|
- name: prepare
|
|
image: alpine:3.22
|
|
volumes:
|
|
- mtgc-ci-cache:/cache
|
|
commands:
|
|
- chown -R 1000:1000 /woodpecker
|
|
- chown 1000:1000 /cache
|
|
|
|
- name: test
|
|
image: registry.apps.millslan.net/garrettmills/mtgc-builder:latest
|
|
pull: true
|
|
volumes:
|
|
- mtgc-ci-cache:/cache
|
|
environment:
|
|
HOME: /cache/home
|
|
CARGO_HOME: /cache/cargo
|
|
CARGO_TARGET_DIR: /cache/target-test
|
|
CARGO_BUILD_JOBS: "4"
|
|
backend_options:
|
|
kubernetes:
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsGroup: 1000
|
|
resources:
|
|
requests:
|
|
cpu: "4"
|
|
memory: 6Gi
|
|
limits:
|
|
memory: 12Gi
|
|
commands:
|
|
- mkdir -p "$HOME"
|
|
- npm ci
|
|
- npm run build
|
|
- cargo test --locked -p mtgc-core -p mtgc -p mtgc-server
|