Skip to content

Propagate lychee exit code#145

Merged
mre merged 2 commits intomasterfrom
exit-code
Jul 12, 2022
Merged

Propagate lychee exit code#145
mre merged 2 commits intomasterfrom
exit-code

Conversation

@mre
Copy link
Copy Markdown
Member

@mre mre commented Jul 11, 2022

Ever since we moved to a composite action the exit code for lychee didn't work as expected.
The reason is that the the output of a step needs to be propagated to an output of the entire
action by setting an explicit parameter in the outputs section.
See https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-composite-actions

Ever since we moved to a composite action the exit code for lychee didn't work as expected.
The reason is that the the output of a step needs to be propagated to an output of the entire
action by setting an explicit parameter in the `outputs` section.
See https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-composite-actions
- run: ${{ github.action_path }}/entrypoint.sh
- name: Run lychee
run: ${{ github.action_path }}/entrypoint.sh
id: lychee
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this id have to be unique across the entire Github action pipeline? If so, rename to lychee-cli-run to avoid conflicts.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The composite action docs aren't that helpful at clarifying that. I assume it only needs to be unique within this action.yml scope.

So I doubt that will be a concern. Easy enough to verify after it's merged?

Copy link
Copy Markdown

@polarathene polarathene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Co-authored-by: Brennan Kinney <[email protected]>
@mre mre merged commit 72460ce into master Jul 12, 2022
@mre mre deleted the exit-code branch July 12, 2022 23:28
@mre
Copy link
Copy Markdown
Member Author

mre commented Jul 12, 2022

Thanks for the review @polarathene.

