#release-engineering (2021-05)
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
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
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
?
(it’s a bug in at least the last few versions of make…)
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 =
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
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…
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)
<end offtopic sidenote>
Everything has bugs and “unexpected” behaviors. Pick a tool, learn it’s quirks, keep delivering