[CI] Move documentation formatting to CircleCI
This commit is contained in:
parent
be74dd786f
commit
aa4547086d
|
@ -11,14 +11,13 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_branch_update
|
|
||||||
fail_when_undefined_pr_number
|
fail_when_undefined_pr_number
|
||||||
|
|
||||||
pr_base=$(curl -s "${pr_data_URL}" | jq '.base.ref')
|
pr_base=$(curl -s "${pr_data_URL}" | jq '.base.ref')
|
||||||
if [[ "${pr_base}" == "\"${dev_b}\"" ]]; then
|
if [[ "${pr_base}" == "\"develop\"" ]]; then
|
||||||
echo "You are PRing to the develop branch. This is good."
|
echo "You are PRing to the develop branch. This is good."
|
||||||
exit 0
|
exit 0
|
||||||
elif [[ "${pr_base}" == "\"${mst_b}\"" ]]; then
|
elif [[ "${pr_base}" == "\"master\"" ]]; then
|
||||||
printf '=%.0s' {1..80}
|
printf '=%.0s' {1..80}
|
||||||
printf "\n し(*・∀・)/ Thanks for the contribution! \(・∀・*)ノ\n"
|
printf "\n し(*・∀・)/ Thanks for the contribution! \(・∀・*)ノ\n"
|
||||||
printf '=%.0s' {1..80}
|
printf '=%.0s' {1..80}
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_branch_update
|
|
||||||
fail_when_undefined_pr_number
|
fail_when_undefined_pr_number
|
||||||
|
|
||||||
upstream_head_sha=$(curl -s "${upstream_data_URL}" | jq '.commit.sha')
|
upstream_head_sha=$(curl -s "${upstream_data_URL}" | jq '.commit.sha')
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## apply_patch Apply patch to the target(official spacemacs) repository
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
if [ ! -f "/tmp/${PUBLISH}.patch" ]; then
|
||||||
|
echo "No /tmp/${PUBLISH}.patch file. Aborting."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo_headline "Cloning target repository"
|
||||||
|
target_URL="https://github.com/${prj_owner}/${prj_repo}.git"
|
||||||
|
git clone "${target_URL}" -b "${CIRCLE_BRANCH}" "/tmp/${PUBLISH}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to clone \"${target_URL}\""
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "/tmp/${PUBLISH}"
|
||||||
|
|
||||||
|
echo_headline "Patching"
|
||||||
|
git am < /tmp/spacemacs.patch
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to apply /tmp/${PUBLISH}.patch."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
fi
|
|
@ -11,8 +11,6 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_non_official_repo
|
|
||||||
|
|
||||||
echo_headline "Setting up bot account"
|
echo_headline "Setting up bot account"
|
||||||
|
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## make_patch Creates patch file with updates of built-in Spacemacs files.
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
git add --all
|
||||||
|
git commit -m "Built-in files auto-update: $(date -u)"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Built-in files don't need an update."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
git format-patch -1 HEAD --stdout > "/tmp/${PUBLISH}.patch"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to create built-in patch file."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
git reset --hard HEAD~1
|
||||||
|
cat "/tmp/${PUBLISH}.patch"
|
||||||
|
fi
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## open_pr Opens PR to Spacemacs repository with built-in updates
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
echo_headline "Opening PR to ${UPD_BOT_LOGIN}/${UPD_BOT_REPO} repo"
|
||||||
|
echo "[bot] Built-in auto-update" > msg
|
||||||
|
echo >> msg
|
||||||
|
echo "Merge with care - I'm just a stupid bot. Beep boop." >> msg
|
||||||
|
hub pull-request -h "${PUBLISH}" -b "${CIRCLE_BRANCH}" -F msg
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Seems like PR already exists (not a problem)"
|
||||||
|
fi
|
|
@ -10,8 +10,6 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_non_official_repo
|
|
||||||
|
|
||||||
echo_headline "Downloading and replacing files"
|
echo_headline "Downloading and replacing files"
|
||||||
built_in_manifest=".ci/built_in_manifest"
|
built_in_manifest=".ci/built_in_manifest"
|
||||||
lines=$(cat "${built_in_manifest}")
|
lines=$(cat "${built_in_manifest}")
|
||||||
|
@ -25,18 +23,3 @@ while read line; do
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
done <"${built_in_manifest}"
|
done <"${built_in_manifest}"
|
||||||
|
|
||||||
git add --all
|
|
||||||
git commit -m "Built-in files auto-update: $(date -u)"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Built-in files don't need an update."
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
git format-patch -1 HEAD --stdout > /tmp/built_in.patch
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Failed to create built-in patch file."
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
git reset --hard HEAD~1
|
|
||||||
cat /tmp/built_in.patch
|
|
||||||
fi
|
|
|
@ -1,70 +1,23 @@
|
||||||
---
|
#### Config generator for CircleCI.
|
||||||
# Circle CI YAML file
|
version: 2.1
|
||||||
version: 2.0
|
setup: true
|
||||||
|
orbs:
|
||||||
|
continuation: circleci/continuation@0.1.0
|
||||||
jobs:
|
jobs:
|
||||||
"Validate PR":
|
"Generate config":
|
||||||
docker:
|
executor: continuation/default
|
||||||
- image: jare/spacemacs-circleci:latest
|
|
||||||
environment:
|
|
||||||
BASH_ENV: ".circleci/shared"
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Make sure that this PR targets develop branch
|
name: "Render config_tmpl.yml"
|
||||||
command: .circleci/PR_base
|
command: |
|
||||||
- run:
|
cd .circleci/
|
||||||
name: Make sure that this PR doesn't need rebase
|
cp config_tmpl.yml circleci.yml
|
||||||
command: .circleci/PR_rebased
|
sed -i "s/{{ IS_BRANCH_UDATE }}/${IS_BRANCH_UPDATE}/g" circleci.yml
|
||||||
"Validate Documentation":
|
- continuation/continue:
|
||||||
docker:
|
parameters: '{}'
|
||||||
- image: jare/spacemacs-circleci:latest
|
configuration_path: ".circleci/circleci.yml"
|
||||||
environment:
|
|
||||||
BASH_ENV: ".circleci/shared"
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run:
|
|
||||||
name: Select changed files
|
|
||||||
command: .circleci/select_pr_changed
|
|
||||||
- run:
|
|
||||||
name: export changed documentation files for validation
|
|
||||||
command: .circleci/org/export
|
|
||||||
- run:
|
|
||||||
name: validating changed documentation files
|
|
||||||
command: .circleci/org/validate
|
|
||||||
"Update built-in files":
|
|
||||||
docker:
|
|
||||||
- image: jare/spacemacs-circleci:latest
|
|
||||||
environment:
|
|
||||||
- BASH_ENV: ".circleci/shared"
|
|
||||||
- PUBLISH: "spacemacs_built_in"
|
|
||||||
- UPD_BOT_LOGIN: "SpacemacsBot"
|
|
||||||
- UPD_BOT_REPO: "spacemacs"
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run:
|
|
||||||
name: Initialize bot account
|
|
||||||
command: .circleci/bot_init
|
|
||||||
- run:
|
|
||||||
name: Make patch file
|
|
||||||
command: .circleci/update/upd_built_in
|
|
||||||
- run:
|
|
||||||
name: Open PR if built in files must be updated
|
|
||||||
command: .circleci/update/maybe_pr
|
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
setup-workflow:
|
||||||
validate_pr_files:
|
|
||||||
jobs:
|
jobs:
|
||||||
- "Validate PR"
|
- "Generate config"
|
||||||
- "Validate Documentation"
|
|
||||||
update_built_in:
|
|
||||||
triggers:
|
|
||||||
- schedule:
|
|
||||||
cron: "0 0,6,12,18 * * *"
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
jobs:
|
|
||||||
- "Update built-in files"
|
|
||||||
|
|
|
@ -0,0 +1,141 @@
|
||||||
|
#### Circle CI YAML file
|
||||||
|
version: 2.1
|
||||||
|
parameters:
|
||||||
|
prj_owner:
|
||||||
|
type: string
|
||||||
|
default: "syl20bnr"
|
||||||
|
prj_repo:
|
||||||
|
type: string
|
||||||
|
default: "spacemacs"
|
||||||
|
prj_url:
|
||||||
|
type: string
|
||||||
|
default: "https://github.com/syl20bnr/spacemacs"
|
||||||
|
is_branch_update:
|
||||||
|
type: string
|
||||||
|
default: "{{ IS_BRANCH_UDATE }}"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
"Validate PR":
|
||||||
|
docker:
|
||||||
|
- image: jare/spacemacs-circleci:latest
|
||||||
|
environment:
|
||||||
|
- PRJ_OWNER: << pipeline.parameters.prj_owner >>
|
||||||
|
- PRJ_REPO: << pipeline.parameters.prj_repo >>
|
||||||
|
- BASH_ENV: ".circleci/shared"
|
||||||
|
working_directory: ~/.emacs.d
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Make sure that this PR targets develop branch
|
||||||
|
command: .circleci/PR_base
|
||||||
|
- run:
|
||||||
|
name: Make sure that this PR doesn't need rebase
|
||||||
|
command: .circleci/PR_rebased
|
||||||
|
"Validate Documentation":
|
||||||
|
docker:
|
||||||
|
- image: jare/spacemacs-circleci:latest
|
||||||
|
environment:
|
||||||
|
- PRJ_OWNER: << pipeline.parameters.prj_owner >>
|
||||||
|
- PRJ_REPO: << pipeline.parameters.prj_repo >>
|
||||||
|
- BASH_ENV: ".circleci/shared"
|
||||||
|
working_directory: ~/.emacs.d
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Select changed files
|
||||||
|
command: .circleci/select_pr_changed
|
||||||
|
- run:
|
||||||
|
name: validate changed documentation files
|
||||||
|
command: .circleci/org/validate
|
||||||
|
"Update built-in files":
|
||||||
|
docker:
|
||||||
|
- image: jare/spacemacs-circleci:latest
|
||||||
|
environment:
|
||||||
|
- PRJ_OWNER: << pipeline.parameters.prj_owner >>
|
||||||
|
- PRJ_REPO: << pipeline.parameters.prj_repo >>
|
||||||
|
- BASH_ENV: ".circleci/shared"
|
||||||
|
- PUBLISH: "spacemacs_built_in"
|
||||||
|
- UPD_BOT_LOGIN: "SpacemacsBot"
|
||||||
|
- UPD_BOT_REPO: "spacemacs"
|
||||||
|
working_directory: ~/.emacs.d
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Initialize bot account
|
||||||
|
command: .circleci/bot_init
|
||||||
|
- run:
|
||||||
|
name: Download latest versions
|
||||||
|
command: .circleci/built_in/upd_built_in
|
||||||
|
- run:
|
||||||
|
name: Create patch file with the updates
|
||||||
|
command: .circleci/built_in/make_patch
|
||||||
|
- run:
|
||||||
|
name: Apply the patch file
|
||||||
|
command: .circleci/apply_patch
|
||||||
|
- run:
|
||||||
|
name: Push changes to Spacemacs Bot account
|
||||||
|
command: .circleci/push
|
||||||
|
- run:
|
||||||
|
name: Open PR if built in files must be updated
|
||||||
|
command: .circleci/built_in/maybe_pr
|
||||||
|
"Update documentation files":
|
||||||
|
docker:
|
||||||
|
- image: jare/spacemacs-circleci:latest
|
||||||
|
environment:
|
||||||
|
- PRJ_OWNER: << pipeline.parameters.prj_owner >>
|
||||||
|
- PRJ_REPO: << pipeline.parameters.prj_repo >>
|
||||||
|
- BASH_ENV: ".circleci/shared"
|
||||||
|
- PUBLISH: "spacemacs_fix_org"
|
||||||
|
- UPD_BOT_LOGIN: "SpacemacsBot"
|
||||||
|
- UPD_BOT_REPO: "spacemacs"
|
||||||
|
working_directory: ~/.emacs.d
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Initialize bot account
|
||||||
|
command: .circleci/bot_init
|
||||||
|
- run:
|
||||||
|
name: Export documentation files
|
||||||
|
command: .circleci/org/sdnize
|
||||||
|
- run:
|
||||||
|
name: Update documentation files
|
||||||
|
command: .circleci/org/update_docs
|
||||||
|
- run:
|
||||||
|
name: Create patch file with the updates
|
||||||
|
command: .circleci/org/make_patch
|
||||||
|
- run:
|
||||||
|
name: Apply the patch file
|
||||||
|
command: .circleci/apply_patch
|
||||||
|
- run:
|
||||||
|
name: Push changes to Spacemacs Bot account
|
||||||
|
command: .circleci/push
|
||||||
|
- run:
|
||||||
|
name: Open PR if documentation needs fixes
|
||||||
|
command: .circleci/org/maybe_pr
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
version: 2.1
|
||||||
|
validate-pr-files:
|
||||||
|
when:
|
||||||
|
not:
|
||||||
|
equal: [ << pipeline.parameters.is_branch_update >>, "yes"]
|
||||||
|
jobs:
|
||||||
|
- "Validate PR"
|
||||||
|
- "Validate Documentation"
|
||||||
|
update-documentation:
|
||||||
|
when:
|
||||||
|
equal: [ << pipeline.parameters.is_branch_update >>, "yes"]
|
||||||
|
jobs:
|
||||||
|
- "Update documentation files"
|
||||||
|
update-built-in:
|
||||||
|
when:
|
||||||
|
equal: [ << pipeline.parameters.is_branch_update >>, "yes"]
|
||||||
|
triggers:
|
||||||
|
- schedule:
|
||||||
|
cron: "0 0,6,12,18 * * *"
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
jobs:
|
||||||
|
- "Update built-in files"
|
|
@ -1,28 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
## Export script for .org validation.
|
|
||||||
##
|
|
||||||
## Copyright (c) 2012-2014 Sylvain Benner
|
|
||||||
## Copyright (c) 2014-2018 Sylvain Benner & Contributors
|
|
||||||
##
|
|
||||||
## Author: Eugene Yaremenko
|
|
||||||
## URL: https://github.com/syl20bnr/spacemacs
|
|
||||||
##
|
|
||||||
## This file is not part of GNU Emacs.
|
|
||||||
##
|
|
||||||
## License: GPLv3
|
|
||||||
|
|
||||||
skip_when_branch_update
|
|
||||||
fail_when_undefined_pr_number
|
|
||||||
|
|
||||||
select_changed_orgs
|
|
||||||
if [ ${#changed_f_as_args[@]} -ne 0 ]; then
|
|
||||||
emacs -batch -l /opt/spacetools/spacedoc/sdnize/sdnize.el -no-site-file \
|
|
||||||
-q ~/.emacs.d/ /tmp/exported/ \
|
|
||||||
$(printf "%s " "${changed_f_as_args[@]}")
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Documentation needs some fixing ;)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "This commit doesn't change documentation files."
|
|
||||||
fi
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## make_patch Generate patch file with Spacemacs documentation updates.
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
git add --all
|
||||||
|
git commit -m "documentation formatting: $(date -u)"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Documentation is up to date."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
git format-patch -1 HEAD --stdout > "/tmp/${PUBLISH}.patch"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to create documentation patch file."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
git reset --hard HEAD~1
|
||||||
|
cat "/tmp/${PUBLISH}.patch"
|
||||||
|
fi
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## open_pr Opens PR to Spacemacs repository with documentation updates
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
echo_headline "Opening PR to ${UPD_BOT_LOGIN}/${UPD_BOT_REPO} repo"
|
||||||
|
echo "[bot] Documentation fixes" > msg
|
||||||
|
echo >> msg
|
||||||
|
echo "Merge with care - I'm just a stupid bot. Beep boop." >> msg
|
||||||
|
hub pull-request -h "${PUBLISH}" -b "${CIRCLE_BRANCH}" -F msg
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Seems like PR already exists (not a problem)"
|
||||||
|
fi
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## Export script for documentation files.
|
||||||
|
##
|
||||||
|
## Copyright (c) 2012-2014 Sylvain Benner
|
||||||
|
## Copyright (c) 2014-2022 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
mkdir -p "/tmp/sdn/"
|
||||||
|
echo_headline "Extract data out of documentation files into .sdn"
|
||||||
|
emacs -batch \
|
||||||
|
-l /opt/spacetools/spacedoc/sdnize/sdnize \
|
||||||
|
-no-site-file \
|
||||||
|
-q \
|
||||||
|
~/.emacs.d/ \
|
||||||
|
/tmp/sdn/
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## fix_docs Fixed(formats) Spacemacs' documentation files.
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
echo_headline "Generating new layers indext file data"
|
||||||
|
spacedoc layers \
|
||||||
|
-c".ci/spacedoc-cfg.edn" \
|
||||||
|
"/tmp/sdn/"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Layers index generation failed."
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo_headline "Generating new .org files from .sdn representation"
|
||||||
|
spacedoc orgify \
|
||||||
|
-c".ci/spacedoc-cfg.edn" \
|
||||||
|
/tmp/sdn/ \
|
||||||
|
~/.emacs.d/
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Documentation generation failed."
|
||||||
|
exit 2
|
||||||
|
fi
|
|
@ -1,8 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
## Script for validating exported(org->sdn) documentation files.
|
## Script for validating documentation files.
|
||||||
##
|
##
|
||||||
## Copyright (c) 2012-2014 Sylvain Benner
|
## Copyright (c) 2012-2014 Sylvain Benner
|
||||||
## Copyright (c) 2014-2018 Sylvain Benner & Contributors
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
##
|
##
|
||||||
## Author: Eugene Yaremenko
|
## Author: Eugene Yaremenko
|
||||||
## URL: https://github.com/syl20bnr/spacemacs
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
@ -11,14 +11,33 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_branch_update
|
|
||||||
fail_when_undefined_pr_number
|
fail_when_undefined_pr_number
|
||||||
|
|
||||||
select_changed_orgs
|
select_changed_orgs
|
||||||
|
|
||||||
|
echo_headline "Exporting changed org fils"
|
||||||
|
if [ ${#changed_f_as_args[@]} -ne 0 ]; then
|
||||||
|
emacs -batch \
|
||||||
|
-l /opt/spacetools/spacedoc/sdnize/sdnize \
|
||||||
|
-no-site-file \
|
||||||
|
-q \
|
||||||
|
~/.emacs.d/ \
|
||||||
|
/tmp/exported/ \
|
||||||
|
$(printf "%s " "${changed_f_as_args[@]}")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Documentation needs some fixing ;)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "This commit doesn't change documentation files."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo_headline "Validating changed org fils"
|
||||||
if [ ${#changed_f_as_args[@]} -ne 0 ]; then
|
if [ ${#changed_f_as_args[@]} -ne 0 ]; then
|
||||||
spacedoc validate -c".ci/spacedoc-cfg.edn" /tmp/exported/
|
spacedoc validate -c".ci/spacedoc-cfg.edn" /tmp/exported/
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Documentation validation failed."
|
echo "Documentation is invalid."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## push Push changes to Spacemacs bot account.
|
||||||
|
##
|
||||||
|
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
||||||
|
##
|
||||||
|
## Author: Eugene Yaremenko
|
||||||
|
## URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
##
|
||||||
|
## This file is not part of GNU Emacs.
|
||||||
|
##
|
||||||
|
## License: GPLv3
|
||||||
|
|
||||||
|
echo_headline "Creating fork under bot account"
|
||||||
|
export GITHUB_TOKEN=$UPD_BOT_GIT_TK
|
||||||
|
hub fork
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "hub fork failed"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
fork_url="https://${UPD_BOT_LOGIN}:${UPD_BOT_GIT_TK}"
|
||||||
|
fork_url+="@github.com/${UPD_BOT_LOGIN}/${UPD_BOT_REPO}.git"
|
||||||
|
git remote set-url "${UPD_BOT_LOGIN}" "${fork_url}"
|
||||||
|
echo_headline "Pushing changes"
|
||||||
|
hub push -f "${UPD_BOT_LOGIN}" "${PUBLISH}" > /dev/null 2>&1
|
||||||
|
# prevent token leak ^^^^^^^^^^^^^^
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "hub push failed"
|
||||||
|
exit 2
|
||||||
|
fi
|
|
@ -11,7 +11,6 @@
|
||||||
##
|
##
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
skip_when_branch_update
|
|
||||||
fail_when_undefined_pr_number
|
fail_when_undefined_pr_number
|
||||||
|
|
||||||
files_json=$(curl "${pr_file_list_URL}" --silent)
|
files_json=$(curl "${pr_file_list_URL}" --silent)
|
||||||
|
|
|
@ -12,10 +12,8 @@
|
||||||
## License: GPLv3
|
## License: GPLv3
|
||||||
|
|
||||||
# Vars
|
# Vars
|
||||||
dev_b="develop"
|
prj_owner="${PRJ_OWNER}"
|
||||||
mst_b="master"
|
prj_repo="${PRJ_REPO}"
|
||||||
prj_owner="syl20bnr"
|
|
||||||
prj_repo="spacemacs"
|
|
||||||
api_URL_root="https://api.github.com"
|
api_URL_root="https://api.github.com"
|
||||||
|
|
||||||
upstream_data_URL_root="${api_URL_root}/"
|
upstream_data_URL_root="${api_URL_root}/"
|
||||||
|
@ -63,22 +61,3 @@ fail_when_undefined_pr_number () {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
skip_when_branch_update () {
|
|
||||||
if [[ "${IS_BRANCH_UPDATE}" == "yes" ]]; then
|
|
||||||
echo "Skipping for branch update."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
skip_when_non_official_repo () {
|
|
||||||
if [[ "${CIRCLE_PROJECT_REPONAME}" != "${prj_repo}" || \
|
|
||||||
"${CIRCLE_PROJECT_USERNAME}" != "${prj_owner}" ]]; then
|
|
||||||
echo "Skipping for non official repository."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup () {
|
|
||||||
rm -rf ~/.emacs.d/elpa ~/.emacs.d/.cache /tmp/* ~/.spacemacs
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
## open_pr Opens PR to Spacemacs repository with built-in updates
|
|
||||||
##
|
|
||||||
## Copyright (c) 2014-2021 Sylvain Benner & Contributors
|
|
||||||
##
|
|
||||||
## Author: Eugene Yaremenko
|
|
||||||
## URL: https://github.com/syl20bnr/spacemacs
|
|
||||||
##
|
|
||||||
## This file is not part of GNU Emacs.
|
|
||||||
##
|
|
||||||
## License: GPLv3
|
|
||||||
|
|
||||||
skip_when_non_official_repo
|
|
||||||
|
|
||||||
if [ ! -f /tmp/built_in.patch ]; then
|
|
||||||
echo "Nothing to update."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_headline "Cloning target repository"
|
|
||||||
target_URL="https://github.com/${prj_owner}/${prj_repo}.git"
|
|
||||||
git clone "${target_URL}" -b "${CIRCLE_BRANCH}" "/tmp/${PUBLISH}"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Failed to clone \"${target_URL}\""
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "/tmp/${PUBLISH}"
|
|
||||||
|
|
||||||
echo_headline "Applying built-in patch"
|
|
||||||
if [ ! -f /tmp/built_in.patch ]; then
|
|
||||||
echo "Built-in files don't need updating. Aborting."
|
|
||||||
else
|
|
||||||
git am < /tmp/built_in.patch
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Failed to apply built-in patch."
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_headline "Forking target repository"
|
|
||||||
export GITHUB_TOKEN=$UPD_BOT_GIT_TK
|
|
||||||
hub fork
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "hub fork failed"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
fork_url="https://${UPD_BOT_LOGIN}:${UPD_BOT_GIT_TK}"
|
|
||||||
fork_url+="@github.com/${UPD_BOT_LOGIN}/${UPD_BOT_REPO}.git"
|
|
||||||
git remote set-url "${UPD_BOT_LOGIN}" "${fork_url}"
|
|
||||||
|
|
||||||
echo_headline "Pushing changes"
|
|
||||||
hub push -f "${UPD_BOT_LOGIN}" "${PUBLISH}" > /dev/null 2>&1
|
|
||||||
# prevent token leak ^^^^^^^^^^^^^^
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "hub push failed"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_headline "Opening PR to ${UPD_BOT_LOGIN}/${UPD_BOT_REPO} repo"
|
|
||||||
echo "[bot] Built-in auto-update" > msg
|
|
||||||
echo >> msg
|
|
||||||
echo "Merge with care - I'm just a stupid bot. Beep boop." >> msg
|
|
||||||
hub pull-request -b "${CIRCLE_BRANCH}" -F msg
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Seems like PR already exists (not a problem)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_headline "Done!"
|
|
|
@ -23,7 +23,6 @@
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gitter.im/syl20bnr/spacemacs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img src="https://badges.gitter.im/Join Chat.svg" alt="Gitter"></a>
|
<a href="https://gitter.im/syl20bnr/spacemacs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img src="https://badges.gitter.im/Join Chat.svg" alt="Gitter"></a>
|
||||||
<a href="https://github.com/syl20bnr/spacemacs/actions/workflows/elisp_test.yml"><img src="https://github.com/syl20bnr/spacemacs/actions/workflows/elisp_test.yml/badge.svg?branch=develop"></a>
|
<a href="https://github.com/syl20bnr/spacemacs/actions/workflows/elisp_test.yml"><img src="https://github.com/syl20bnr/spacemacs/actions/workflows/elisp_test.yml/badge.svg?branch=develop"></a>
|
||||||
<a href="https://travis-ci.org/syl20bnr/spacemacs"><img src="https://travis-ci.org/syl20bnr/spacemacs.svg?branch=develop"></a>
|
|
||||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESFVNPKP4Y742"><img src="https://img.shields.io/badge/Paypal-Donate-blue.svg" alt="Donate"></a>
|
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESFVNPKP4Y742"><img src="https://img.shields.io/badge/Paypal-Donate-blue.svg" alt="Donate"></a>
|
||||||
<a href="https://shop.spreadshirt.com/spacemacs-shop"><img src="https://img.shields.io/badge/Shop-T--Shirts-blue.svg" alt="Donate"></a>
|
<a href="https://shop.spreadshirt.com/spacemacs-shop"><img src="https://img.shields.io/badge/Shop-T--Shirts-blue.svg" alt="Donate"></a>
|
||||||
<a href="https://www.slant.co/topics/12/~what-are-the-best-programming-text-editors"><img src="https://img.shields.io/badge/Slant-Recommend-ff69b4.svg" alt="Recommend it"></a>
|
<a href="https://www.slant.co/topics/12/~what-are-the-best-programming-text-editors"><img src="https://img.shields.io/badge/Slant-Recommend-ff69b4.svg" alt="Recommend it"></a>
|
||||||
|
|
Loading…
Reference in New Issue