kodiakhq bot referenced this pull request in sosiristseng/template-hugo-book Jul 28, 2022
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [lycheeverse/lychee-action](https://togithub.com/lycheeverse/lychee-action) | action | patch | `v1.5.0` -> `v1.5.1` |

---

### Release Notes

<details>
<summary>lycheeverse/lychee-action</summary>

### [`v1.5.1`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.5.1)

[Compare Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.5.0...v1.5.1)

#### Summary

Bump lychee version to fix some regressions and extend the documentation.

#### What's Changed

-   README: Expand argument table by [@&#8203;tooomm](https://togithub.com/tooomm) in [https://github.com/lycheeverse/lychee-action/pull/143](https://togithub.com/lycheeverse/lychee-action/pull/143)
-   Propagate lychee exit code by [@&#8203;mre](https://togithub.com/mre) in [https://github.com/lycheeverse/lychee-action/pull/145](https://togithub.com/lycheeverse/lychee-action/pull/145)
-   Bump lychee version to 0.10.1 by [@&#8203;mre](https://togithub.com/mre) in [https://github.com/lycheeverse/lychee-action/pull/150](https://togithub.com/lycheeverse/lychee-action/pull/150)

#### New Contributors

-   [@&#8203;tooomm](https://togithub.com/tooomm) made their first contribution in [https://github.com/lycheeverse/lychee-action/pull/143](https://togithub.com/lycheeverse/lychee-action/pull/143)

**Full Changelog**: lycheeverse/lychee-action@v1.5.0...v1.5.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/sosiristseng/template-hugo-book).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy40In0=-->
github-actions bot referenced this pull request in sosiristseng/template-hugo-book Jul 28, 2022
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [lycheeverse/lychee-action](https://togithub.com/lycheeverse/lychee-action) | action | patch | `v1.5.0` -> `v1.5.1` |

---

### Release Notes

<details>
<summary>lycheeverse/lychee-action</summary>

### [`v1.5.1`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.5.1)

[Compare Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.5.0...v1.5.1)

#### Summary

Bump lychee version to fix some regressions and extend the documentation.

#### What's Changed

-   README: Expand argument table by [@&#8203;tooomm](https://togithub.com/tooomm) in [https://github.com/lycheeverse/lychee-action/pull/143](https://togithub.com/lycheeverse/lychee-action/pull/143)
-   Propagate lychee exit code by [@&#8203;mre](https://togithub.com/mre) in [https://github.com/lycheeverse/lychee-action/pull/145](https://togithub.com/lycheeverse/lychee-action/pull/145)
-   Bump lychee version to 0.10.1 by [@&#8203;mre](https://togithub.com/mre) in [https://github.com/lycheeverse/lychee-action/pull/150](https://togithub.com/lycheeverse/lychee-action/pull/150)

#### New Contributors

-   [@&#8203;tooomm](https://togithub.com/tooomm) made their first contribution in [https://github.com/lycheeverse/lychee-action/pull/143](https://togithub.com/lycheeverse/lychee-action/pull/143)

**Full Changelog**: lycheeverse/lychee-action@v1.5.0...v1.5.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/sosiristseng/template-hugo-book).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy40In0=-->
YDX-2147483647 added a commit to YDX-2147483647/lychee-action that referenced this pull request Nov 5, 2024
This commit also makes sure `outputs.exit_code` is “The exit code returned from Lychee”. `failIfEmpty` no longer changes it to `1`.

Relevant docs:
- [Setting exit codes for actions - GitHub Docs](https://docs.github.com/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions)
- [exit - POSIX Programmer's Manual](https://manned.org/exit.1posix)

Relates to lycheeverse#86, lycheeverse#128, lycheeverse#145, lycheeverse#245, and lycheeverse#251.
YDX-2147483647 added a commit to YDX-2147483647/lychee-action that referenced this pull request Nov 5, 2024
This commit also makes sure `outputs.exit_code` is “The exit code returned from Lychee”. `failIfEmpty` no longer changes it to `1`.

Relevant docs:
- [Setting exit codes for actions - GitHub Docs](https://docs.github.com/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions)
- [exit - POSIX Programmer's Manual](https://manned.org/exit.1posix)

Relates to lycheeverse#86, lycheeverse#128, lycheeverse#145, lycheeverse#245, and lycheeverse#251.
YDX-2147483647 added a commit to YDX-2147483647/lychee-action that referenced this pull request Nov 5, 2024
This commit also makes sure `outputs.exit_code` is “The exit code returned from Lychee”. `failIfEmpty` no longer changes it to `1`.

Relevant docs:
- [Setting exit codes for actions - GitHub Docs](https://docs.github.com/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions)
- [exit - POSIX Programmer's Manual](https://manned.org/exit.1posix)

Relates to lycheeverse#86, lycheeverse#128, lycheeverse#145, lycheeverse#245, and lycheeverse#251.
YDX-2147483647 added a commit to YDX-2147483647/lychee-action that referenced this pull request Nov 5, 2024
This commit also makes sure `outputs.exit_code` is “The exit code returned from Lychee”. `failIfEmpty` no longer changes it to `1`.

Relevant docs:
- [Setting exit codes for actions - GitHub Docs](https://docs.github.com/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions)
- [exit - POSIX Programmer's Manual](https://manned.org/exit.1posix)

Relates to lycheeverse#86, lycheeverse#128, lycheeverse#145, lycheeverse#245, and lycheeverse#251.
mre pushed a commit that referenced this pull request Nov 7, 2024
-   **fix: Make `fail: false` effective even when `failIfEmpty: true`**

This commit also makes sure `outputs.exit_code` is “The exit code returned from Lychee”. `failIfEmpty` no longer changes it to `1`.

Relevant docs:
- [Setting exit codes for actions - GitHub Docs](https://docs.github.com/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions)
- [exit - POSIX Programmer's Manual](https://manned.org/exit.1posix)

Relates to #86, #128, #145, #245, and #251.

-   **fix: Update `env.exit_code` to `outputs.exit_code`**

The previous expression always gives `false`.
Both `env.exit_code` and `env.lychee_exit_code` are `null`, probably since the docker→composite refactor #128. When GitHub evaluates the expression, it finds the types do not match, and coerces them to number, namely, `null` → `0`.

See [Evaluate expressions in workflows and actions - GitHub Docs](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#operators).

Relates to #253.



Co-authored-by: Sebastiaan Speck <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants