summarylogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: 602e062350bc2b6082b24f6ba856f030b7683f47 (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
image: "registry.devseed.de/all-the-things/docker-archlinux"

stages:
  - build
  - check
  - release
  - publish


before_script:
  - git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"
  - git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"


makepkg:
  tags:
    - archlinux
  stage: build
  script:
    # update package hash for integrity check
    - updpkgsums
    # Test building a source package
    - sudo -u builder makepkg -C -S --log --noconfirm
    # Test building and installing the package
    - sudo -u builder makepkg -C -i --log --noconfirm
    # generate SRCINFO
    - sudo -u builder makepkg --printsrcinfo > .SRCINFO
  cache:
    key: makepkg
    paths:
      - PKGBUILD
      - .SRCINFO

namcap:
  tags:
    - archlinux
  stage: check
  script:
    - namcap -i PKGBUILD
  rules:
    - if: '$CI_PIPELINE_SOURCE != "merge_request_event"'
      allow_failure: true

push:
  tags:
    - archlinux
  stage: release
  script:
    - git add PKGBUILD
    - git diff-index --quiet HEAD || git commit -m "updates hash for AppImage"
    - git add .SRCINFO
    - git diff-index --quiet HEAD || git commit -m "updates .SRCINFO"
    - git push -o ci.skip "https://${GITLAB_USER_NAME}:${RENOVATE_TOKEN}@${CI_REPOSITORY_URL#*@}" "HEAD:${CI_COMMIT_BRANCH}"

publish:
  tags:
    - archlinux
  stage: publish
  script:
    - command -v ssh-agent >/dev/null || ( sudo pacman -Sy --noconfirm openssh )
    - eval $(ssh-agent -s)
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    - echo "$AUR_SSH_KEY" | tr -d '\r' | ssh-add -
    - git remote add aur-defi-app-bin ssh://aur@aur.archlinux.org/defi-app-bin.git || true
    - git push aur-defi-app-bin HEAD:master
  only:
    - master