#release-engineering (2021-05)

jenkins_ci All things CI/CD. Specific emphasis on Codefresh and CodeBuild with CodePipeline.

CI/CD Discussions

Archive: https://archive.sweetops.com/release-engineering/

2021-05-14

Maycon Santos avatar
Maycon Santos

anybody else facing issues with Github actions today?

I am getting some errors and my jobs won’t start:

GitHub Actions has encountered an internal error when running your job.

2021-05-26

loren avatar

kinda relevant to this channel, what would you expect this Makefile to output:

BAR ?= bar

bar: RECURSIVE = recursive
bar: SIMPLE := simple
bar: CONDITIONAL ?= conditional
bar: ;

foo: FOO ?= foo
foo:
	@echo [make vars]: FOO = $(FOO), BAR = $(BAR), RECURSIVE = $(RECURSIVE), SIMPLE = $(SIMPLE), CONDITIONAL = $(CONDITIONAL)
	@echo [env vars]: FOO = $$FOO, BAR = $$BAR, RECURSIVE = $$RECURSIVE, SIMPLE = $$SIMPLE, CONDITIONAL = $$CONDITIONAL

when running FOO=fee BAR=fi CONDITIONAL=fo make foo?

loren avatar

(it’s a bug in at least the last few versions of make…)

loren avatar

the target-specific, conditional vars are removed from the environment, even when the var is not set on the target being called…

$ FOO=fee BAR=fi CONDITIONAL=fo make foo
[make vars]: FOO = fee, BAR = fi, RECURSIVE = , SIMPLE = , CONDITIONAL = fo
[env vars]: FOO = , BAR = fi, RECURSIVE = , SIMPLE = , CONDITIONAL =
loren avatar

if you build make from the current HEAD, it actually works as expected, and the env vars are all still available in the shell env

$ FOO=fee BAR=fi CONDITIONAL=fo ../make/make foo
[make vars]: FOO = fee, BAR = fi, RECURSIVE = , SIMPLE = , CONDITIONAL = fo
[env vars]: FOO = fee, BAR = fi, RECURSIVE = , SIMPLE = , CONDITIONAL = fo
loren avatar

the impact is particularly noticeable when you use the conditional assignment operator on vars like AWS_DEFAULT_REGION, if you happen to expect any tools to get the value from the env…

sheldonh avatar
sheldonh

I have avoided Makefiles almost perfectly so far I use go-task for anything related to makefiles right now. It’s these strange behaviors that just reinforce my desire to avoid it (and lack of cross platform runs)

sheldonh avatar
sheldonh

<end offtopic sidenote>

loren avatar

Everything has bugs and “unexpected” behaviors. Pick a tool, learn it’s quirks, keep delivering

1
    keyboard_arrow_up