From 34adbafaeb7d5e43ff63ba1e5653c1b059ecfda7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Tue, 8 Oct 2019 21:01:07 +0200 Subject: [PATCH] ci: refactor into separate YAML files under .gitlab/ci/ dir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It makes the YAML files more comprehensible. Signed-off-by: Petr Štetiar --- .gitlab-ci.yml | 122 +----------------- .gitlab/ci/base.yml | 21 +++ .gitlab/ci/imagebuilder.yml | 25 ++++ .gitlab/ci/rootfs.yml | 33 +++++ .gitlab/ci/sdk.yml | 28 ++++ targets.yml => .gitlab/ci/targets.yml | 0 .../ci/targets_rootfs.yml | 0 gen-targets.sh | 4 +- 8 files changed, 116 insertions(+), 117 deletions(-) create mode 100644 .gitlab/ci/base.yml create mode 100644 .gitlab/ci/imagebuilder.yml create mode 100644 .gitlab/ci/rootfs.yml create mode 100644 .gitlab/ci/sdk.yml rename targets.yml => .gitlab/ci/targets.yml (100%) rename targets_rootfs.yml => .gitlab/ci/targets_rootfs.yml (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbcfce0..557d71b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,9 +2,13 @@ variables: BRANCH: master include: + - local: .gitlab/ci/base.yml + - local: .gitlab/ci/imagebuilder.yml + - local: .gitlab/ci/sdk.yml + - local: .gitlab/ci/rootfs.yml + - local: .gitlab/ci/targets.yml + - local: .gitlab/ci/targets_rootfs.yml - remote: https://gitlab.com/ynezz/openwrt-ci/raw/master/openwrt-ci/gitlab/main.yml - - local: "targets.yml" - - local: "targets_rootfs.yml" stages: - pre-build @@ -12,118 +16,6 @@ stages: - test - deploy - check scripts with shellcheck: stage: pre-build - extends: .shellcheck - -.build: - image: docker:latest - stage: build - services: - - docker:dind - before_script: - - apk add curl rsync bash gnupg outils-signify - - bash docker-common.sh - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - -.deploy: - image: docker:latest - stage: deploy - only: - - master - services: - - docker:dind - before_script: - - apk add curl rsync bash gnupg outils-signify - - bash docker-common.sh - - docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" - -.deploy-imagebuilder: - extends: .deploy - variables: - DOCKER_IMAGE: "openwrtorg/imagebuilder" - script: - - bash docker-imagebuilder.sh - - docker push "$DOCKER_IMAGE" - -.deploy-sdk: - extends: .deploy - variables: - DOCKER_IMAGE: "openwrtorg/sdk" - script: - - bash docker-sdk.sh - - docker push "$DOCKER_IMAGE" - -build-imagebuilder: - extends: .build - variables: - TARGETS: "x86-64" - DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" - script: - - bash docker-imagebuilder.sh - - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" - - docker push "$DOCKER_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" - -test-imagebuilder: - image: "$CI_REGISTRY_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" - stage: test - script: - - cd /home/build/openwrt/ - - make image - - ls ./bin/targets/x86/64/*combined-squashfs.img.gz - -build-sdk: - extends: .build - variables: - TARGETS: "x86-64" - DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" - script: - - bash docker-sdk.sh - - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" - - docker push "$DOCKER_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" - -test-sdk: - image: "$CI_REGISTRY_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" - stage: test - script: - - cd ~/openwrt - - make defconfig - - ./scripts/feeds update base - - ./scripts/feeds install busybox - - make package/busybox/compile -j$(nproc) - - ls ./bin/packages/x86_64/base/busybox* - -build-rootfs: - extends: .build - except: - variables: - - $SKIP_ROOTFS - variables: - TARGETS: "x86-64" - DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" - script: - - bash docker-rootfs.sh - - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" - - docker push "$DOCKER_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" - -test-rootfs: - image: "$CI_REGISTRY_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" - stage: test - except: - variables: - - $SKIP_ROOTFS - script: - - ls / - - ping -c 3 1.1.1.1 - -.deploy-rootfs: - extends: .deploy - except: - variables: - - $SKIP_ROOTFS - variables: - DOCKER_IMAGE: "openwrtorg/rootfs" - script: - - bash docker-rootfs.sh - - docker push "$DOCKER_IMAGE" + extends: .openwrt-shellcheck diff --git a/.gitlab/ci/base.yml b/.gitlab/ci/base.yml new file mode 100644 index 0000000..9d4bb25 --- /dev/null +++ b/.gitlab/ci/base.yml @@ -0,0 +1,21 @@ +.build: + image: docker:latest + stage: build + services: + - docker:dind + before_script: + - apk add curl rsync bash gnupg outils-signify + - bash docker-common.sh + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + +.deploy: + image: docker:latest + stage: deploy + only: + - master + services: + - docker:dind + before_script: + - apk add curl rsync bash gnupg outils-signify + - bash docker-common.sh + - docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" diff --git a/.gitlab/ci/imagebuilder.yml b/.gitlab/ci/imagebuilder.yml new file mode 100644 index 0000000..614440e --- /dev/null +++ b/.gitlab/ci/imagebuilder.yml @@ -0,0 +1,25 @@ +.deploy-imagebuilder: + extends: .deploy + variables: + DOCKER_IMAGE: "openwrtorg/imagebuilder" + script: + - bash docker-imagebuilder.sh + - docker push "$DOCKER_IMAGE" + +build-imagebuilder: + extends: .build + variables: + TARGETS: "x86-64" + DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" + script: + - bash docker-imagebuilder.sh + - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" + - docker push "$DOCKER_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" + +test-imagebuilder: + image: "$CI_REGISTRY_IMAGE:imagebuilder-$BRANCH-$CI_COMMIT_REF_SLUG" + stage: test + script: + - cd /home/build/openwrt/ + - make image + - ls ./bin/targets/x86/64/*combined-squashfs.img.gz diff --git a/.gitlab/ci/rootfs.yml b/.gitlab/ci/rootfs.yml new file mode 100644 index 0000000..3a0e488 --- /dev/null +++ b/.gitlab/ci/rootfs.yml @@ -0,0 +1,33 @@ +build-rootfs: + extends: .build + except: + variables: + - $SKIP_ROOTFS + variables: + TARGETS: "x86-64" + DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" + script: + - bash docker-rootfs.sh + - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" + - docker push "$DOCKER_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" + +test-rootfs: + image: "$CI_REGISTRY_IMAGE:rootfs-$BRANCH-$CI_COMMIT_REF_SLUG" + stage: test + except: + variables: + - $SKIP_ROOTFS + script: + - ls / + - ping -c 3 1.1.1.1 + +.deploy-rootfs: + extends: .deploy + except: + variables: + - $SKIP_ROOTFS + variables: + DOCKER_IMAGE: "openwrtorg/rootfs" + script: + - bash docker-rootfs.sh + - docker push "$DOCKER_IMAGE" diff --git a/.gitlab/ci/sdk.yml b/.gitlab/ci/sdk.yml new file mode 100644 index 0000000..24bcc89 --- /dev/null +++ b/.gitlab/ci/sdk.yml @@ -0,0 +1,28 @@ +.deploy-sdk: + extends: .deploy + variables: + DOCKER_IMAGE: "openwrtorg/sdk" + script: + - bash docker-sdk.sh + - docker push "$DOCKER_IMAGE" + +build-sdk: + extends: .build + variables: + TARGETS: "x86-64" + DOCKER_IMAGE: "$CI_REGISTRY_IMAGE" + script: + - bash docker-sdk.sh + - docker tag "$DOCKER_IMAGE:x86-64-$BRANCH" "$DOCKER_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" + - docker push "$DOCKER_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" + +test-sdk: + image: "$CI_REGISTRY_IMAGE:sdk-$BRANCH-$CI_COMMIT_REF_SLUG" + stage: test + script: + - cd ~/openwrt + - make defconfig + - ./scripts/feeds update base + - ./scripts/feeds install busybox + - make package/busybox/compile -j$(nproc) + - ls ./bin/packages/x86_64/base/busybox* diff --git a/targets.yml b/.gitlab/ci/targets.yml similarity index 100% rename from targets.yml rename to .gitlab/ci/targets.yml diff --git a/targets_rootfs.yml b/.gitlab/ci/targets_rootfs.yml similarity index 100% rename from targets_rootfs.yml rename to .gitlab/ci/targets_rootfs.yml diff --git a/gen-targets.sh b/gen-targets.sh index b1e9ad1..1e6c4db 100755 --- a/gen-targets.sh +++ b/gen-targets.sh @@ -113,5 +113,5 @@ deploy-sdk-$TARGET: done } -gen_targets > targets.yml -gen_targets_rootfs > targets_rootfs.yml +gen_targets > .gitlab/ci/targets.yml +gen_targets_rootfs > .gitlab/ci/targets_rootfs.yml