variables:
FDO_UPSTREAM_REPO: mesa/mesa
+ CI_PRE_CLONE_SCRIPT: |-
+ set -o xtrace
+ /usr/bin/wget -q -O- ${CI_PROJECT_URL}/-/raw/${CI_COMMIT_SHA}/.gitlab-ci/download-git-cache.sh | sh -
+ set +o xtrace
include:
- project: 'freedesktop/ci-templates'
- ref: 59de540b620c45739871d1a073d76d5521989d11
+ ref: &ci-templates-sha 52dd4a94044449c8481d18dcdc221a3c636366d2
file: '/templates/debian.yml'
+ - project: 'freedesktop/ci-templates'
+ ref: *ci-templates-sha
+ file: '/templates/alpine.yml'
- local: '.gitlab-ci/lava-gitlab-ci.yml'
- local: '.gitlab-ci/test-source-dep.yml'
stages:
- container+docs
- container-2
+ - git-archive
- deploy
- meson-x86_64
- scons
needs:
- windows_build_vs2019
+git_archive:
+ extends: .fdo.container-build@alpine
+ stage: container+docs
+ only:
+ - schedules
+ variables:
+ FDO_REPO_SUFFIX: &git-archive-suffix "alpine/git_archive"
+ FDO_DISTRIBUTION_EXEC: 'pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@52dd4a94044449c8481d18dcdc221a3c636366d2'
+ # no need to pull the whole repo to build the container image
+ GIT_STRATEGY: none
+ FDO_DISTRIBUTION_TAG: &git-archive-tag "2020-07-02"
+ FDO_DISTRIBUTION_PACKAGES: git py3-pip
+
+
+# Git archive
+
+make git archive:
+ stage: git-archive
+ extends: .fdo.suffixed-image@alpine
+ only:
+ - schedules
+ # ensure we are running on packet
+ tags:
+ - packet.net
+ variables:
+ FDO_DISTRIBUTION_TAG: *git-archive-tag
+ FDO_REPO_SUFFIX: *git-archive-suffix
+ needs:
+ - git_archive
+
+ script:
+ # compress the current folder
+ - tar -cvzf ../$CI_PROJECT_NAME.tar.gz .
+
+ # login with the JWT token
+ - ci-fairy minio login $CI_JOB_JWT
+ - ci-fairy minio cp ../$CI_PROJECT_NAME.tar.gz minio://minio-packet.freedesktop.org/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz
+
+
# BUILD
# Shared between windows and Linux
--- /dev/null
+#!/bin/bash
+
+set +e
+set -o xtrace
+
+# if we run this script outside of gitlab-ci for testing, ensure
+# we got meaningful variables
+CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(mktemp -d)/mesa}
+
+if [[ -e $CI_PROJECT_DIR/.git ]]
+then
+ echo "Repository already present, skip cache download"
+ exit
+fi
+
+TMP_DIR=$(mktemp -d)
+
+echo "Downloading archived master..."
+/usr/bin/wget -O $TMP_DIR/mesa.tar.gz \
+ https://minio-packet.freedesktop.org/git-cache/mesa/mesa/mesa.tar.gz
+
+# check wget error code
+if [[ $? -ne 0 ]]
+then
+ echo "Repository cache not available"
+ exit
+fi
+
+set -e
+
+rm -rf "$CI_PROJECT_DIR"
+echo "Extracting tarball into '$CI_PROJECT_DIR'..."
+mkdir -p "$CI_PROJECT_DIR"
+tar xzf "$TMP_DIR/mesa.tar.gz" -C "$CI_PROJECT_DIR"
+rm -rf "$TMP_DIR"
+chmod a+w "$CI_PROJECT_DIR"