From 35eca3b320fec5dd48b9d79a13cb560250902e1f Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 14 Jun 2017 22:58:22 +0100 Subject: project.conf: Fix spelling in comment --- project.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project.conf b/project.conf index 8a2d731e..fcbcbd78 100644 --- a/project.conf +++ b/project.conf @@ -18,7 +18,7 @@ variables: target: "%{cpu}-baserock-linux-%{abi}" # Resolve the cpu and ABI portions of the host triple based -# on archetecture names. +# on architecture names. arches: x86_32: variables: -- cgit v1.2.1 From 616ca90999f3429ecc77b33e7c87603ec025eb4e Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 19 Jun 2017 12:46:53 +0000 Subject: Correct 'track' field for stage2-fhs-dirs --- elements/gnu-toolchain/stage2-fhs-dirs.bst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elements/gnu-toolchain/stage2-fhs-dirs.bst b/elements/gnu-toolchain/stage2-fhs-dirs.bst index 37346231..f91f2f1f 100644 --- a/elements/gnu-toolchain/stage2-fhs-dirs.bst +++ b/elements/gnu-toolchain/stage2-fhs-dirs.bst @@ -3,7 +3,7 @@ kind: manual sources: - kind: git url: baserock:baserock/fhs-dirs - track: master + track: baserock/usr_merge ref: 9fafca436000bb57ddd5c498f8a75ea7b274f6c5 depends: -- cgit v1.2.1 From aaefeb1e22579deef6a7829d055eee70c8a7a4f0 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Tue, 20 Jun 2017 08:58:28 +0000 Subject: Update GCC to 7.1.0, and GLIBC to 2.25 --- elements/gnu-toolchain/gcc.bst | 4 ++-- elements/gnu-toolchain/glibc.bst | 4 ++-- elements/gnu-toolchain/stage1-gcc.bst | 5 +++-- elements/gnu-toolchain/stage2-gcc-fixed-headers.bst | 4 ++-- elements/gnu-toolchain/stage2-gcc.bst | 4 ++-- elements/gnu-toolchain/stage2-glibc.bst | 4 ++-- elements/gnu-toolchain/stage2-libstdcxx.bst | 6 +++--- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/elements/gnu-toolchain/gcc.bst b/elements/gnu-toolchain/gcc.bst index b7b17ae6..5815cf01 100644 --- a/elements/gnu-toolchain/gcc.bst +++ b/elements/gnu-toolchain/gcc.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:gcc-tarball - track: baserock/gnu-toolchain - ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + track: baserock/gcc-7.1.0 + ref: 3b0dbcfa2e5d12bd80cab1b35f08653d61fe7838 depends: - filename: gnu-toolchain/stage2.bst diff --git a/elements/gnu-toolchain/glibc.bst b/elements/gnu-toolchain/glibc.bst index 8621074e..48e9262e 100644 --- a/elements/gnu-toolchain/glibc.bst +++ b/elements/gnu-toolchain/glibc.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:glibc - track: release/2.22/master - ref: b995d95a5943785be3ab862b2d3276f3b4a22481 + track: release/2.25/master + ref: adc7e06fb412a2a1ee52f8cb788caf436335b9f3 depends: - filename: gnu-toolchain/stage2.bst diff --git a/elements/gnu-toolchain/stage1-gcc.bst b/elements/gnu-toolchain/stage1-gcc.bst index 17851848..8e9eadfd 100644 --- a/elements/gnu-toolchain/stage1-gcc.bst +++ b/elements/gnu-toolchain/stage1-gcc.bst @@ -3,8 +3,8 @@ kind: autotools sources: - kind: git url: upstream:gcc-tarball - track: baserock/gnu-toolchain - ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + track: baserock/gcc-7.1.0 + ref: 3b0dbcfa2e5d12bd80cab1b35f08653d61fe7838 depends: - gnu-toolchain/base-platform.bst @@ -72,6 +72,7 @@ config: `# [5]` --disable-libatomic \ `# [5]` --disable-libgomp \ `# [5]` --disable-libitm \ + `# [5]` --disable-libmpx \ `# [5]` --disable-libquadmath \ `# [5]` --disable-libsanitizer \ `# [5]` --disable-libssp \ diff --git a/elements/gnu-toolchain/stage2-gcc-fixed-headers.bst b/elements/gnu-toolchain/stage2-gcc-fixed-headers.bst index f3ed0e1e..80c9bf32 100644 --- a/elements/gnu-toolchain/stage2-gcc-fixed-headers.bst +++ b/elements/gnu-toolchain/stage2-gcc-fixed-headers.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:gcc-tarball - track: baserock/gnu-toolchain - ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + track: baserock/gcc-7.1.0 + ref: 3b0dbcfa2e5d12bd80cab1b35f08653d61fe7838 depends: - filename: gnu-toolchain/stage1.bst diff --git a/elements/gnu-toolchain/stage2-gcc.bst b/elements/gnu-toolchain/stage2-gcc.bst index 18594d8f..2f13723a 100644 --- a/elements/gnu-toolchain/stage2-gcc.bst +++ b/elements/gnu-toolchain/stage2-gcc.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:gcc-tarball - track: baserock/gnu-toolchain - ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + track: baserock/gcc-7.1.0 + ref: 3b0dbcfa2e5d12bd80cab1b35f08653d61fe7838 depends: - filename: gnu-toolchain/stage1.bst diff --git a/elements/gnu-toolchain/stage2-glibc.bst b/elements/gnu-toolchain/stage2-glibc.bst index 1c3745e1..63740088 100644 --- a/elements/gnu-toolchain/stage2-glibc.bst +++ b/elements/gnu-toolchain/stage2-glibc.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:glibc - track: release/2.22/master - ref: b995d95a5943785be3ab862b2d3276f3b4a22481 + track: release/2.25/master + ref: 49f97e641e4e84a42246655d30adbc4756e67114 depends: - filename: gnu-toolchain/stage1.bst diff --git a/elements/gnu-toolchain/stage2-libstdcxx.bst b/elements/gnu-toolchain/stage2-libstdcxx.bst index db6f8a62..12ea73fa 100644 --- a/elements/gnu-toolchain/stage2-libstdcxx.bst +++ b/elements/gnu-toolchain/stage2-libstdcxx.bst @@ -3,8 +3,8 @@ kind: manual sources: - kind: git url: upstream:gcc-tarball - track: baserock/gnu-toolchain - ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06 + track: baserock/gcc-7.1.0 + ref: 3b0dbcfa2e5d12bd80cab1b35f08653d61fe7838 depends: - filename: gnu-toolchain/stage1.bst @@ -46,7 +46,7 @@ config: --disable-multilib \ `# [1]` --disable-libstdcxx-threads \ `# [2]` --disable-libstdcxx-pch \ - `# [3]` --with-gxx-include-dir=/tools/%{target-stage1}/include/c++/4.9.2 + `# [3]` --with-gxx-include-dir=/tools/%{target-stage1}/include/c++/7.1.0 build-commands: - cd o && make -- cgit v1.2.1 From 23a3a3c746261c3ecb2aa961d91f988f0602a032 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 14 Jun 2017 22:58:52 +0100 Subject: Support cross-building the stage1 and stage2 components This requires a feature recently added to BuildStream (in commit 03906221) that adds a framework for elements to support being cross-compiled. To build an armv8l64 native toolchain and sysroot on an x86_64 build machine, for example, you can do this: bst build --target-arch=armv8l64 gnu-toolchain/stage2.bst You can then run `bst checkout` to get at the resulting binaries and copy them onto an armv8l64 machine where they can be executed. --- elements/gnu-toolchain/base-platform.bst | 2 +- elements/gnu-toolchain/base-sdk.bst | 2 +- elements/gnu-toolchain/gcc.bst | 4 ++-- elements/gnu-toolchain/linux-api-headers.bst | 4 ++-- elements/gnu-toolchain/stage1-gcc.bst | 4 ++-- elements/gnu-toolchain/stage2-gcc.bst | 4 ++-- elements/gnu-toolchain/stage2-glibc.bst | 6 +++--- elements/gnu-toolchain/stage2-linux-api-headers.bst | 6 +++--- project.conf | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/elements/gnu-toolchain/base-platform.bst b/elements/gnu-toolchain/base-platform.bst index 09c95acb..ce9cdc0a 100644 --- a/elements/gnu-toolchain/base-platform.bst +++ b/elements/gnu-toolchain/base-platform.bst @@ -6,7 +6,7 @@ public: bst: integration-commands: - ldconfig -arches: +host-arches: x86_64: sources: - kind: ostree diff --git a/elements/gnu-toolchain/base-sdk.bst b/elements/gnu-toolchain/base-sdk.bst index cd191fd1..61c29f64 100644 --- a/elements/gnu-toolchain/base-sdk.bst +++ b/elements/gnu-toolchain/base-sdk.bst @@ -3,7 +3,7 @@ description: Import the base freedesktop SDK config: source: files target: usr -arches: +host-arches: x86_64: sources: - kind: ostree diff --git a/elements/gnu-toolchain/gcc.bst b/elements/gnu-toolchain/gcc.bst index 5815cf01..e9a54834 100644 --- a/elements/gnu-toolchain/gcc.bst +++ b/elements/gnu-toolchain/gcc.bst @@ -30,7 +30,7 @@ config: # 2. Avoid having more than one copy of ZLib in use on the system # 3. Multilib does not make sense in Baserock. - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \ --with-cpu=cortex-a9 \ --with-tune=cortex-a9 \ @@ -50,7 +50,7 @@ config: build-commands: - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile sed -i "s/--target=none/--target=armv5/" o/Makefile ;; armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile diff --git a/elements/gnu-toolchain/linux-api-headers.bst b/elements/gnu-toolchain/linux-api-headers.bst index 0020d2ae..db89f18d 100644 --- a/elements/gnu-toolchain/linux-api-headers.bst +++ b/elements/gnu-toolchain/linux-api-headers.bst @@ -17,7 +17,7 @@ environment: config: install-commands: - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv5l) ARCH="arm" ;; armv7b|armv7l|armv7lhf) @@ -31,7 +31,7 @@ config: ppc64) ARCH="powerpc" ;; *) - echo "Error: unsupported Morph architecture: %{bst-arch}" >&2 + echo "Error: unsupported architecture: %{bst-target-arch}" >&2 exit 1 esac ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install diff --git a/elements/gnu-toolchain/stage1-gcc.bst b/elements/gnu-toolchain/stage1-gcc.bst index 8e9eadfd..bcf30bc3 100644 --- a/elements/gnu-toolchain/stage1-gcc.bst +++ b/elements/gnu-toolchain/stage1-gcc.bst @@ -43,7 +43,7 @@ config: # without an existing libc, and generally try to keep this build as # simple as possible. - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \ --with-cpu=cortex-a9 \ --with-tune=cortex-a9 \ @@ -89,7 +89,7 @@ config: # code results on an undefined reference to `__gmpn_invert_limb' in # ARMv7. Fix the invocation of GMP's configure script so that GMP can # use the machine-dependent code. - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile sed -i "s/--target=none/--target=armv5/" o/Makefile ;; armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile diff --git a/elements/gnu-toolchain/stage2-gcc.bst b/elements/gnu-toolchain/stage2-gcc.bst index 2f13723a..beaff58f 100644 --- a/elements/gnu-toolchain/stage2-gcc.bst +++ b/elements/gnu-toolchain/stage2-gcc.bst @@ -40,7 +40,7 @@ config: # 4. This flag causes the correct --sysroot flag to be passed when # calling stage 1 GCC. - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \ --with-cpu=cortex-a9 \ --with-tune=cortex-a9 \ @@ -71,7 +71,7 @@ config: build-commands: - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile sed -i "s/--target=none/--target=armv5/" o/Makefile ;; armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile diff --git a/elements/gnu-toolchain/stage2-glibc.bst b/elements/gnu-toolchain/stage2-glibc.bst index 63740088..a5153c5b 100644 --- a/elements/gnu-toolchain/stage2-glibc.bst +++ b/elements/gnu-toolchain/stage2-glibc.bst @@ -31,7 +31,7 @@ config: # 4. Force configuration values of certain things that can't be detected # in a cross-compile. - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv7*) ARCH_FLAGS="--without-fp" ;; esac @@ -105,12 +105,12 @@ config: # sysdeps/unix/sysv/linux/configure. - install -d %{install-root}/lib - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in x86_64) install -d "%{install-root}/lib64" ln -s "%{prefix}/lib/ld-linux-x86-64.so.2" \ "%{install-root}/lib64/ld-linux-x86-64.so.2" ;; - ppc64) + ppc64l|ppc64b) install -d "%{install-root}/lib64" ln -s "%{prefix}/lib/ld64.so.1" \ "%{install-root}/lib64/ld64.so.1" ;; diff --git a/elements/gnu-toolchain/stage2-linux-api-headers.bst b/elements/gnu-toolchain/stage2-linux-api-headers.bst index e5869bf1..10ec224a 100644 --- a/elements/gnu-toolchain/stage2-linux-api-headers.bst +++ b/elements/gnu-toolchain/stage2-linux-api-headers.bst @@ -19,7 +19,7 @@ environment: config: install-commands: - | - case "%{bst-arch}" in + case "%{bst-target-arch}" in armv5l) ARCH="arm" ;; armv7b|armv7l|armv7lhf) @@ -30,10 +30,10 @@ config: ARCH="i386" ;; x86_64) ARCH="x86_64" ;; - ppc64) + ppc64b|ppc64l) ARCH="powerpc" ;; *) - echo "Error: unsupported Morph architecture: %{bst-arch}" >&2 + echo "Error: unsupported architecture: %{bst-target-arch}" >&2 exit 1 esac ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install diff --git a/project.conf b/project.conf index fcbcbd78..2e5dbebe 100644 --- a/project.conf +++ b/project.conf @@ -12,7 +12,7 @@ aliases: element-path: elements variables: - cpu: "%{bst-arch}" + cpu: "%{bst-target-arch}" abi: gnu target-stage1: "%{cpu}-bootstrap-linux-%{abi}" target: "%{cpu}-baserock-linux-%{abi}" -- cgit v1.2.1 From 28dba2a2843bf6d5c16256a8e4df47ce18ec48f1 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Mon, 19 Jun 2017 12:43:09 +0000 Subject: Proper support for powerpc64 (little and big endian) --- elements/gnu-toolchain/stage2-glibc.bst | 14 ++++++++++---- project.conf | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/elements/gnu-toolchain/stage2-glibc.bst b/elements/gnu-toolchain/stage2-glibc.bst index a5153c5b..043dccb4 100644 --- a/elements/gnu-toolchain/stage2-glibc.bst +++ b/elements/gnu-toolchain/stage2-glibc.bst @@ -100,9 +100,11 @@ config: # Install a symlink for the program interpreter (ld.so) so that binaries # built in stage 3 before the stage 3 glibc is built can use it. - # FIXME: get a better way of finding the name of the loader. The lib64 - # path is hardcoded into glibc in the file - # sysdeps/unix/sysv/linux/configure. + # + # The name of the dynamic loader is hardcoded in GCC during its 'configure' + # stage, but the file is actually provided by the libc (usually GLIBC). It + # would be better if we could ask GCC or GLIBC what the expected name of the + # ld.so is for the given platform rather than figuring it out - install -d %{install-root}/lib - | case "%{bst-target-arch}" in @@ -110,7 +112,11 @@ config: install -d "%{install-root}/lib64" ln -s "%{prefix}/lib/ld-linux-x86-64.so.2" \ "%{install-root}/lib64/ld-linux-x86-64.so.2" ;; - ppc64l|ppc64b) + ppc64l) + install -d "%{install-root}/lib64" + ln -s "%{prefix}/lib/ld64.so.2" \ + "%{install-root}/lib64/ld64.so.2" ;; + ppc64b) install -d "%{install-root}/lib64" ln -s "%{prefix}/lib/ld64.so.1" \ "%{install-root}/lib64/ld64.so.1" ;; diff --git a/project.conf b/project.conf index 2e5dbebe..76445475 100644 --- a/project.conf +++ b/project.conf @@ -54,3 +54,9 @@ arches: mips32l: variables: cpu: mipsel + ppc64b: + variables: + cpu: powerpc64 + ppc64l: + variables: + cpu: powerpc64le -- cgit v1.2.1 From 013e0e3016b3d92c27c23ccafbb6dd18a7c24bc2 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Thu, 22 Jun 2017 15:36:01 +0000 Subject: Enable automated testing for this branch --- .gitlab-ci.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..12ebce6a --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,44 @@ +image: samthursfield/buildstream:0.1-20170627.1 + +before_script: + # Update to latest BuildStream commit + - cd ~/buildstream + - git remote update origin + - git reset --hard origin/master + - pip3 install . + - cd - + + # Work around https://github.com/fedora-cloud/docker-brew-fedora/issues/14 + - export LANG="C.UTF-8" + - export LC_ALL="C.UTF-8" + + # Store cache in the shared Docker volume + - export XDG_CACHE_HOME=/cache + +stages: + - build + +x86_64-native: + stage: build + script: + - bst --colors build gnu-toolchain.bst + +armv8b64-cross: + stage: build + script: + - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst + +armv8l64-cross: + stage: build + script: + - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst + +ppc64b-cross: + stage: build + script: + - bst --colors build --target-arch=ppc64b gnu-toolchain/stage2.bst + +ppc64l-cross: + stage: build + script: + - bst --colors build --target-arch=ppc64l gnu-toolchain/stage2.bst -- cgit v1.2.1 From 9b47b15048d52ab177b885276cc1d64b99a7e69f Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 7 Jul 2017 13:38:16 +0000 Subject: .gitlab-ci.yml: Share cached source between builds --- .gitlab-ci.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 12ebce6a..94a4e54f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,9 @@ image: samthursfield/buildstream:0.1-20170627.1 +cache: + paths: + - cache/buildstream/sources/ + before_script: # Update to latest BuildStream commit - cd ~/buildstream @@ -12,8 +16,9 @@ before_script: - export LANG="C.UTF-8" - export LC_ALL="C.UTF-8" - # Store cache in the shared Docker volume - - export XDG_CACHE_HOME=/cache + # Store cache in the project directory + - mkdir -p "$(pwd)/cache" + - export XDG_CACHE_HOME="$(pwd)/cache" stages: - build -- cgit v1.2.1 From 387d00648ca64eaec5343cb748f0cbc163d8df12 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 7 Jul 2017 13:51:05 +0000 Subject: .gitlab-ci.yml: Split the pipeline into 2 stages With an empty cache, every worker must spend 10 minutes pulling all of the sources that are required. There's no point having 5 workers pulling the same things in parallel, so the first stage now contains only 1 job. --- .gitlab-ci.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 94a4e54f..14ecee82 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,30 +20,35 @@ before_script: - mkdir -p "$(pwd)/cache" - export XDG_CACHE_HOME="$(pwd)/cache" +# All of the builds use the same set of sources. The first stage should contain +# only one job so that, in the case where the source cache is empty, we only +# have a single job pulling all the sources rather than 5 pulling the same things +# in parallel. stages: - - build + - simple + - cross x86_64-native: - stage: build + stage: simple script: - bst --colors build gnu-toolchain.bst armv8b64-cross: - stage: build + stage: cross script: - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst armv8l64-cross: - stage: build + stage: cross script: - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst ppc64b-cross: - stage: build + stage: cross script: - bst --colors build --target-arch=ppc64b gnu-toolchain/stage2.bst ppc64l-cross: - stage: build + stage: cross script: - bst --colors build --target-arch=ppc64l gnu-toolchain/stage2.bst -- cgit v1.2.1 From af78a2b1041831600eb0598e52613645c24ffcd4 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 7 Jul 2017 15:15:17 +0000 Subject: .gitlab-ci.yml: Separate fetch into a separate stage This is primarly to avoid hitting the 1 hour timeout that seems to be hardcoded into the CI system. It's also a bit clearer this way. --- .gitlab-ci.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 14ecee82..f8d416a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,16 +20,18 @@ before_script: - mkdir -p "$(pwd)/cache" - export XDG_CACHE_HOME="$(pwd)/cache" -# All of the builds use the same set of sources. The first stage should contain -# only one job so that, in the case where the source cache is empty, we only -# have a single job pulling all the sources rather than 5 pulling the same things -# in parallel. stages: - - simple + - fetch + - native - cross +fetch: + stage: fetch + script: + - bst --colors fetch gnu-toolchain.bst + x86_64-native: - stage: simple + stage: native script: - bst --colors build gnu-toolchain.bst -- cgit v1.2.1 From 3b12c3318aff86369e9258f580506ee008f626e4 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 7 Jul 2017 16:33:00 +0000 Subject: Simplify CI for now We cannot do long GCC builds using the default GitLab CI runners, we'll need to provide our own. --- .gitlab-ci.yml | 37 ++++++------------------------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f8d416a2..d7ff4225 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,37 +20,12 @@ before_script: - mkdir -p "$(pwd)/cache" - export XDG_CACHE_HOME="$(pwd)/cache" -stages: - - fetch - - native - - cross - -fetch: - stage: fetch - script: - - bst --colors fetch gnu-toolchain.bst -x86_64-native: - stage: native - script: - - bst --colors build gnu-toolchain.bst - -armv8b64-cross: - stage: cross - script: - - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst - -armv8l64-cross: - stage: cross - script: - - bst --colors build --target-arch=armv8l64 gnu-toolchain/stage2.bst - -ppc64b-cross: - stage: cross - script: - - bst --colors build --target-arch=ppc64b gnu-toolchain/stage2.bst +# We are limited to simple CI unless we provide our own GitLab CI runners. +stages: + - validate -ppc64l-cross: - stage: cross +validate: + stage: validate script: - - bst --colors build --target-arch=ppc64l gnu-toolchain/stage2.bst + - bst --colors show gnu-toolchain.bst -- cgit v1.2.1 From a515e4f5fba4eb9d9a417025e62b90b185029d2a Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 7 Jul 2017 16:57:22 +0000 Subject: .gitlab-ci.yml: Remove caching as it seems to just add a 20 minute delay --- .gitlab-ci.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d7ff4225..96f5d99a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,5 @@ image: samthursfield/buildstream:0.1-20170627.1 -cache: - paths: - - cache/buildstream/sources/ - before_script: # Update to latest BuildStream commit - cd ~/buildstream @@ -16,11 +12,6 @@ before_script: - export LANG="C.UTF-8" - export LC_ALL="C.UTF-8" - # Store cache in the project directory - - mkdir -p "$(pwd)/cache" - - export XDG_CACHE_HOME="$(pwd)/cache" - - # We are limited to simple CI unless we provide our own GitLab CI runners. stages: - validate -- cgit v1.2.1