mirror of
https://github.com/offen/analyticstxt.git
synced 2024-10-22 05:40:28 +02:00
101 lines
2.7 KiB
YAML
101 lines
2.7 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: martinthomson/i-d-template:latest
|
|
working_directory: ~/draft
|
|
|
|
steps:
|
|
- run:
|
|
name: "Print Configuration"
|
|
command: |
|
|
xml2rfc --version
|
|
gem list -q kramdown-rfc2629
|
|
echo -n 'mmark '; mmark --version
|
|
|
|
- restore_cache:
|
|
name: "Restoring cache - Git"
|
|
keys:
|
|
- v2-cache-git-{{ .Branch }}-{{ .Revision }}
|
|
- v2-cache-git-{{ .Branch }}
|
|
- v2-cache-git-
|
|
|
|
- restore_cache:
|
|
name: "Restoring cache - References"
|
|
keys:
|
|
- v1-cache-references-{{ epoch }}
|
|
- v1-cache-references-
|
|
|
|
# Workaround for https://discuss.circleci.com/t/22437
|
|
- run:
|
|
name: Tag Checkout
|
|
command: |
|
|
if [ -n "$CIRCLE_TAG" ] && [ -d .git ]; then
|
|
remote=$(echo "$CIRCLE_REPOSITORY_URL" | \
|
|
sed -e 's,/^git.github.com:,https://github.com/,')
|
|
git fetch -f "$remote" "refs/tags/$CIRCLE_TAG:refs/tags/$CIRCLE_TAG" || \
|
|
(echo 'Removing .git cache for tag build'; rm -rf .git)
|
|
fi
|
|
|
|
- checkout
|
|
|
|
# Build txt and html versions of drafts
|
|
- run:
|
|
name: "Build Drafts"
|
|
command: "make 'CLONE_ARGS=--reference ~/git-reference'"
|
|
|
|
# Update editor's copy on gh-pages
|
|
- run:
|
|
name: "Update GitHub Pages"
|
|
command: |
|
|
if [ "${CIRCLE_TAG#draft-}" == "$CIRCLE_TAG" ]; then
|
|
make gh-pages
|
|
fi
|
|
|
|
# For tagged builds, upload to the datatracker.
|
|
- deploy:
|
|
name: "Upload to Datatracker"
|
|
command: |
|
|
if [ "${CIRCLE_TAG#draft-}" != "$CIRCLE_TAG" ]; then
|
|
make upload
|
|
fi
|
|
|
|
# Archive GitHub Issues
|
|
- run:
|
|
name: "Archive GitHub Issues"
|
|
command: "make archive || make archive DISABLE_ARCHIVE_FETCH=true && make gh-archive"
|
|
|
|
# Create and store artifacts
|
|
- run:
|
|
name: "Create Artifacts"
|
|
command: "make artifacts CI_ARTIFACTS=/tmp/artifacts"
|
|
|
|
- store_artifacts:
|
|
path: /tmp/artifacts
|
|
|
|
- run:
|
|
name: "Prepare for Caching"
|
|
command: "git reflog expire --expire=now --all && git gc --prune=now"
|
|
|
|
- save_cache:
|
|
name: "Saving Cache - Git"
|
|
key: v2-cache-git-{{ .Branch }}-{{ .Revision }}
|
|
paths:
|
|
- ~/draft/.git
|
|
|
|
- save_cache:
|
|
name: "Saving Cache - Drafts"
|
|
key: v1-cache-references-{{ epoch }}
|
|
paths:
|
|
- ~/.cache/xml2rfc
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- build:
|
|
filters:
|
|
tags:
|
|
only: /.*?/
|