-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yml.bak
executable file
·123 lines (111 loc) · 4.24 KB
/
config.yml.bak
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version: 2.1
# add your orb below, to be used in integration tests (note: a @dev:alpha
# release must exist; you'll need to publish manually at least once)
# you can use scripts/publish-alpha.sh to publish a @dev:alpha release
orbs:
sonarcloud: socialtables/sonarcloud@dev:alpha
orb-tools: circleci/orb-tools@8.27.3
workflows:
# this `lint-pack_validate_publish-dev` workflow will run on any commit
lint-pack_validate_publish-dev:
jobs:
# lint your destructured orb YAML files
- orb-tools/lint
# pack your orb YAML files to a single orb.yml
# validate the orb.yml file to ensure it is well-formed
- orb-tools/pack:
requires:
- orb-tools/lint
# release dev version of orb, for testing & possible publishing
# requires a CircleCI API token to be stored as CIRCLE_TOKEN (default)
# https://circleci.com/docs/2.0/managing-api-tokens
# store CIRCLE_TOKEN as a project env var or Contexts resource
# if using Contexts, add your context below
- orb-tools/publish-dev:
orb-name: socialtables/sonarcloud
requires:
- orb-tools/pack
# trigger an integration workflow to test the dev version of your orb
# an SSH key must be stored in your orb's repository and in CircleCI
# (add the public key as a read/write key on GitHub; add the private
# key in CircleCI via SSH Permissions, with github.com as Hostname)
- orb-tools/trigger-integration-workflow:
name: trigger-integration-dev
ssh-fingerprints: <orb-fingerprint>
requires:
- orb-tools/publish-dev
filters:
branches:
ignore: master
# by default, the 1st job (above) will trigger only integration tests;
# the 2nd job (below) may also publish a production orb version
- orb-tools/trigger-integration-workflow:
name: trigger-integration-master
cleanup-tags: true
ssh-fingerprints: <orb-fingerprint>
tag: master
requires:
- orb-tools/publish-dev
filters:
branches:
only: master
# this `integration-tests_prod-release` workflow will ignore commits
# it is only triggered by git tags, which are created in the job above
# integration-tests_prod-release:
# jobs:
# # - your integration test jobs go here
# # - you will want to call each integration testing job twice,
# # - each under a different name:
# # - once, for integration tests triggered by non-master-branch commits
# # - and again, for tests triggered by commits to master
# # - only commits to master should potentially trigger a prod release
# # patch, minor, or major publishing
# - orb-tools/dev-promote-prod:
# name: dev-promote-patch
# orb-name: circleci/orb-tools
# ssh-fingerprints: # your SSH key fingerprint
# cleanup-tags: true
# requires:
# # - your integration testing jobs go here
# filters:
# branches:
# ignore: /.*/
# tags:
# only: /master-patch.*/
# - orb-tools/dev-promote-prod:
# name: dev-promote-minor
# release: minor
# orb-name: circleci/orb-tools
# ssh-fingerprints: # your SSH key fingerprint
# cleanup-tags: true
# requires:
# # - your integration testing jobs go here
# filters:
# branches:
# ignore: /.*/
# tags:
# only: /master-minor.*/
# - orb-tools/dev-promote-prod:
# name: dev-promote-major
# release: major
# orb-name: circleci/orb-tools
# ssh-fingerprints: # your SSH key fingerprint
# cleanup-tags: true
# requires:
# # - your integration testing jobs go here
# filters:
# branches:
# ignore: /.*/
# tags:
# only: /master-major.*/
# yaml anchor filters
integration-dev_filters: &integration-dev_filters
branches:
ignore: /.*/
tags:
only: /integration-.*/
integration-master_filters: &integration-master_filters
branches:
ignore: /.*/
tags:
only: /master-.*/