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
124
125
126
|
.PHONY: all clean test up
INFO = \033[32m
INFO_END = \033[0m
../gitlab/.git:
@echo "\n$(INFO)INFO: Cloning GitLab project into parent directory..$(INFO_END)\n"
@git clone git@gitlab.com:gitlab-org/gitlab.git ../gitlab
../gitlab-runner/.git:
@printf "\n$(INFO)INFO: Cloning GitLab Runner project into parent directory..$(INFO_END)\n"
@git clone git@gitlab.com:gitlab-org/gitlab-runner.git ../gitlab-runner
../omnibus-gitlab/.git:
@printf "\n$(INFO)INFO: Cloning Omnibus GitLab project into parent directory..$(INFO_END)\n"
@git clone git@gitlab.com:gitlab-org/omnibus-gitlab.git ../omnibus-gitlab
../charts-gitlab/.git:
@printf "\n$(INFO)INFO: Cloning GitLab Chart project into parent directory..$(INFO_END)\n"
@git clone git@gitlab.com:gitlab-org/charts/gitlab.git ../charts-gitlab
../gitlab-operator/.git:
@printf "\n$(INFO)INFO: Cloning GitLab Operator project into parent directory..$(INFO_END)\n"
@git clone git@gitlab.com:gitlab-org/cloud-native/gitlab-operator.git ../gitlab-operator
clone-all-docs-projects: ../gitlab/.git ../gitlab-runner/.git ../omnibus-gitlab/.git ../charts-gitlab/.git ../gitlab-operator/.git
update-gitlab: ../gitlab/.git
@printf "\n$(INFO)INFO: Stash any changes, switch to master branch, and pull updates to GitLab project..$(INFO_END)\n"
@cd ../gitlab && git stash && git checkout master && git pull --ff-only
update-gitlab-runner: ../gitlab-runner/.git
@printf "\n$(INFO)INFO: Stash any changes, switch to main branch, and pull updates to GitLab Runner project..$(INFO_END)\n"
@cd ../gitlab-runner && git stash && git checkout main && git pull --ff-only
update-omnibus-gitlab: ../omnibus-gitlab/.git
@printf "\n$(INFO)INFO: Stash any changes, switch to master branch, and pull updates to Omnibus GitLab project..$(INFO_END)\n"
@cd ../omnibus-gitlab && git stash && git checkout master && git pull --ff-only
update-charts-gitlab: ../charts-gitlab/.git
@printf "\n$(INFO)INFO: Stash any changes, switch to master branch, and pull updates to GitLab Chart project..$(INFO_END)\n"
@cd ../charts-gitlab && git stash && git checkout master && git pull --ff-only
update-gitlab-operator: ../gitlab-operator/.git
@printf "\n$(INFO)INFO: Stash any changes, switch to master branch, and pull updates to GitLab Operator project..$(INFO_END)\n"
@cd ../gitlab-operator && git stash && git checkout master && git pull --ff-only
update-all-docs-projects: update-gitlab update-gitlab-runner update-omnibus-gitlab update-charts-gitlab update-gitlab-operator
up: setup view
compile: setup
@printf "\n$(INFO)INFO: Compiling GitLab documentation site..$(INFO_END)\n"
@bundle exec nanoc compile
view: compile
@printf "\n$(INFO)INFO: Starting GitLab documentation site..$(INFO_END)\n"
@bundle exec nanoc view
live: compile
@printf "\n$(INFO)INFO: Starting GitLab documentation site with live reload..$(INFO_END)\n"
bundle exec nanoc live
setup:
@printf "\n$(INFO)INFO: Installing dependencies..$(INFO_END)\n"
@asdf install && bundle install && yarn install --frozen-lockfile
update:
@printf "\n$(INFO)INFO: Stash any changes, switch to main branch, and pull updates to GitLab Docs project..$(INFO_END)\n"
@git stash && git checkout main && git pull --ff-only
update-all-projects: update update-all-docs-projects
clean:
@printf "\n$(INFO)INFO: Removing tmp and public directories..$(INFO_END)\n"
@rm -rf tmp public
internal-links-check: clone-all-docs-projects compile
@printf "\n$(INFO)INFO: Checking all internal links..$(INFO_END)\n"
@bundle exec nanoc check internal_links
internal-anchors-check: clone-all-docs-projects compile
@printf "\n$(INFO)INFO: Checking all internal anchors..$(INFO_END)\n"
@bundle exec nanoc check internal_anchors
internal-links-and-anchors-check: clone-all-docs-projects compile
@printf "\n$(INFO)INFO: Checking all internal links and anchors..$(INFO_END)\n"
@parallel time bundle exec nanoc check ::: internal_links internal_anchors
external-links-check: compile
@printf "\n$(INFO)INFO: Checking all external links..$(INFO_END)\n"
@bundle exec nanoc check external_links
brew-bundle:
@printf "\n$(INFO)INFO: Checking Brew dependencies, if Brew is available..$(INFO_END)\n"
@(command -v brew > /dev/null 2>&1) && brew bundle --no-lock || true
rspec-tests:
@printf "\n$(INFO)INFO: Running RSpec tests..$(INFO_END)\n"
@bundle exec rspec
jest-tests:
@printf "\n$(INFO)INFO: Running Jest tests..$(INFO_END)\n"
@yarn test
eslint-tests:
@printf "\n$(INFO)INFO: Running ESLint tests..$(INFO_END)\n"
@yarn eslint
prettier-tests:
@printf "\n$(INFO)INFO: Running Prettier tests..$(INFO_END)\n"
@yarn prettier
stylelint-tests:
@printf "\n$(INFO)INFO: Running Stylelint tests..$(INFO_END)\n"
@scripts/run-stylelint.sh
hadolint-tests:
@printf "\n$(INFO)INFO: Running hadolint tests..$(INFO_END)\n"
@hadolint latest.Dockerfile .gitpod.Dockerfile **/*.Dockerfile
yamllint-tests:
@printf "\n$(INFO)INFO: Running yamllint tests..$(INFO_END)\n"
@yamllint .gitlab-ci.yml content/_data
test: setup brew-bundle rspec-test jest-tests eslint-tests prettier-tests stylelint-tests hadolint-tests yamllint-tests
|