#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
![Maycon Santos avatar](https://secure.gravatar.com/avatar/d24ab7fa13f0865ed3913fb2d69c57c4.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png)
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](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
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](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
(it’s a bug in at least the last few versions of make…)
![loren avatar](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
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](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
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](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
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](https://secure.gravatar.com/avatar/b909e5a82474e9853ff6a6c6111cf0cf.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0020-72.png)
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](https://secure.gravatar.com/avatar/b909e5a82474e9853ff6a6c6111cf0cf.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0020-72.png)
<end offtopic sidenote>
![loren avatar](https://secure.gravatar.com/avatar/d1e25dcfbc68a0857a04dd78c9afe952.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0003-72.png)
Everything has bugs and “unexpected” behaviors. Pick a tool, learn it’s quirks, keep delivering