spacemacs/.circleci/config.yml

211 lines
5.8 KiB
YAML
Raw Normal View History

---
# Circle CI YAML file
2017-08-07 04:07:33 +00:00
version: 2.0
references:
steps_core_steps: &steps_core_steps
steps:
- checkout
- run:
name: core tests installation
command:
./.circleci/test core installation
- run:
name: core unit tests
command:
./.circleci/test core unit_tests
- run:
name: core functional tests
command:
./.circleci/test core func_tests
spacemacs_base_steps: &spacemacs_base_steps
steps:
- checkout
- run:
name: spacemacs-base distribution tests installation
command:
./.circleci/test layers/+distribution/spacemacs-base installation
- run:
name: spacemacs-base distribution unit tests
command:
./.circleci/test layers/+distribution/spacemacs-base unit_tests
- run:
name: spacemacs-base distribution functional tests
command:
./.circleci/test layers/+distribution/spacemacs-base func_tests
spacemacs_steps: &spacemacs_steps
steps:
- checkout
- run:
name: spacemacs distribution tests installation
command:
./.circleci/test layers/+distribution/spacemacs installation
- run:
name: spacemac distribution unit tests
command:
./.circleci/test layers/+distribution/spacemacs unit_tests
- run:
name: spacemacs distribution functional tests
command:
./.circleci/test layers/+distribution/spacemacs func_tests
2017-08-07 04:07:33 +00:00
jobs:
2017-09-24 17:45:00 +00:00
"Validate PR":
docker:
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
2017-09-24 17:45:00 +00:00
working_directory: ~/.emacs.d
steps:
- checkout
- run:
2018-08-22 12:25:45 +00:00
name: Make sure that this PR targets develop branch
2017-09-24 17:45:00 +00:00
command: ./.circleci/PR_base
2018-08-22 12:25:45 +00:00
- run:
name: Make sure that this PR doesn't need rebase
command: ./.circleci/PR_rebased
# Emacs 25
"core Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
2017-09-23 19:43:04 +00:00
"spacemacs-base dist. Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
2017-09-23 19:43:04 +00:00
"spacemacs dist. Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
# Emacs 26
"core Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
"spacemacs-base dist. Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
"spacemacs dist. Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
2017-09-23 19:43:04 +00:00
# Emacs snapshot
"core Emacs snapshot (optional)":
docker:
2017-09-23 19:43:04 +00:00
- image: jare/spacemacs-circleci:emacs-snapshot
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
2017-09-23 19:43:04 +00:00
"spacemacs-base dist. Emacs snapshot (optional)":
docker:
2017-09-23 19:43:04 +00:00
- image: jare/spacemacs-circleci:emacs-snapshot
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
2017-09-23 19:43:04 +00:00
"spacemacs dist. Emacs snapshot (optional)":
docker:
2017-09-23 19:43:04 +00:00
- image: jare/spacemacs-circleci:emacs-snapshot
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
2019-04-03 04:23:55 +00:00
"CHANGELOG.develop updated (optional)":
docker:
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
2019-04-03 04:23:55 +00:00
working_directory: ~/.emacs.d
steps:
- checkout
- run:
name: Select changed files
command: ./.circleci/select
- run:
name: Check CHANGELOG.develop
command: ./.circleci/PR_changelong
"Validate Documentation (required)":
docker:
2018-05-20 11:54:20 +00:00
- image: jare/spacemacs-circleci:latest
2020-06-21 22:48:40 +00:00
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
2017-08-07 04:07:33 +00:00
steps:
- checkout
- run:
2019-04-03 04:23:55 +00:00
name: Select changed files
command: ./.circleci/select
- run:
name: export changed documentation files for validation
command: ./.circleci/validoc/export
- run:
name: validating changed documentation files
command: ./.circleci/validoc/validate
workflows:
version: 2
build:
jobs:
2017-09-24 17:45:00 +00:00
- "Validate PR"
- "core Emacs25 (required)":
requires:
- "Validate PR"
- "spacemacs-base dist. Emacs25 (required)":
requires:
- "Validate PR"
- "core Emacs26 (required)":
requires:
- "Validate PR"
- "spacemacs-base dist. Emacs26 (required)":
requires:
- "Validate PR"
- "spacemacs dist. Emacs25 (required)":
requires:
- "Validate PR"
2017-09-24 17:45:00 +00:00
- "core Emacs snapshot (optional)":
requires:
- "Validate PR"
- "spacemacs-base dist. Emacs snapshot (optional)":
requires:
- "Validate PR"
- "spacemacs dist. Emacs snapshot (optional)":
requires:
- "Validate PR"
- "Validate Documentation (required)":
2017-09-24 17:45:00 +00:00
requires:
- "Validate PR"
2020-08-08 02:14:43 +00:00
# - "CHANGELOG.develop updated (optional)":
# requires:
# - "Validate PR"