aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 5dafff8a2ad53fe702e429a5cb374d5b998afa9d (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
stages:
  - build
  - paks

# variables:
  # TARBALL: $TARBALL
  # ARCH: $ARCH
  # FLATPAK: $FLATPAK
  # APPIMAGE: $FLATPAK
  # pkgver: $PKGVER
  # pkgrel: $PKGREL
  # AARCH64: $AARCH64
  # X86_64: $X86_64
  # download tarball if none available as artifact,
  # ie. not built in the same pipeline run
  # TARBALL_URL: $TARBALL_URL
  # $RELEASE, to trigger deploy, maybe?

.carch_aarch64: &carch_aarch64
  variables:
    CARCH: 'aarch64'

.carch_x86_64: &carch_x86_64
  variables:
    CARCH: 'x86_64'

.tarball_build_config: &tarball_build_config
  stage: build
  script:
    - ./binary_tarball/build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2"
  artifacts:
    name: "Librewolf-${CI_COMMIT_TAG}-${CARCH}"
    paths:
      - "LibreWolf.${CARCH}.tar.bz2"

.arch_build_config: &arch_build_config
  stage: build
  script:
    - ./arch/01_build.sh
  artifacts:
    name: "Librewolf-Arch-${CI_COMMIT_TAG}-${CARCH}"
    paths:
      - "librewolf*pkg.tar*"

.flatpak_config: &flatpak_config
  stage: paks
  artifacts:
    name: "Librewolf-${CI_COMMIT_TAG}-Flatpak-${CARCH}"
    paths:
      - "LibreWolf.${CARCH}.flatpak"
      - "${CI_PROJECT_DIR}/librewolf-${CARCH}-flatpak-repo"
  script:
    - ./flatpak/build_flatpak.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/librewolf-${CARCH}-flatpak-repo" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.flatpak"

.appimage_config: &appimage_config
  stage: paks
  artifacts:
    name: "Librewolf-${CI_COMMIT_TAG}-AppImage-${CARCH}"
    paths:
      - "LibreWolf.${CARCH}.AppImage"
  script:
    - ./appimage/build_appimage.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.AppImage"

arch_x86_64:
  image: archlinux/base
  tags: [x86_64b]
  <<: *carch_x86_64
  <<: *arch_build_config
  only:
    variables:
      - $ARCH && $X86_64

arch_aarch64:
  image: registry.gitlab.com/ohfp/manjaro-arm-docker
  tags: [aarch64b]
  <<: *carch_aarch64
  <<: *arch_build_config
  only:
    variables:
      - $ARCH && $AARCH64

tarball_x86_64:
  image: ubuntu:16.04
  tags: [x86_64b]
  <<: *carch_x86_64
  <<: *tarball_build_config
  only:
    variables:
      - $TARBALL && $X86_64

tarball_aarch64:
  image: arm64v8/ubuntu:16.04
  tags: [aarch64b]
  <<: *carch_aarch64
  <<: *tarball_build_config
  only:
    variables:
      - $TARBALL && $AARCH64

flatpak_x86_64:
  image: ubuntu:16.04
  tags: [flat_runner]
  <<: *carch_x86_64
  <<: *flatpak_config
  only:
    variables:
      - $FLATPAK && $X86_64

flatpak_aarch64:
  image: arm64v8/ubuntu:16.04
  tags: [flat_runner_aarch64]
  <<: *carch_aarch64
  <<: *flatpak_config
  only:
    variables:
      - $FLATPAK && $AARCH64

appimage_x86_64:
  image: ubuntu:16.04
  tags: [x86_64b]
  <<: *carch_x86_64
  <<: *appimage_config
  only:
    variables:
      - $APPIMAGE && $X86_64

appimage_aarch64:
  image: arm64v8/ubuntu:16.04
  tags:
    - aarch64b
    - arm64  # can also be run on any other less powerful aarch64 runner
  <<: *carch_aarch64
  <<: *appimage_config
  only:
    variables:
      - $APPIMAGE && $AARCH64
bgstack15