summaryrefslogtreecommitdiff
path: root/.cirrus.yml
blob: 460260b6c16e248586f00d4b6491ff62f9fd1d15 (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
env:
  CIRRUS_CLONE_DEPTH: 50
  ELIXIR_ASSERT_TIMEOUT: 2000
  ELIXIRC_OPTS: "--warnings-as-errors"
  ERLC_OPTS: "warnings_as_errors"
  LANG: C.UTF-8

test_template: &DEFAULT_TEST_SETTINGS
  # don't cancel the task execution if it's master or a release branch
  auto_cancellation: $CIRRUS_BRANCH != 'master' && $CIRRUS_BRANCH !=~ 'v\d+\.\d+.*'

test_freebsd_task:
  <<: *DEFAULT_TEST_SETTINGS

  name: FreeBSD 13.0
  alias: FreeBSD Stable

  freebsd_instance:
    image_family: freebsd-13-0
    cpu: 8
    memory: 7424Mi

  env:
    CHECK_REPRODUCIBLE: true
    LC_ALL: en_US.UTF-8
    PATH: $PATH:/usr/local/lib/erlang22/bin

  install_script:
    - pkg install -y erlang-runtime22 git gmake
    - rm -rf .git
    - gmake compile

  build_info_script: bin/elixir --version

  test_formatted_script:
    - gmake test_formatted &&
      echo "All Elixir source code files are properly formatted."

  dialyzer_script: dialyzer -pa lib/elixir/ebin --build_plt --output_plt elixir.plt --apps lib/elixir/ebin/elixir.beam lib/elixir/ebin/Elixir.Kernel.beam

  test_erlang_script: gmake test_erlang

  test_elixir_script: gmake test_elixir

  check_reproducible_script: |
    if [ -n "$CHECK_REPRODUCIBLE" ]; then
      gmake check_reproducible
    else
      echo "The reproducibility of the build is only checked in the last stable Erlang/OTP version."
    fi