- Fix docker version: [Related](740914821e)
- Update sidebar to include export docs
<!-- PR description-->
---
#### Does this PR need a docs update or release note?
- [ ] ✅ Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x] ⛔ No
#### Type of change
<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [x] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup
#### Issue(s)
<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>
#### Test Plan
<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [ ] ⚡ Unit test
- [ ] 💚 E2E
74 lines
2.5 KiB
Makefile
74 lines
2.5 KiB
Makefile
.PHONY: buildimage build dev shell check genclidocs _validatemdgen publish sync
|
|
|
|
GO_VERSION := 1.20
|
|
CORSO_BUILD_DIR := /tmp/.corsobuild
|
|
CORSO_BUILD_CACHE := ${CORSO_BUILD_DIR}/cache
|
|
CORSO_BUILD_MOD := ${CORSO_BUILD_DIR}/mod
|
|
CORSO_BUILD_BIN := ${CORSO_BUILD_DIR}/bin
|
|
CORSO_REPO := /go/src/github.com/alcionai/corso
|
|
CORSO_LOCAL_PATH := $(shell git rev-parse --show-toplevel)
|
|
GIT_SHA := $(shell git rev-parse --short HEAD)
|
|
WEBC := docker run --rm -it -p 3000:3000 -v ${PWD}:/usr/src/website --env CORSO_VERSION=unreleased-${GIT_SHA} corso/website
|
|
CBASE := docker run --rm -it \
|
|
-v ${CORSO_LOCAL_PATH}:${CORSO_REPO} -v ${CORSO_BUILD_DIR}:${CORSO_BUILD_DIR} \
|
|
--env GOCACHE=${CORSO_BUILD_CACHE} --env GOMODCACHE=${CORSO_BUILD_MOD} --env GOTMPDIR=${CORSO_BUILD_DIR} \
|
|
--workdir ${CORSO_REPO}/src
|
|
GOC := ${CBASE} golang:${GO_VERSION}
|
|
GOBASHC := ${CBASE} --entrypoint bash golang:${GO_VERSION}
|
|
MDGEN_SRC := ${CORSO_REPO}/src/cmd/mdgen/mdgen.go
|
|
MDGEN_BINARY := ${CORSO_BUILD_BIN}/mdgen
|
|
CLI_DOCS := ${CORSO_REPO}/website/docs/cli
|
|
|
|
buildimage:
|
|
docker build -t "corso/website:latest" .
|
|
|
|
dev: genclidocs
|
|
$(WEBC) npm start -- --host 0.0.0.0
|
|
|
|
noclidev:
|
|
$(WEBC) npm start -- --host 0.0.0.0
|
|
|
|
VALE_TARGET ?= docs README.md blog
|
|
|
|
check: genclidocs
|
|
$(WEBC) vale $(VALE_TARGET)
|
|
$(WEBC) markdownlint '**/*.md' --ignore styles/ --ignore src/ --ignore node_modules/
|
|
|
|
localcheck: genclidocs
|
|
vale $(VALE_TARGET)
|
|
markdownlint '**/*.md' --ignore styles/ --ignore src/ --ignore node_modules/
|
|
|
|
dockershell:
|
|
$(WEBC) bash
|
|
|
|
build: genclidocs
|
|
$(WEBC) npm run build
|
|
|
|
genclidocs: _validatemdgen ${MDGEN_BINARY}
|
|
@echo 'Auto-generating Corso CLI docs...'
|
|
$(WEBC) rm -rf docs/cli
|
|
$(GOC) ${MDGEN_BINARY} --cli-folder ${CLI_DOCS}
|
|
|
|
_validatemdgen: # in case we have a different architecture
|
|
@echo 'Verifying dependencies...'
|
|
$(GOBASHC) -c "${MDGEN_BINARY} --help >/dev/null || rm -rf ${MDGEN_BINARY}"
|
|
|
|
${MDGEN_BINARY}: $(shell find ${CORSO_LOCAL_PATH}/src -type f -name *.go) $(shell find ${CORSO_LOCAL_PATH}/src -type d )
|
|
@echo 'Re-building Corso CLI docs auto-gen tooling...'
|
|
$(GOC) go mod download
|
|
$(GOC) go build -o ${MDGEN_BINARY} ${MDGEN_SRC}
|
|
|
|
clean:
|
|
$(WEBC) rm -rf docs/cli build node_modules
|
|
$(GOC) rm -rf ${CORSO_BUILD_DIR}/*
|
|
|
|
publish: clean build
|
|
docker run -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY \
|
|
-e AWS_SESSION_TOKEN -e AWS_REGION \
|
|
--rm -v ${PWD}:/usr/src/website corso/website:latest \
|
|
make sync
|
|
|
|
sync:
|
|
aws s3 sync /usr/src/website/build/ s3://corsobackup.io/ --delete
|
|
aws cloudfront create-invalidation --distribution-id E1W9NGI9YTVZ1A --paths "/*"
|