summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..788fad8
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,63 @@
1stages:
2 - docker
3 - checkout
4 - test
5
6# notes:
7# - could be useful https://docs.gitlab.com/ee/ci/yaml/#include
8
9variables:
10 # Needs $PR_BASE_BRANCH to be defined as a pipeline variable to work correctly
11
12 BITBAKE_MASTER_IMAGE: ${CI_REGISTRY_IMAGE}:ci-${PR_BASE_BRANCH}-bitbake
13 BITBAKE_PR_IMAGE: ${CI_REGISTRY_IMAGE}:ci-${CI_COMMIT_REF_SLUG}-bitbake
14
15 CHECKOUT_MASTER_IMAGE: ${CI_REGISTRY_IMAGE}:ci-${PR_BASE_BRANCH}-xml
16 CHECKOUT_PR_IMAGE: ${CI_REGISTRY_IMAGE}:ci-${CI_COMMIT_REF_SLUG}-xml
17
18
19Docker Setup:
20 image: docker:stable
21 stage: docker
22 services:
23 - docker:dind
24 except:
25 - pushes
26 before_script:
27 - docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" "$CI_REGISTRY"
28 script:
29 - docker pull "$BITBAKE_PR_IMAGE" || docker pull "$BITBAKE_MASTER_IMAGE" || true
30 - docker build --pull --cache-from "$BITBAKE_MASTER_IMAGE" --cache-from "$BITBAKE_PR_IMAGE" -f ./scripts/ci/Dockerfile.bitbake -t "$BITBAKE_PR_IMAGE" ./scripts/ci
31 - docker push "$BITBAKE_PR_IMAGE"
32
33 - docker pull "$CHECKOUT_PR_IMAGE" || docker pull "$CHECKOUT_MASTER_IMAGE" || true
34 - docker build --pull --cache-from "$CHECKOUT_MASTER_IMAGE" --cache-from "$CHECKOUT_PR_IMAGE" -f ./scripts/ci/Dockerfile.checkout -t "$CHECKOUT_PR_IMAGE" ./scripts/ci
35 - docker push "$CHECKOUT_PR_IMAGE"
36
37Checkout:
38 image: "$CHECKOUT_PR_IMAGE"
39 stage: checkout
40 except:
41 - pushes
42 cache:
43 paths:
44 - updater-repo
45 artifacts:
46 expire_in: "1 day"
47 paths:
48 - updater-repo
49 script:
50 - MANIFEST=$PR_BASE_BRANCH ./scripts/ci/checkout-oe.sh
51
52Build core-image-minimal:
53 image: "$BITBAKE_PR_IMAGE"
54 stage: test
55 except:
56 - pushes
57 dependencies:
58 - Checkout
59 tags:
60 - bitbake
61 script:
62 - ./scripts/ci/configure.sh
63 - ./scripts/ci/build.sh core-image-minimal