summaryrefslogtreecommitdiff
path: root/.build.yml
blob: 615d38538e9b397eeee77836a9055592aad70621 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
image: ubuntu/noble
packages:
  - rustup
  - pkg-config
  - libxkbcommon-dev
  - libssl-dev
  - clang
  - mold
environment:
  MSRV: 1.88.0
  RUSTFLAGS: -C linker=clang -C link-arg=-fuse-ld=mold
triggers:
  - action: email
    condition: failure
    to: "<~pml68/iced-crates@lists.sr.ht>"
artifacts:
  - iced-builder-x86_64-unknown-linux-gnu
tasks:
  - rust-setup: |
      rustup toolchain install stable --profile default -c clippy
      rustup toolchain install nightly --profile default
      rustup toolchain install $MSRV --profile default
      rustup default stable
  - lint: |
      cd iced-builder
      cargo lint
  - test: |
      cd iced-builder
      cargo test --verbose --workspace
  - environment: |
      cd iced-builder
      if [ "$BUILD_SUBMITTER" = "git.sr.ht" ]
      then
        [ "$GIT_REF" = "refs/heads/master" ] || complete-build
        [ "$(git remote get-url origin)" = "https://git.sr.ht/~pml68/iced-builder" ] || complete-build
      fi
      [ "$BUILD_REASON" = "patchset" ] && complete-build
  - build-stable: |
      cd iced-builder

      export RUSTUP_TOOLCHAIN=stable
      cargo build --verbose --profile release-opt

      cp target/release-opt/iced-builder ../iced-builder-x86_64-unknown-linux-gnu
  - build-msrv: |
      cd iced-builder

      export RUSTUP_TOOLCHAIN=$MSRV
      cargo build --verbose --profile release-opt
  - build-nightly: |
      cd iced-builder

      export RUSTUP_TOOLCHAIN=nightly
      cargo build --verbose --profile release-opt