Merge pull request #3444 from owncloud/fail-in-makefile-for-loops

improve makefile error handling
This commit is contained in:
Willy Kloucek
2022-04-01 23:35:50 +02:00
committed by GitHub
6 changed files with 25 additions and 47 deletions

View File

@@ -1376,6 +1376,9 @@ def makeNodeGenerate(module):
{
"name": "generate nodejs",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION,
"environment": {
"CHROMEDRIVER_SKIP_DOWNLOAD": "true", # install fails on arm and chromedriver is a test only dependency
},
"commands": [
"%s ci-node-generate" % (make),
],

View File

@@ -111,63 +111,63 @@ composer.lock: composer.json
.PHONY: generate
generate:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod generate; \
$(MAKE) --no-print-directory -C $$mod generate || exit 1; \
done
.PHONY: vet
vet:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod vet; \
$(MAKE) --no-print-directory -C $$mod vet || exit 1; \
done
.PHONY: clean
clean:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod clean; \
$(MAKE) --no-print-directory -C $$mod clean || exit 1; \
done
.PHONY: docs-generate
docs-generate:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod docs-generate; \
$(MAKE) --no-print-directory -C $$mod docs-generate || exit 1; \
done
.PHONY: ci-go-generate
ci-go-generate:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod ci-go-generate; \
$(MAKE) --no-print-directory -C $$mod ci-go-generate || exit 1; \
done
.PHONY: ci-node-generate
ci-node-generate:
@if [ $(MAKE_DEPTH) -le 1 ]; then \
for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod ci-node-generate; \
$(MAKE) --no-print-directory -C $$mod ci-node-generate || exit 1; \
done; fi;
.PHONY: go-mod-tidy
go-mod-tidy:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod go-mod-tidy; \
$(MAKE) --no-print-directory -C $$mod go-mod-tidy || exit 1; \
done
.PHONY: test
test:
@for mod in $(OCIS_MODULES); do \
$(MAKE) --no-print-directory -C $$mod test; \
$(MAKE) --no-print-directory -C $$mod test || exit 1; \
done
.PHONY: go-coverage
go-coverage:
@if [ ! -f coverage.out ]; then $(MAKE) test &>/dev/null; fi;
@for mod in $(OCIS_MODULES); do \
echo -n "% coverage $$mod: "; $(MAKE) --no-print-directory -C $$mod go-coverage; \
echo -n "% coverage $$mod: "; $(MAKE) --no-print-directory -C $$mod go-coverage || exit 1; \
done
.PHONY: protobuf
protobuf:
@for mod in $(OCIS_MODULES); do \
echo -n "% protobuf $$mod: "; $(MAKE) --no-print-directory -C $$mod protobuf; \
echo -n "% protobuf $$mod: "; $(MAKE) --no-print-directory -C $$mod protobuf || exit 1; \
done
.PHONY: bingo-update
@@ -186,31 +186,31 @@ endif
.PHONY: l10n-push
l10n-push:
@for extension in $(L10N_MODULES); do \
$(MAKE) -C $$extension l10n-push; \
$(MAKE) -C $$extension l10n-push || exit 1; \
done
.PHONY: l10n-pull
l10n-pull:
@for extension in $(L10N_MODULES); do \
$(MAKE) -C $$extension l10n-pull; \
$(MAKE) -C $$extension l10n-pull || exit 1; \
done
.PHONY: l10n-clean
l10n-clean:
@for extension in $(L10N_MODULES); do \
$(MAKE) -C $$extension l10n-clean; \
$(MAKE) -C $$extension l10n-clean || exit 1; \
done
.PHONY: l10n-read
l10n-read:
@for extension in $(L10N_MODULES); do \
$(MAKE) -C $$extension l10n-read; \
$(MAKE) -C $$extension l10n-read || exit 1; \
done
.PHONY: l10n-write
l10n-write:
@for extension in $(L10N_MODULES); do \
$(MAKE) -C $$extension l10n-write; \
$(MAKE) -C $$extension l10n-write || exit 1; \
done
.PHONY: ci-format

View File

@@ -3,11 +3,6 @@ NAME := audit
include ../.make/recursion.mk
.PHONY: test-acceptance-webui
test-acceptance-webui:
./ui/tests/run-acceptance-test.sh $(FEATURE_PATH)
############ tooling ############
ifneq (, $(shell which go 2> /dev/null)) # suppress `command not found warnings` for non go targets in CI
include ../.bingo/Variables.mk
@@ -22,34 +17,14 @@ include ../.make/release.mk
############ docs generate ############
include ../.make/docs.mk
############ l10n ############
include ../.make/l10n.mk
.PHONY: docs-generate
docs-generate: config-docs-generate \
grpc-docs-generate
docs-generate: config-docs-generate
############ generate ############
include ../.make/generate.mk
.PHONY: ci-go-generate
ci-go-generate: protobuf # CI runs ci-node-generate automatically before this target
ci-go-generate: # CI runs ci-node-generate automatically before this target
.PHONY: ci-node-generate
ci-node-generate: yarn-build
.PHONY: yarn-build
yarn-build: node_modules
yarn lint
yarn test
yarn build
.PHONY: node_modules
node_modules:
yarn install --immutable
############ protobuf ############
include ../.make/protobuf.mk
.PHONY: protobuf
protobuf: buf-generate
ci-node-generate:

View File

@@ -32,4 +32,4 @@ ci-node-generate: pull-assets
.PHONY: pull-assets
pull-assets:
@git clean -xfd assets
@curl -slL -o- https://github.com/owncloud/graph-explorer/releases/download/v1.7.10.3/release.tar.gz | tar xvzf - -C assets/
@curl --fail -slL -o- https://github.com/owncloud/graph-explorer/releases/download/v1.7.10.3/release.tar.gz | tar xvzf - -C assets/

View File

@@ -42,13 +42,13 @@ LOGO_URL = https://raw.githubusercontent.com/owncloud/assets/main/logo.svg
.PHONY: assets/identifier/static/logo.svg # force overwrite
assets/identifier/static/logo.svg:
curl -o assets/identifier/static/logo.svg ${LOGO_URL}
curl --fail -o assets/identifier/static/logo.svg ${LOGO_URL}
FAVICON_URL = https://raw.githubusercontent.com/owncloud/assets/main/favicon.ico
.PHONY: assets/identifier/static/favicon.ico # force overwrite
assets/identifier/static/favicon.ico:
curl -o assets/identifier/static/favicon.ico ${FAVICON_URL}
curl --fail -o assets/identifier/static/favicon.ico ${FAVICON_URL}
.PHONY: yarn-build
yarn-build: node_modules

View File

@@ -33,4 +33,4 @@ ci-node-generate: pull-assets
.PHONY: pull-assets
pull-assets:
@git clean -xfd assets
@curl -slL -o- https://github.com/owncloud/web/releases/download/$(WEB_ASSETS_VERSION)/web.tar.gz | tar xzf - -C assets/
@curl --fail -slL -o- https://github.com/owncloud/web/releases/download/$(WEB_ASSETS_VERSION)/web.tar.gz | tar xzf - -C assets/