summarylogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: 82e78cbc12aeb2c06a09dc83a840f3d09d2e410e (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
stages:          # List of stages for jobs, and their order of execution
  - build
  - test
  - deploy

build-job:       # patch makepkg so checkout does not take forever and is smaller
  stage: build
  script:
    - sed -i 's|git clone "$url"|git --mirror --filter=blob:none clone "$url"|g' /usr/share/makepkg/source/git.sh
    - pacman -Sy binutils fakeroot sudo --noconfirm --needed
    - time sudo -u nobody makepkg -C -S --log --noconfirm

unit-test-job:   # This job runs in the test stage.
  stage: test    # It only starts when the job in the build stage completes successfully.
  script:
    - echo "Running unit tests... This will take about 60 seconds."
    - sleep 60
    - echo "Code coverage is 90%"

lint-test-job:   # This job also runs in the test stage.
  stage: test    # It can run at the same time as unit-test-job (in parallel).
  script:
    - echo "Linting code... This will take about 10 seconds."
    - sleep 10
    - echo "No lint issues found."

deploy-job:      # This job runs in the deploy stage.
  stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.
  script:
    - echo "Deploying application..."
    - echo "Application successfully deployed."