Compare commits

..

8 Commits

Author SHA1 Message Date
d1951eedb4 Fix releasing
All checks were successful
Snyk / security (push) Successful in 2m15s
2025-06-22 22:41:28 +01:00
29f2aa14f3 Update .gitea/workflows/release.yml
All checks were successful
Snyk / security (push) Successful in 53s
2025-06-22 23:37:14 +02:00
99a6f8f1b9 Update .gitea/workflows/release.yml
Some checks failed
Snyk / security (push) Has been cancelled
2025-06-22 23:36:48 +02:00
2084eb0ac2 chore(deps): update dependency urllib3 to v2.5.0 (#133)
All checks were successful
Snyk / security (push) Successful in 49s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [urllib3](https://github.com/urllib3/urllib3) ([changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)) | `==2.4.0` -> `==2.5.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/urllib3/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/urllib3/2.4.0/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>urllib3/urllib3 (urllib3)</summary>

### [`v2.5.0`](https://github.com/urllib3/urllib3/blob/HEAD/CHANGES.rst#250-2025-06-18)

[Compare Source](https://github.com/urllib3/urllib3/compare/2.4.0...2.5.0)

\==================

## Features

- Added support for the `compression.zstd` module that is new in Python 3.14.
  See `PEP 784 <https://peps.python.org/pep-0784/>`\_ for more information. (`#&#8203;3610 <https://github.com/urllib3/urllib3/issues/3610>`\_\_)
- Added support for version 0.5 of `hatch-vcs` (`#&#8203;3612 <https://github.com/urllib3/urllib3/issues/3612>`\_\_)

## Bugfixes

- Fixed a security issue where restricting the maximum number of followed
  redirects at the `urllib3.PoolManager` level via the `retries` parameter
  did not work.
- Made the Node.js runtime respect redirect parameters such as `retries`
  and `redirects`.
- Raised exception for `HTTPResponse.shutdown` on a connection already released to the pool. (`#&#8203;3581 <https://github.com/urllib3/urllib3/issues/3581>`\_\_)
- Fixed incorrect `CONNECT` statement when using an IPv6 proxy with `connection_from_host`. Previously would not be wrapped in `[]`. (`#&#8203;3615 <https://github.com/urllib3/urllib3/issues/3615>`\_\_)

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC41IiwidXBkYXRlZEluVmVyIjoiNDEuMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/luke/epage/pulls/133
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
2025-06-22 23:35:42 +02:00
071b5b212f chore(deps): update dependency flask to v3.1.1 (#130)
Some checks failed
Snyk / security (push) Has been cancelled
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [Flask](https://github.com/pallets/flask) ([changelog](https://flask.palletsprojects.com/page/changes/)) | `==3.1.0` -> `==3.1.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/flask/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/flask/3.1.0/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pallets/flask (Flask)</summary>

### [`v3.1.1`](https://github.com/pallets/flask/blob/HEAD/CHANGES.rst#Version-311)

[Compare Source](https://github.com/pallets/flask/compare/3.1.0...3.1.1)

Released 2025-05-13

- Fix signing key selection order when key rotation is enabled via
  `SECRET_KEY_FALLBACKS`. :ghsa:`4grg-w6v8-c28g`
- Fix type hint for `cli_runner.invoke`. :issue:`5645`
- `flask --help` loads the app and plugins first to make sure all commands
  are shown. :issue:`5673`
- Mark sans-io base class as being able to handle views that return
  `AsyncIterable`. This is not accurate for Flask, but makes typing easier
  for Quart. :pr:`5659`

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC44LjIiLCJ1cGRhdGVkSW5WZXIiOiI0MS4xLjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: luke/epage#130
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
2025-06-22 23:35:32 +02:00
73696a9647 chore(deps): update dependency certifi to v2025.6.15 (#132)
All checks were successful
Snyk / security (push) Successful in 53s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [certifi](https://github.com/certifi/python-certifi) | `==2025.4.26` -> `==2025.6.15` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/certifi/2025.6.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/certifi/2025.4.26/2025.6.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>certifi/python-certifi (certifi)</summary>

### [`v2025.6.15`](https://github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

[Compare Source](https://github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC41Mi4wIiwidXBkYXRlZEluVmVyIjoiNDEuMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: luke/epage#132
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
2025-06-22 23:32:41 +02:00
862da875bd chore(deps): update dependency requests to v2.32.4 (#131)
All checks were successful
Snyk / security (push) Successful in 49s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [requests](https://requests.readthedocs.io) ([source](https://github.com/psf/requests), [changelog](https://github.com/psf/requests/blob/master/HISTORY.md)) | `==2.32.3` -> `==2.32.4` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/requests/2.32.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/requests/2.32.3/2.32.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>psf/requests (requests)</summary>

### [`v2.32.4`](https://github.com/psf/requests/blob/HEAD/HISTORY.md#2324-2025-06-10)

[Compare Source](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

**Security**

- CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted
  environment will retrieve credentials for the wrong hostname/machine from a
  netrc file.

**Improvements**

- Numerous documentation improvements

**Deprecations**

- Added support for pypy 3.11 for Linux and macOS.
- Dropped support for pypy 3.9 following its end of support.

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC44IiwidXBkYXRlZEluVmVyIjoiNDEuMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: luke/epage#131
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
2025-06-22 23:31:13 +02:00
b4dc8cf707 chore(deps): update dependency click to v8.2.1 (#129)
All checks were successful
Snyk / security (push) Successful in 51s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [click](https://github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.1.8` -> `==8.2.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pallets/click (click)</summary>

### [`v8.2.1`](https://github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)

[Compare Source](https://github.com/pallets/click/compare/8.2.0...8.2.1)

Released 2025-05-20

- Fix flag value handling for flag options with a provided type. :issue:`2894`
  :issue:`2897` :pr:`2930`
- Fix shell completion for nested groups. :issue:`2906` :pr:`2907`
- Flush `sys.stderr` at the end of `CliRunner.invoke`. :issue:`2682`
- Fix EOF handling for stdin input in CliRunner. :issue:`2787`

### [`v8.2.0`](https://github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)

[Compare Source](https://github.com/pallets/click/compare/8.1.8...8.2.0)

Released 2025-05-10

- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`

- Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.
  :pr:`2438`

- Use `flit_core` instead of `setuptools` as build backend. :pr:`2543`

- Deprecate the `__version__` attribute. Use feature detection, or
  `importlib.metadata.version("click")`, instead. :issue:`2598`

- `BaseCommand` is deprecated. `Command` is the base class for all
  commands. :issue:`2589`

- `MultiCommand` is deprecated. `Group` is the base class for all group
  commands. :issue:`2590`

- The current parser and related classes and methods, are deprecated.
  :issue:`2205`

  - `OptionParser` and the `parser` module, which is a modified copy of
    `optparse` in the standard library.
  - `Context.protected_args` is unneeded. `Context.args` contains any
    remaining arguments while parsing.
  - `Parameter.add_to_parser` (on both `Argument` and `Option`) is
    unneeded. Parsing works directly without building a separate parser.
  - `split_arg_string` is moved from `parser` to `shell_completion`.

- Enable deferred evaluation of annotations with
  `from __future__ import annotations`. :pr:`2270`

- When generating a command's name from a decorated function's name, the
  suffixes `_command`, `_cmd`, `_group`, and `_grp` are removed.
  :issue:`2322`

- Show the `types.ParamType.name` for `types.Choice` options within
  `--help` message if `show_choices=False` is specified.
  :issue:`2356`

- Do not display default values in prompts when `Option.show_default` is
  `False`. :pr:`2509`

- Add `get_help_extra` method on `Option` to fetch the generated extra
  items used in `get_help_record` to render help text. :issue:`2516`
  :pr:`2517`

- Keep stdout and stderr streams independent in `CliRunner`. Always
  collect stderr output and never raise an exception. Add a new
  output stream to simulate what the user sees in its terminal. Removes
  the `mix_stderr` parameter in `CliRunner`. :issue:`2522` :pr:`2523`

- `Option.show_envvar` now also shows environment variable in error messages.
  :issue:`2695` :pr:`2696`

- `Context.close` will be called on exit. This results in all
  `Context.call_on_close` callbacks and context managers added via
  `Context.with_resource` to be closed on exit as well. :pr:`2680`

- Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`

- A `UserWarning` will be shown when multiple parameters attempt to use the
  same name. :issue:`2396`

- When using `Option.envvar` with `Option.flag_value`, the `flag_value`
  will always be used instead of the value of the environment variable.
  :issue:`2746` :pr:`2788`

- Add `Choice.get_invalid_choice_message` method for customizing the
  invalid choice message. :issue:`2621` :pr:`2622`

- If help is shown because `no_args_is_help` is enabled (defaults to `True`
  for groups, `False` for commands), the exit code is 2 instead of 0.
  :issue:`1489` :pr:`1489`

- Contexts created during shell completion are closed properly, fixing
  a `ResourceWarning` when using `click.File`. :issue:`2644` :pr:`2800`
  :pr:`2767`

- `click.edit(filename)` now supports passing an iterable of filenames in
  case the editor supports editing multiple files at once. Its return type
  is now also typed: `AnyStr` if `text` is passed, otherwise `None`.
  :issue:`2067` :pr:`2068`

- Specialized typing of `progressbar(length=...)` as `ProgressBar[int]`.
  :pr:`2630`

- Improve `echo_via_pager` behaviour in face of errors.
  :issue:`2674`

  - Terminate the pager in case a generator passed to `echo_via_pager`
    raises an exception.
  - Ensure to always close the pipe to the pager process and wait for it
    to terminate.
  - `echo_via_pager` will not ignore `KeyboardInterrupt` anymore. This
    allows the user to search for future output of the generator when
    using less and then aborting the program using ctrl-c.

- `deprecated: bool | str` can now be used on options and arguments. This
  previously was only available for `Command`. The message can now also be
  customised by using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`

  - `Command.deprecated` formatting in `--help` changed from
    `(Deprecated) help` to `help (DEPRECATED)`.
  - Parameters cannot be required nor prompted or an error is raised.
  - A warning will be printed when something deprecated is used.

- Add a `catch_exceptions` parameter to `CliRunner`. If
  `catch_exceptions` is not passed to `CliRunner.invoke`, the value
  from `CliRunner` is used. :issue:`2817` :pr:`2818`

- `Option.flag_value` will no longer have a default value set based on
  `Option.default` if `Option.is_flag` is `False`. This results in
  `Option.default` not needing to implement `__bool__`. :pr:`2829`

- Incorrect `click.edit` typing has been corrected. :pr:`2804`

- `Choice` is now generic and supports any iterable value.
  This allows you to use enums and other non-`str` values. :pr:`2796`
  :issue:`605`

- Fix setup of help option's defaults when using a custom class on its
  decorator. Removes `HelpOption`. :issue:`2832` :pr:`2840`

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC44LjIiLCJ1cGRhdGVkSW5WZXIiOiI0MS4xLjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: luke/epage#129
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
2025-06-22 23:28:21 +02:00
3 changed files with 109 additions and 37 deletions

View File

@ -1,13 +1,13 @@
certifi==2025.4.26
certifi==2025.6.15
charset-normalizer==3.4.2
click==8.2.1
Flask==3.1.0
Flask==3.1.1
Flask-WTF==1.2.2
idna==3.10
itsdangerous==2.2.0
Jinja2==3.1.6
MarkupSafe==3.0.2
requests==2.32.3
urllib3==2.4.0
requests==2.32.4
urllib3==2.5.0
Werkzeug==3.1.3
WTForms==3.2.1

View File

@ -1,18 +1,18 @@
name: Build Docker
on:
release:
types:
- published
# name: Build Docker
# on:
# release:
# types:
# - published
jobs:
create_docker:
name: Create Docker Image
uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/build-push-docker.yml@main
with:
release: ${{ gitea.event.release.name }}
registry: ${{ vars.PACKAGES_REGISTRY_URL }}
actions_username: ${{ vars.ACTIONS_USERNAME }}
ghcr_username: ${{ vars.GHCR_USERNAME }}
secrets:
ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }}
# jobs:
# create_docker:
# name: Create Docker Image
# uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/build-push-docker.yml@main
# with:
# release: ${{ gitea.event.release.name }}
# registry: ${{ vars.PACKAGES_REGISTRY_URL }}
# actions_username: ${{ vars.ACTIONS_USERNAME }}
# ghcr_username: ${{ vars.GHCR_USERNAME }}
# secrets:
# ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
# GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }}

View File

@ -2,29 +2,101 @@ name: Release
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * 0"
- cron: '0 9 * * 0'
jobs:
test:
name: Test
uses: https://git.tainton.uk/repos/roboluke/.gitea/workflows/ci.yml@main
with:
python-version: 3.13
secrets:
SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST_URL }}
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
# test:
# name: Test
# uses: https://git.tainton.uk/${{ gitea.repository }}/.gitea/workflows/ci.yml@main
tag:
name: Tag release
uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/release-with-tag.yaml@main
create_release:
name: Create Release
needs: test
uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/create-release.yml@main
needs: tag
uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/create-release-preexisting-tag.yaml@main
with:
tag: ${{ needs.tag.outputs.tag_name }}
body: ${{ needs.tag.outputs.changelog }}
secrets:
ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
print_release:
name: Print Release
create_docker:
name: Publish Docker Images
runs-on: ubuntu-latest
needs: create_release
needs: [tag, create_release]
steps:
- run: echo "Created release ${{ needs.create_release.outputs.release_name }}."
- name: Update Docker configuration
continue-on-error: true
run: |
mkdir -p /etc/default
mkdir -p /etc/docker
touch -a /etc/default/docker
touch -a /etc/docker/daemon.json
echo "DOCKER_OPTS=\"--insecure-registry ${{ vars.PACKAGES_REGISTRY_URL }}\"" >> /etc/default/docker
echo "{\"insecure-registries\": [\"${{ vars.PACKAGES_REGISTRY_URL }}\"]}" > /etc/docker/daemon.json
- name: Get repo name
id: split
run: echo "repo=${REPO##*/}" >> "$GITEA_OUTPUT"
env:
REPO: ${{ gitea.repository }}
- name: Check out repository
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
ref: ${{ needs.tag.outputs.tag_name }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.PACKAGES_REGISTRY_URL }}
username: ${{ vars.ACTIONS_USERNAME }}
password: ${{ secrets.ACTIONS_TOKEN }}
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ vars.GHCR_USERNAME }}
password: ${{ secrets.GHCR_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
tags: type=semver,pattern=v{{version}},value=${{ needs.tag.outputs.tag_name }}
images: |
ghcr.io/${{ vars.GHCR_USERNAME }}/${{ steps.split.outputs.repo }}
${{ vars.PACKAGES_REGISTRY_URL }}/${{ gitea.repository }}
- name: Print metadata
run: |
printf "Annotations:\n${{ steps.meta.outputs.annotations }}"
echo ""
printf "Labels:\n${{ steps.meta.outputs.labels }}"
echo ""
printf "Tags:\n${{ steps.meta.outputs.tags }}"
- name: Build images
uses: docker/build-push-action@v6
with:
context: .
push: false
load: true
annotations: ${{ steps.meta.outputs.annotations }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ steps.meta.outputs.tags }}
- name: Push images
run: |
strtags="${{ steps.meta.outputs.tags }}"
readarray -t lines <<<"$strtags"
for element in "${lines[@]}"; do docker push "$element"; done
unset strtags lines