Tristan Van Berkom pushed to branch tristan/docs-version-badge at BuildStream / buildstream
Commits:
-
d53c230e
by Tristan Van Berkom at 2018-08-29T10:15:55Z
-
cfe812d4
by Tristan Van Berkom at 2018-08-29T10:16:09Z
-
bef962fc
by Tristan Van Berkom at 2018-08-29T10:16:15Z
-
93b3a1f0
by Tristan Van Berkom at 2018-08-29T10:19:28Z
6 changed files:
- .gitlab-ci.yml
- README.rst
- doc/source/install_versions.rst
- doc/source/main_install.rst
- + doc/source/release-badge.rst
- + doc/source/snapshot-badge.rst
Changes:
| ... | ... | @@ -50,89 +50,6 @@ source_dist: |
| 50 | 50 |
# Test stage #
|
| 51 | 51 |
#####################################################
|
| 52 | 52 |
|
| 53 |
-# Run premerge commits
|
|
| 54 |
-#
|
|
| 55 |
-.linux-tests-template: &linux-tests
|
|
| 56 |
- stage: test
|
|
| 57 |
- variables:
|
|
| 58 |
- PYTEST_ADDOPTS: "--color=yes"
|
|
| 59 |
- script:
|
|
| 60 |
- # Diagnostics
|
|
| 61 |
- - mount
|
|
| 62 |
- - df -h
|
|
| 63 |
- |
|
| 64 |
- - useradd -Um buildstream
|
|
| 65 |
- - chown -R buildstream:buildstream .
|
|
| 66 |
- |
|
| 67 |
- - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"
|
|
| 68 |
- |
|
| 69 |
- # Unpack and get into dist/buildstream
|
|
| 70 |
- - cd dist && ./unpack.sh
|
|
| 71 |
- - chown -R buildstream:buildstream buildstream
|
|
| 72 |
- - cd buildstream
|
|
| 73 |
- |
|
| 74 |
- # Run the tests from the source distribution, We run as a simple
|
|
| 75 |
- # user to test for permission issues
|
|
| 76 |
- - su buildstream -c 'python3 setup.py test --index-url invalid://uri --addopts --integration'
|
|
| 77 |
- |
|
| 78 |
- # Go back to the toplevel and collect our reports
|
|
| 79 |
- - cd ../..
|
|
| 80 |
- - mkdir -p coverage-linux/
|
|
| 81 |
- - cp dist/buildstream/.coverage.* coverage-linux/coverage."${CI_JOB_NAME}"
|
|
| 82 |
- artifacts:
|
|
| 83 |
- paths:
|
|
| 84 |
- - coverage-linux/
|
|
| 85 |
- |
|
| 86 |
-tests-debian-9:
|
|
| 87 |
- image: buildstream/testsuite-debian:9-master-114-4cab18e3
|
|
| 88 |
- <<: *linux-tests
|
|
| 89 |
- |
|
| 90 |
-tests-fedora-27:
|
|
| 91 |
- image: buildstream/testsuite-fedora:27-master-114-4cab18e3
|
|
| 92 |
- <<: *linux-tests
|
|
| 93 |
- |
|
| 94 |
-tests-fedora-28:
|
|
| 95 |
- image: buildstream/testsuite-fedora:28-master-114-4cab18e3
|
|
| 96 |
- <<: *linux-tests
|
|
| 97 |
- |
|
| 98 |
-tests-ubuntu-18.04:
|
|
| 99 |
- image: buildstream/testsuite-ubuntu:18.04-master-114-4cab18e3
|
|
| 100 |
- <<: *linux-tests
|
|
| 101 |
- |
|
| 102 |
-tests-unix:
|
|
| 103 |
- # Use fedora here, to a) run a test on fedora and b) ensure that we
|
|
| 104 |
- # can get rid of ostree - this is not possible with debian-8
|
|
| 105 |
- image: buildstream/testsuite-fedora:27-master-114-4cab18e3
|
|
| 106 |
- stage: test
|
|
| 107 |
- variables:
|
|
| 108 |
- BST_FORCE_BACKEND: "unix"
|
|
| 109 |
- PYTEST_ADDOPTS: "--color=yes"
|
|
| 110 |
- script:
|
|
| 111 |
- |
|
| 112 |
- - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"
|
|
| 113 |
- |
|
| 114 |
- # We remove the Bubblewrap and OSTree packages here so that we catch any
|
|
| 115 |
- # codepaths that try to use them. Removing OSTree causes fuse-libs to
|
|
| 116 |
- # disappear unless we mark it as user-installed.
|
|
| 117 |
- - dnf mark install fuse-libs
|
|
| 118 |
- - dnf erase -y bubblewrap ostree
|
|
| 119 |
- |
|
| 120 |
- # Unpack and get into dist/buildstream
|
|
| 121 |
- - cd dist && ./unpack.sh && cd buildstream
|
|
| 122 |
- |
|
| 123 |
- # Since the unix platform is required to run as root, no user change required
|
|
| 124 |
- - python3 setup.py test --index-url invalid://uri --addopts --integration
|
|
| 125 |
- |
|
| 126 |
- # Go back to the toplevel and collect our reports
|
|
| 127 |
- - cd ../..
|
|
| 128 |
- - mkdir -p coverage-unix/
|
|
| 129 |
- - cp dist/buildstream/.coverage.* coverage-unix/coverage.unix
|
|
| 130 |
- artifacts:
|
|
| 131 |
- paths:
|
|
| 132 |
- - coverage-unix/
|
|
| 133 |
- - logs-unix/
|
|
| 134 |
- |
|
| 135 |
- |
|
| 136 | 53 |
# Automatically build documentation for every commit, we want to know
|
| 137 | 54 |
# if building documentation fails even if we're not deploying it.
|
| 138 | 55 |
# Note: We still do not enforce a consistent installation of python3-sphinx,
|
| ... | ... | @@ -153,78 +70,10 @@ docs: |
| 153 | 70 |
- public/
|
| 154 | 71 |
|
| 155 | 72 |
|
| 156 |
-# Check code quality with gitlab's built-in feature.
|
|
| 157 |
-#
|
|
| 158 |
-code_quality:
|
|
| 159 |
- image: docker:stable
|
|
| 160 |
- stage: test
|
|
| 161 |
- variables:
|
|
| 162 |
- DOCKER_DRIVER: overlay2
|
|
| 163 |
- allow_failure: true
|
|
| 164 |
- services:
|
|
| 165 |
- - docker:stable-dind
|
|
| 166 |
- script:
|
|
| 167 |
- - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
|
| 168 |
- - docker run
|
|
| 169 |
- --env SOURCE_CODE="$PWD"
|
|
| 170 |
- --volume "$PWD":/code
|
|
| 171 |
- --volume /var/run/docker.sock:/var/run/docker.sock
|
|
| 172 |
- "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
|
|
| 173 |
- artifacts:
|
|
| 174 |
- paths: [gl-code-quality-report.json]
|
|
| 175 |
- |
|
| 176 | 73 |
#####################################################
|
| 177 | 74 |
# Post stage #
|
| 178 | 75 |
#####################################################
|
| 179 | 76 |
|
| 180 |
-analysis:
|
|
| 181 |
- stage: post
|
|
| 182 |
- script:
|
|
| 183 |
- - |
|
|
| 184 |
- pip3 install radon
|
|
| 185 |
- mkdir analysis
|
|
| 186 |
- |
|
| 187 |
- - |
|
|
| 188 |
- echo "Calculating Maintainability Index"
|
|
| 189 |
- radon mi -s -j buildstream > analysis/mi.json
|
|
| 190 |
- radon mi -s buildstream
|
|
| 191 |
- |
|
| 192 |
- - |
|
|
| 193 |
- echo "Calculating Cyclomatic Complexity"
|
|
| 194 |
- radon cc -a -s -j buildstream > analysis/cc.json
|
|
| 195 |
- radon cc -a -s buildstream
|
|
| 196 |
- |
|
| 197 |
- - |
|
|
| 198 |
- echo "Calculating Raw Metrics"
|
|
| 199 |
- radon raw -s -j buildstream > analysis/raw.json
|
|
| 200 |
- radon raw -s buildstream
|
|
| 201 |
- |
|
| 202 |
- artifacts:
|
|
| 203 |
- paths:
|
|
| 204 |
- - analysis/
|
|
| 205 |
- |
|
| 206 |
-# Collate coverage reports
|
|
| 207 |
-#
|
|
| 208 |
-coverage:
|
|
| 209 |
- stage: post
|
|
| 210 |
- coverage: '/TOTAL +\d+ +\d+ +(\d+\.\d+)%/'
|
|
| 211 |
- script:
|
|
| 212 |
- - cd dist && ./unpack.sh && cd buildstream
|
|
| 213 |
- - pip3 install --no-index .
|
|
| 214 |
- - mkdir report
|
|
| 215 |
- - cd report
|
|
| 216 |
- - cp ../../../coverage-unix/coverage.unix .
|
|
| 217 |
- - cp ../../../coverage-linux/coverage.* .
|
|
| 218 |
- - ls coverage.*
|
|
| 219 |
- - coverage combine --rcfile=../.coveragerc -a coverage.*
|
|
| 220 |
- - coverage report --rcfile=../.coveragerc -m
|
|
| 221 |
- dependencies:
|
|
| 222 |
- - tests-debian-9
|
|
| 223 |
- - tests-fedora-27
|
|
| 224 |
- - tests-fedora-28
|
|
| 225 |
- - tests-unix
|
|
| 226 |
- - source_dist
|
|
| 227 |
- |
|
| 228 | 77 |
# Deploy, only for merges which land on master branch.
|
| 229 | 78 |
#
|
| 230 | 79 |
pages:
|
| ... | ... | @@ -248,3 +97,4 @@ pages: |
| 248 | 97 |
# See https://gitlab.com/gitlab-org/gitlab-ce/issues/35141
|
| 249 | 98 |
#
|
| 250 | 99 |
- master
|
| 100 |
+ - tristan/docs-version-badge
|
| 1 | 1 |
About
|
| 2 | 2 |
-----
|
| 3 |
+ |
|
| 4 |
+.. image:: https://buildstream.gitlab.io/buildstream/_static/release.svg
|
|
| 5 |
+ :target: https://gitlab.com/BuildStream/buildstream/commits/bst-1.2
|
|
| 6 |
+ |
|
| 7 |
+.. image:: https://buildstream.gitlab.io/buildstream/_static/snapshot.svg
|
|
| 8 |
+ :target: https://gitlab.com/BuildStream/buildstream/commits/master
|
|
| 9 |
+ |
|
| 10 |
+.. image:: https://img.shields.io/pypi/v/BuildStream.svg
|
|
| 11 |
+ :target: https://pypi.org/project/BuildStream
|
|
| 12 |
+ |
|
| 3 | 13 |
.. image:: https://gitlab.com/BuildStream/buildstream/badges/master/pipeline.svg
|
| 4 | 14 |
:target: https://gitlab.com/BuildStream/buildstream/commits/master
|
| 5 | 15 |
|
| ... | ... | @@ -13,8 +13,12 @@ For example, for a given version number ``X.Y.Z`` |
| 13 | 13 |
* The ``X.<odd number>.*`` versions are development spanshots intended for testing.
|
| 14 | 14 |
|
| 15 | 15 |
If you are :ref:`installing from git <install_git_checkout>`, please look for the latest
|
| 16 |
-tag in the latest release branch to ensure you're getting the latest release.
|
|
| 16 |
+tag to ensure you're getting the latest release.
|
|
| 17 | 17 |
|
| 18 |
-Current release branches:
|
|
| 19 |
- * `bst-1.2 (latest) <https://gitlab.com/BuildStream/buildstream/commits/bst-1.2>`_
|
|
| 20 |
- * `bst-1.0 (deprecated) <https://gitlab.com/BuildStream/buildstream/commits/bst-1.0>`_
|
|
| 18 |
+* Latest release:
|
|
| 19 |
+ |
|
| 20 |
+ .. include:: release-badge.rst
|
|
| 21 |
+ |
|
| 22 |
+* Latest development snapshot:
|
|
| 23 |
+ |
|
| 24 |
+ .. include:: snapshot-badge.rst
|
| ... | ... | @@ -4,6 +4,11 @@ |
| 4 | 4 |
|
| 5 | 5 |
Install
|
| 6 | 6 |
=======
|
| 7 |
+ |
|
| 8 |
+.. include:: release-badge.rst
|
|
| 9 |
+ |
|
| 10 |
+.. include:: snapshot-badge.rst
|
|
| 11 |
+ |
|
| 7 | 12 |
This section provides instructions for installing BuildStream and its
|
| 8 | 13 |
companion artifact server on various platforms, along with any installation
|
| 9 | 14 |
related materials.
|
| 1 |
+ |
|
| 2 |
+.. Use this file to include the badge in the documentation, but not in
|
|
| 3 |
+ the README.rst or gitlab rendered materials, that doesnt work.
|
|
| 4 |
+ |
|
| 5 |
+ This is partly a workaround for a sphinx issue, we will be able
|
|
| 6 |
+ to avoid the raw html once this is implemented in sphinx:
|
|
| 7 |
+ |
|
| 8 |
+ https://github.com/sphinx-doc/sphinx/issues/2240
|
|
| 9 |
+ |
|
| 10 |
+ Using the <object> tag instead of the <img> tag which sphinx generates
|
|
| 11 |
+ allows the svg to be "interactive", for us this basically means that
|
|
| 12 |
+ the link we encode in the badge svg is used, rather than static urls
|
|
| 13 |
+ which need to be used around the <img> tag.
|
|
| 14 |
+ |
|
| 15 |
+ WARNING: The custom CSS on the style tag will need to change if we
|
|
| 16 |
+ change the theme, so that the <object> tag behaves similar
|
|
| 17 |
+ to how the <img> tag is themed by the style sheets.
|
|
| 18 |
+ |
|
| 19 |
+.. raw:: html
|
|
| 20 |
+ |
|
| 21 |
+ <a class="reference external image-reference">
|
|
| 22 |
+ <object style="margin-bottom:24px;vertical-align:middle"
|
|
| 23 |
+ data=""
|
|
| 24 |
+ type="image/svg+xml"/>
|
|
| 25 |
+ </object>
|
|
| 26 |
+ </a>
|
| 1 |
+ |
|
| 2 |
+.. Use this file to include the badge in the documentation, but not in
|
|
| 3 |
+ the README.rst or gitlab rendered materials, that doesnt work.
|
|
| 4 |
+ |
|
| 5 |
+ This is partly a workaround for a sphinx issue, we will be able
|
|
| 6 |
+ to avoid the raw html once this is implemented in sphinx:
|
|
| 7 |
+ |
|
| 8 |
+ https://github.com/sphinx-doc/sphinx/issues/2240
|
|
| 9 |
+ |
|
| 10 |
+ Using the <object> tag instead of the <img> tag which sphinx generates
|
|
| 11 |
+ allows the svg to be "interactive", for us this basically means that
|
|
| 12 |
+ the link we encode in the badge svg is used, rather than static urls
|
|
| 13 |
+ which need to be used around the <img> tag.
|
|
| 14 |
+ |
|
| 15 |
+ WARNING: The custom CSS on the style tag will need to change if we
|
|
| 16 |
+ change the theme, so that the <object> tag behaves similar
|
|
| 17 |
+ to how the <img> tag is themed by the style sheets.
|
|
| 18 |
+ |
|
| 19 |
+.. raw:: html
|
|
| 20 |
+ |
|
| 21 |
+ <a class="reference external image-reference">
|
|
| 22 |
+ <object style="margin-bottom:24px;vertical-align:middle"
|
|
| 23 |
+ data=""
|
|
| 24 |
+ type="image/svg+xml"/>
|
|
| 25 |
+ </object>
|
|
| 26 |
+ </a>
|
