aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: bcb0eff8bd915a1760ead2c9e8f47d12ed73da67 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
stages:
  - Package
  - Build
  - Test
  - Release

Tarball:
  stage: Package
  image: alpine:latest
  before_script:
    - apk add --no-cache coreutils git make perl
  script:
    - git submodule sync
    - git submodule update --init --recursive
    - bin/mkrelease.sh "$CI_COMMIT_REF_NAME"
    - bin/mkchecksum.sh "work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz"
  artifacts:
    paths:
      - work/release

Rakudo Star:
  stage: Build
  image: alpine:latest
  before_script:
    - apk add --no-cache coreutils bash build-base git linenoise-dev perl
    - bin/mkchecksum.sh "work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz"
    - mkdir -p "$CI_PROJECT_DIR/work/build"
    - cd -- "$CI_PROJECT_DIR/work/build"
    - tar xzf "$CI_PROJECT_DIR/work/release/rakudo-star-$CI_COMMIT_REF_NAME.tar.gz"
  script:
    - cd -- "rakudo-star-$CI_COMMIT_REF_NAME"
    - perl Configure.pl --prefix="$CI_PROJECT_DIR/work/install" --backend=moar --gen-moar --make-install
  artifacts:
    paths:
      - work/build
      - work/install

Rakudo Test:
  stage: Test
  image: alpine:latest
  before_script:
    - apk add --no-cache build-base perl
    - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME"
  script:
    - make rakudo-test

Rakudo Spectest:
  stage: Test
  image: alpine:latest
  allow_failure: true
  before_script:
    - apk add --no-cache build-base git perl
    - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME"
  script:
    - make rakudo-spectest

Debug Test:
  stage: Test
  image: alpine:latest
  before_script:
    - apk add --no-cache build-base git perl
    - export PATH="$CI_PROJECT_DIR/work/install/bin:$CI_PROJECT_DIR/work/install/share/perl6/site/bin:$PATH"
  script:
    - sh "$CI_PROJECT_DIR/dev-bin/ci-debug.sh"

Community Modules:
  stage: Test
  image: alpine:latest
  before_script:
    - apk add --no-cache build-base perl
    - cd -- "work/build/rakudo-star-$CI_COMMIT_REF_NAME"
  script:
    - make modules-test

Docker:
  stage: Release
  image: docker:stable
  services:
    - docker:dind
  before_script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
  script:
    - docker build --build-arg "VERSION=$CI_COMMIT_REF_NAME" -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" .
    - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME"