Compare commits

..

199 Commits

Author SHA1 Message Date
github-actions[bot]
17e8acb368 release(cli): 1.32.2 (#3544)
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2025-10-01 08:40:31 +02:00
David Barroso
a2bc1fee6f chore(cli): remove hasura- prefix from auth/storage images (#3538) 2025-10-01 08:33:06 +02:00
github-actions[bot]
ba2ac461e1 release(dashboard): 2.38.2 (#3541)
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2025-09-30 17:01:40 +02:00
github-actions[bot]
d2cc79e838 release(services/storage): 0.8.1 (#3543)
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2025-09-30 16:45:02 +02:00
David Barroso
31a30cd460 fix(storage): pass buildVersion correctly (#3542) 2025-09-30 16:39:23 +02:00
David BM
f5ecbdac22 fix(dashboard): update remote schemas url tooltip (#3540) 2025-09-30 15:11:43 +02:00
github-actions[bot]
565aee6d34 release(dashboard): 2.38.1 (#3535)
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2025-09-30 13:21:54 +02:00
David Barroso
47013da462 chore(ci): validate PR title (#3537) 2025-09-30 13:20:02 +02:00
dependabot[bot]
2e701456d3 chore(ci): bump actions/checkout from 4 to 5 (#3526)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2025-09-30 11:41:42 +02:00
dependabot[bot]
f08bbc62f6 chore(ci): bump aws-actions/configure-aws-credentials from 4 to 5 (#3522)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2025-09-30 11:40:09 +02:00
robertkasza
93c233deb0 fix (dashboard): delay generating auth service url when creating users (#3530) 2025-09-30 09:22:46 +02:00
David Barroso
ff2a84aa37 chore(ci): use variables in gen_ai_review workflow to configure models (#3534) 2025-09-30 08:45:56 +02:00
github-actions[bot]
3ca082d368 release(cli): 1.32.1 (#3533)
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2025-09-29 17:51:37 +02:00
David Barroso
cec16c6b89 chore(cli): update schema (#3529) 2025-09-29 17:48:59 +02:00
David Barroso
543f2c2b0e fix(nixops): export correctly (#3531) 2025-09-29 17:20:51 +02:00
David Barroso
53ac9263c1 fix(ci): specify base when bumping the dashboard in the cli (#3532) 2025-09-29 14:46:29 +02:00
github-actions[bot]
81b304a715 release(dashboard): 2.38.0 (#3503)
Co-authored-by: robertkasza <robertkasza@users.noreply.github.com>
2025-09-29 13:44:58 +02:00
robertkasza
ac9956bcdb feat(dashboard): datatable column header redesign (#3500) 2025-09-29 13:34:38 +02:00
David Barroso
7d2bc4c06e chore(ci): minor improvements to the ci (#3527) 2025-09-29 12:02:04 +02:00
David Barroso
48ef43202c feat(docs): added links to react-apollo and react-query guides (#3528) 2025-09-29 10:28:45 +02:00
David BM
e6ae494336 feat(dashboard): add remote schemas (#3299)
Co-authored-by: David Barroso Murcia <davidbm@air-m4.local>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2025-09-26 16:14:34 +02:00
David Barroso
092e98358f chore(ci): implement storage releases (#3525) 2025-09-26 15:03:29 +02:00
dependabot[bot]
dd945daa1a chore(ci): bump nixbuild/nix-quick-install-action from 26 to 34 (#3524) 2025-09-26 13:52:23 +02:00
dependabot[bot]
0fe38e206b chore(ci): bump github/codeql-action from 2 to 3 (#3523) 2025-09-26 13:52:14 +02:00
dependabot[bot]
373657339c chore(ci): bump actions/checkout from 4 to 5 (#3521) 2025-09-26 13:52:02 +02:00
dependabot[bot]
3833158107 chore(ci): bump peter-evans/create-pull-request from 6 to 7 (#3520) 2025-09-26 13:51:55 +02:00
David Barroso
4c93094e4d chore(ci): enable dependabot for github actions (#3519) 2025-09-26 13:35:03 +02:00
David Barroso
2ba53e4fef chore(ci): minor improvements (#3518) 2025-09-26 13:28:01 +02:00
David Barroso
23bd2f8d4f chore(storage): integrate storage code into nhost/nhost (#3515) 2025-09-26 12:46:35 +02:00
robertkasza
a14d1e4f22 chore(dashboard): fix defects in basetable form and add comment to columns (#3475) 2025-09-26 11:28:33 +02:00
David Barroso
7509bd8a96 Merge branch 'storage' 2025-09-26 09:31:47 +02:00
David Barroso
0b560dcb52 feat(storage): import nhost/hasura-storage into ./services/storage/ 2025-09-25 16:56:32 +02:00
David Barroso
51619dbf87 feat: generate server boilerplate from openapi schema (#245) 2025-09-25 16:33:50 +02:00
dependabot[bot]
40707e534e chore: bump nixbuild/nix-quick-install-action from 31 to 32 (#244)
### **User description**
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 31 to 32.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v32</h2>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.24.14 -&gt; 2.24.15, 2.26.3 -&gt; 2.26.4,
2.28.3 -&gt; 2.28.4, 2.29.1 -&gt; 2.29.1. This fixes the security
vulnerabilities
reported in <a
href="https://discourse.nixos.org/t/security-advisory-privilege-escalations-in-nix-lix-and-guix/">https://discourse.nixos.org/t/security-advisory-privilege-escalations-in-nix-lix-and-guix/</a>.</p>
</li>
<li>
<p>Bump default Nix version: 2.29.0 -&gt; 2.29.1</p>
</li>
</ul>
<h2>Supported Nix Versions on x86_64-linux runners</h2>
<ul>
<li>2.29.1</li>
<li>2.28.4</li>
<li>2.26.4</li>
<li>2.24.15</li>
<li>2.3.18</li>
</ul>
<h2>Supported Nix Versions on aarch64-linux runners</h2>
<ul>
<li>2.29.1</li>
<li>2.28.4</li>
<li>2.26.4</li>
<li>2.24.15</li>
</ul>
<h2>Supported Nix Versions on x86_64-darwin runners</h2>
<ul>
<li>2.29.1</li>
<li>2.28.4</li>
<li>2.26.4</li>
<li>2.24.15</li>
<li>2.3.18</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v32</p>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.24.14 -&gt; 2.24.15, 2.26.3 -&gt; 2.26.4,
2.28.3 -&gt; 2.28.4, 2.29.1 -&gt; 2.29.1. This fixes the security
vulnerabilities
reported in <a
href="https://discourse.nixos.org/t/security-advisory-privilege-escalations-in-nix-lix-and-guix/">https://discourse.nixos.org/t/security-advisory-privilege-escalations-in-nix-lix-and-guix/</a>.</p>
</li>
<li>
<p>Bump default Nix version: 2.29.0 -&gt; 2.29.1</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="63ca48f939"><code>63ca48f</code></a>
Release v32</li>
<li><a
href="561f57d8ff"><code>561f57d</code></a>
Fix Nix versions</li>
<li><a
href="fb259be9d0"><code>fb259be</code></a>
Fix Nix versions</li>
<li><a
href="78439c724d"><code>78439c7</code></a>
Update Nix versions (<a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/69">#69</a>)</li>
<li><a
href="b0bad79cb8"><code>b0bad79</code></a>
Fix version</li>
<li><a
href="c3bd2b7f38"><code>c3bd2b7</code></a>
Update README and workflows for v31</li>
<li>See full diff in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v31...v32">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=31&new-version=32)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>


___

### **PR Type**
dependencies


___

### **Description**
- Bump `nixbuild/nix-quick-install-action` from v31 to v32 in workflow

- Updates CI to use latest Nix installer action version

- No application or logic changes, CI/dependency update only


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>gen_schedule_update_deps.yaml</strong><dd><code>Update
Nix installer action to v32 in workflow</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/gen_schedule_update_deps.yaml

<li>Updated GitHub Actions workflow to use
<br><code>nixbuild/nix-quick-install-action@v32</code> instead of
v31<br> <li> Ensures CI uses the latest version of the Nix installer
action


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/244/files#diff-ae003e22c1e5cbf186e1749d77dec35965e521d2583ba8cf45fcb1c8f300e177">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-26 10:31:23 +02:00
dependabot[bot]
75a508afe8 chore: bump nixbuild/nix-quick-install-action from 30 to 31 (#242)
### **User description**
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 30 to 31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v31</h2>
<h2>Changes</h2>
<ul>
<li>
<p>Remove Nix versions: 2.25.5</p>
</li>
<li>
<p>Bump minor Nix versions: 2.24.12 -&gt; 2.24.14, 2.26.1 -&gt; 2.26.3
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.28.3, 2.29.0</p>
</li>
<li>
<p>Bump default Nix version: 2.24.12 -&gt; 2.29.0</p>
</li>
<li>
<p>Fix issue with 'experimental-features' setting getting overwritten
(<a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/66">#66</a>).</p>
</li>
</ul>
<h2>Supported Nix Versions on x86_64-linux runners</h2>
<ul>
<li>2.29.0</li>
<li>2.28.3</li>
<li>2.26.3</li>
<li>2.24.14</li>
<li>2.3.18</li>
</ul>
<h2>Supported Nix Versions on aarch64-linux runners</h2>
<ul>
<li>2.29.0</li>
<li>2.28.3</li>
<li>2.26.3</li>
<li>2.24.14</li>
</ul>
<h2>Supported Nix Versions on x86_64-darwin runners</h2>
<ul>
<li>2.29.0</li>
<li>2.28.3</li>
<li>2.26.3</li>
<li>2.24.14</li>
<li>2.3.18</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v31</p>
<h2>Changes</h2>
<ul>
<li>
<p>Remove Nix versions: 2.25.5</p>
</li>
<li>
<p>Bump minor Nix versions: 2.24.12 -&gt; 2.24.14, 2.26.1 -&gt; 2.26.3
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.28.3, 2.29.0</p>
</li>
<li>
<p>Bump default Nix version: 2.24.12 -&gt; 2.29.0</p>
</li>
<li>
<p>Fix issue with 'experimental-features' setting getting overwritten
(<a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/66">#66</a>).</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="889f3180bb"><code>889f318</code></a>
Release v31</li>
<li><a
href="09d596a493"><code>09d596a</code></a>
Fix workflow</li>
<li><a
href="ce8e5b9320"><code>ce8e5b9</code></a>
Document <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/45">#45</a></li>
<li><a
href="d9bcabc69f"><code>d9bcabc</code></a>
Avoid overwriting user-supplied experimental-feature setting. Fixes <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/66">#66</a>.</li>
<li><a
href="9eb57d6652"><code>9eb57d6</code></a>
Remove unused file</li>
<li><a
href="b6ab472bc4"><code>b6ab472</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/67">#67</a>
from nixbuild/nix_2_29</li>
<li><a
href="255feab0a1"><code>255feab</code></a>
Add Nix 2.29. Remove deprecated version 2.25.</li>
<li><a
href="8505cd40ae"><code>8505cd4</code></a>
Update README and workflows for v30</li>
<li>See full diff in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v30...v31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=30&new-version=31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>


___

### **PR Type**
Other


___

### **Description**
- Bump nixbuild/nix-quick-install-action from v30 to v31

- Updates GitHub Actions dependency for Nix installation

- Includes newer Nix versions and bug fixes


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>gen_schedule_update_deps.yaml</strong><dd><code>Update
Nix installation action version</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/gen_schedule_update_deps.yaml

- Update nixbuild/nix-quick-install-action version from v30 to v31


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/242/files#diff-ae003e22c1e5cbf186e1749d77dec35965e521d2583ba8cf45fcb1c8f300e177">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 08:44:24 +02:00
dependabot[bot]
a7353a83fd chore: bump Codium-ai/pr-agent from 0.29 to 0.30 (#243)
### **User description**
Bumps [Codium-ai/pr-agent](https://github.com/codium-ai/pr-agent) from
0.29 to 0.30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codium-ai/pr-agent/releases">Codium-ai/pr-agent's
releases</a>.</em></p>
<blockquote>
<h2>v0.30</h2>
<p>codiumai/pr-agent:0.30
codiumai/pr-agent:0.30-github_app
codiumai/pr-agent:0.30-bitbucket-app
codiumai/pr-agent:0.30-gitlab_webhook
codiumai/pr-agent:0.30-github_action
codiumai/pr-agent:0.30-azure_devops_webhook
codiumai/pr-agent:0.30-gitea-app</p>
<h2>What's Changed</h2>
<ul>
<li>Adding num_max_findings configuration parameter by <a
href="https://github.com/GuBee33"><code>@​GuBee33</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1797">qodo-ai/pr-agent#1797</a></li>
<li>docs: document how to auto-trigger /add_docs via pr_commands by <a
href="https://github.com/jmsb02"><code>@​jmsb02</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1795">qodo-ai/pr-agent#1795</a></li>
<li>Revise the review effort label text in the review document by <a
href="https://github.com/seohyun-lee"><code>@​seohyun-lee</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1799">qodo-ai/pr-agent#1799</a></li>
<li>Add incremental update to documentation by <a
href="https://github.com/sharoneyal"><code>@​sharoneyal</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1796">qodo-ai/pr-agent#1796</a></li>
<li><a
href="https://redirect.github.com/codium-ai/pr-agent/issues/1657">#1657</a>
add gitea/forgejo support by <a
href="https://github.com/nicholasgribanov"><code>@​nicholasgribanov</code></a>
in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1787">qodo-ai/pr-agent#1787</a></li>
<li>Correct typos in documentation and log messages by <a
href="https://github.com/seohyun-lee"><code>@​seohyun-lee</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1798">qodo-ai/pr-agent#1798</a></li>
<li>fix: reorder exception handling in
<code>LiteLLMAIHandler.chat_completion()</code> by <a
href="https://github.com/KangmoonSeo"><code>@​KangmoonSeo</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1803">qodo-ai/pr-agent#1803</a></li>
<li>Update LICENSE by <a
href="https://github.com/mrT23"><code>@​mrT23</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1809">qodo-ai/pr-agent#1809</a></li>
<li>docs: include [aws] in .secrets.template by <a
href="https://github.com/darkdread"><code>@​darkdread</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1801">qodo-ai/pr-agent#1801</a></li>
<li>fix: exclude RateLimitError from <code>@retry</code> in
<code>AIHandler.chat_completion()</code> by <a
href="https://github.com/KangmoonSeo"><code>@​KangmoonSeo</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1808">qodo-ai/pr-agent#1808</a></li>
<li>Add unit tests for try_fix_yaml function by <a
href="https://github.com/jwsong98"><code>@​jwsong98</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1812">qodo-ai/pr-agent#1812</a></li>
<li>feat: add support for Claude 4 family by <a
href="https://github.com/hirobf10"><code>@​hirobf10</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1814">qodo-ai/pr-agent#1814</a></li>
<li>Add Grok-3 non-beta model IDs by <a
href="https://github.com/PeterDaveHello"><code>@​PeterDaveHello</code></a>
in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1817">qodo-ai/pr-agent#1817</a></li>
<li>Add Unit Tests and Improve Documentation for utils.py clip_tokens
Function by <a
href="https://github.com/TaskerJang"><code>@​TaskerJang</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1816">qodo-ai/pr-agent#1816</a></li>
<li>Refactor count_tokens method structure in token_handler.py for
better extensibility by <a
href="https://github.com/Kkan9ma"><code>@​Kkan9ma</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1805">qodo-ai/pr-agent#1805</a></li>
<li>Improve/describe tool documentation and make add_diagram feature
opt-in by default by <a
href="https://github.com/ssunbear"><code>@​ssunbear</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1824">qodo-ai/pr-agent#1824</a></li>
<li>fix: ensure proper formatting of changes_diagram in PR description
ou… by <a href="https://github.com/mrT23"><code>@​mrT23</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1827">qodo-ai/pr-agent#1827</a></li>
<li>fix(test_language_handler): Add edge case for files with unknown
extensions by <a
href="https://github.com/wonggamggik"><code>@​wonggamggik</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1818">qodo-ai/pr-agent#1818</a></li>
<li>Feature/test get max tokens by <a
href="https://github.com/wonggamggik"><code>@​wonggamggik</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1819">qodo-ai/pr-agent#1819</a></li>
<li>Complete Gemini 2.5 Flash model info by <a
href="https://github.com/PeterDaveHello"><code>@​PeterDaveHello</code></a>
in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1822">qodo-ai/pr-agent#1822</a></li>
<li>Add unit tests for fix_json_escape_char function by <a
href="https://github.com/idealHyun"><code>@​idealHyun</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1825">qodo-ai/pr-agent#1825</a></li>
<li>test: add tests for converting to markdown by <a
href="https://github.com/dst03106"><code>@​dst03106</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1829">qodo-ai/pr-agent#1829</a></li>
<li>docs: correct parameter name typo and update description by <a
href="https://github.com/isExample"><code>@​isExample</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1831">qodo-ai/pr-agent#1831</a></li>
<li>Refactor: Enhance AI Handler Robustness, Interface Compliance, and
Asynchronous Operations (Resolves <a
href="https://redirect.github.com/codium-ai/pr-agent/issues/1784">#1784</a>)
by <a href="https://github.com/Akileox"><code>@​Akileox</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1828">qodo-ai/pr-agent#1828</a></li>
<li>[Feature] - Gitea implement by <a
href="https://github.com/pinyoothotaboot"><code>@​pinyoothotaboot</code></a>
in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1811">qodo-ai/pr-agent#1811</a></li>
<li>docs: add dedicated &quot;Chat on code suggestions&quot; core
ability by <a
href="https://github.com/ofir-frd"><code>@​ofir-frd</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1835">qodo-ai/pr-agent#1835</a></li>
<li>docs: enhance review.md with ticket compliance labels and merge
block… by <a href="https://github.com/mrT23"><code>@​mrT23</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1837">qodo-ai/pr-agent#1837</a></li>
<li>docs: add Linear integration to ticket context fetching
documentation by <a
href="https://github.com/hussam789"><code>@​hussam789</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1838">qodo-ai/pr-agent#1838</a></li>
<li>Reorganize and Enhance Tools Documentation with Improved Navigation
and Consistency
by <a href="https://github.com/ofir-frd"><code>@​ofir-frd</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1840">qodo-ai/pr-agent#1840</a></li>
<li>feat: add AWS Secrets Manager Integration for Lambda deployments by
<a href="https://github.com/yamoyamoto"><code>@​yamoyamoto</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1839">qodo-ai/pr-agent#1839</a></li>
<li>docs: update trial usage information to reflect new quota-based
model by <a href="https://github.com/mrT23"><code>@​mrT23</code></a> in
<a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1832">qodo-ai/pr-agent#1832</a></li>
<li>docs: add global hierarchical best practices system by <a
href="https://github.com/ofir-frd"><code>@​ofir-frd</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1844">qodo-ai/pr-agent#1844</a></li>
<li>Hl/multi jira server docs by <a
href="https://github.com/hussam789"><code>@​hussam789</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1845">qodo-ai/pr-agent#1845</a></li>
<li>Update atlassian-connect.json by <a
href="https://github.com/hussam789"><code>@​hussam789</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1850">qodo-ai/pr-agent#1850</a></li>
<li>Add Google Gemini 2.5 Pro Preview 06-05 by <a
href="https://github.com/PeterDaveHello"><code>@​PeterDaveHello</code></a>
in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1853">qodo-ai/pr-agent#1853</a></li>
<li>Fix gitea get file content error by <a
href="https://github.com/SCREEN88"><code>@​SCREEN88</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1852">qodo-ai/pr-agent#1852</a></li>
<li>chore: add APAC region endpoints for Bedrock Anthropic Claude models
by <a href="https://github.com/kebhr"><code>@​kebhr</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1851">qodo-ai/pr-agent#1851</a></li>
<li>docs: update PR benchmark to ranking-based methodology with expanded
… by <a href="https://github.com/mrT23"><code>@​mrT23</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1866">qodo-ai/pr-agent#1866</a></li>
<li>Add GitLab support for CHANGELOG.md by <a
href="https://github.com/cesdperez"><code>@​cesdperez</code></a> in <a
href="https://redirect.github.com/qodo-ai/pr-agent/pull/1856">qodo-ai/pr-agent#1856</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="eb4cdbb115"><code>eb4cdbb</code></a>
fix: remove branch parameter from get_content_of_file call in bitbucket
serve...</li>
<li><a
href="7f54b14b4d"><code>7f54b14</code></a>
Merge pull request <a
href="https://redirect.github.com/codium-ai/pr-agent/issues/1874">#1874</a>
from yoohya/feat/support-gitlab-lambda-webhooks</li>
<li><a
href="938ab9a139"><code>938ab9a</code></a>
fix: remove redundant word 'possible' from security concerns field
description</li>
<li><a
href="75bde39b03"><code>75bde39</code></a>
Merge pull request <a
href="https://redirect.github.com/codium-ai/pr-agent/issues/1888">#1888</a>
from qodo-ai/tr/simplify_toDo</li>
<li><a
href="ee36c0208c"><code>ee36c02</code></a>
Update pr_agent/settings/pr_reviewer_prompts.toml</li>
<li><a
href="7c02678ba5"><code>7c02678</code></a>
refactor: extract TODO formatting functions and simplify data
structure</li>
<li><a
href="235df737d0"><code>235df73</code></a>
docs: update Docker image tags</li>
<li><a
href="37ef4bad8f"><code>37ef4ba</code></a>
docs: add bullet point formatting instruction to PR description
prompts</li>
<li><a
href="ab7e0d9141"><code>ab7e0d9</code></a>
refactor: split serverless handlers into dedicated GitHub and GitLab
Lambda e...</li>
<li><a
href="7db4d97fc2"><code>7db4d97</code></a>
Merge pull request <a
href="https://redirect.github.com/codium-ai/pr-agent/issues/1880">#1880</a>
from alessio-locatelli/fix_yes_no</li>
<li>Additional commits viewable in <a
href="https://github.com/codium-ai/pr-agent/compare/v0.29...v0.30">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Codium-ai/pr-agent&package-manager=github_actions&previous-version=0.29&new-version=0.30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>


___

### **PR Type**
Other


___

### **Description**
- Bump Codium-ai/pr-agent GitHub Action from v0.29 to v0.30

- Update dependency version in workflow configuration

- Maintain existing workflow functionality and permissions


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>gen_ai_review.yaml</strong><dd><code>Update pr-agent
action version</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.github/workflows/gen_ai_review.yaml

- Updated Codium-ai/pr-agent action version from v0.29 to v0.30


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/243/files#diff-d1e4c772e0acb5ce4891df2dd94ba58ffaf6393e8f75493ec7e10cbce1c4992c">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 08:38:18 +02:00
David Barroso
c2b5a499af chore: update CI (#240)
### **PR Type**
Enhancement


___

### **Description**
• Enhanced CI security with permission checks and safe_to_test label
• Added AI-powered PR review workflow with Claude integration
• Migrated to Blacksmith runners and S3-based Nix cache
• Improved AWS integration with OIDC and ECR authentication


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>checks.yaml</strong><dd><code>Enhanced security with
permission checks</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.github/workflows/checks.yaml

• Changed trigger from <code>pull_request</code> to
<code>pull_request_target</code> for <br>security<br> • Added permission
check job requiring <code>safe_to_test</code> label or <br>trusted
user<br> • Added secrets for AWS account, Nix cache keys<br> • Added
<br>job to automatically remove <code>safe_to_test</code> label after
use


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/240/files#diff-4af11422a4987e947e5a47adead7a30d32cdb2db82e2d3fe36f8e6cbe84d5ac5">+36/-2</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>gen_ai_review.yaml</strong><dd><code>Added AI review
workflow</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/gen_ai_review.yaml

• New workflow for AI-powered PR reviews using Claude Sonnet model<br> •
<br>Triggers on PR events and issue comments<br> • Configured with
OpenAI and <br>Anthropic API keys<br> • Ignores generated files and
vendor directories


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/240/files#diff-d1e4c772e0acb5ce4891df2dd94ba58ffaf6393e8f75493ec7e10cbce1c4992c">+27/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>wf_build_artifacts.yaml</strong><dd><code>Migrated to
Blacksmith runners and S3 cache</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.github/workflows/wf_build_artifacts.yaml

• Migrated from Ubuntu runners to Blacksmith ARM/x64 runners<br> •
<br>Replaced Magic Nix Cache with S3-based cache using AWS
credentials<br> • <br>Added AWS OIDC configuration and ECR
integration<br> • Improved <br>architecture detection and artifact
naming


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/240/files#diff-63d6f3e2e5894df4d88cf2c82b3d0c90e7b0b7c8ca9da25a3d46f35f15270fb0">+28/-22</a>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>wf_check.yaml</strong><dd><code>Enhanced checks with
AWS integration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/wf_check.yaml

• Migrated to Blacksmith ARM runner with reduced timeout<br> • Added AWS
<br>OIDC and ECR login configuration<br> • Replaced Magic Nix Cache with
<br>S3-based cache<br> • Enhanced build verification for both Go and
Node <br>components


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/240/files#diff-c2ecea6736037ba6304681d744d612d44d7681788d2fbc58ce223cf52ecefa43">+47/-25</a>&nbsp;
</td>

</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>release.yaml</strong><dd><code>Updated release workflow
secrets</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/release.yaml

• Added secrets for AWS account and Nix cache keys<br> • Removed
<code>DOCKER</code> <br>input parameter from build artifacts call


</details>


  </td>
<td><a
href="https://github.com/nhost/hasura-storage/pull/240/files#diff-e426ed45842837026e10e66af23d9c7077e89eacbe6958ce7cb991130ad05ada">+9/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-30 11:39:15 +02:00
David Barroso
b0a2ceb368 chore: update dependencies (#238) 2025-05-06 11:44:25 +02:00
dependabot[bot]
a957f4051a chore: bump cachix/install-nix-action from 30 to 31 (#236)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 30 to 31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v31</h2>
<h2>What's Changed</h2>
<ul>
<li>nix: 2.24.9 -&gt; 2.25.2 by <a
href="https://github.com/Mic92"><code>@​Mic92</code></a> in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/218">cachix/install-nix-action#218</a></li>
<li>ci: fix latest installer tests by <a
href="https://github.com/sandydoo"><code>@​sandydoo</code></a> in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/220">cachix/install-nix-action#220</a></li>
<li>ci: add ubuntu-24.04-arm to matrix by <a
href="https://github.com/msgilligan"><code>@​msgilligan</code></a> in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/221">cachix/install-nix-action#221</a></li>
<li>nix: 2.25.2 -&gt; 2.26.2 by <a
href="https://github.com/Mic92"><code>@​Mic92</code></a> in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/226">cachix/install-nix-action#226</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/msgilligan"><code>@​msgilligan</code></a> made
their first contribution in <a
href="https://redirect.github.com/cachix/install-nix-action/pull/221">cachix/install-nix-action#221</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cachix/install-nix-action/compare/v30...v31">https://github.com/cachix/install-nix-action/compare/v30...v31</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="91a0719595"><code>91a0719</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/226">#226</a>
from Mic92/nix-update</li>
<li><a
href="d81eadf041"><code>d81eadf</code></a>
nix: 2.25.2 -&gt; 2.26.2</li>
<li><a
href="3d69a1d4d2"><code>3d69a1d</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/221">#221</a>
from msgilligan/msgilligan/github-test-aarch64-linux</li>
<li><a
href="265a04a520"><code>265a04a</code></a>
GitHub test.yml: add ubuntu-24.04-arm to matrix</li>
<li><a
href="89fd1e98db"><code>89fd1e9</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/220">#220</a>
from cachix/fix-master-tests</li>
<li><a
href="a76df16350"><code>a76df16</code></a>
ci: bump nixpkgs channel</li>
<li><a
href="a49b703498"><code>a49b703</code></a>
ci: fix act test</li>
<li><a
href="f3f544c44b"><code>f3f544c</code></a>
ci: fix latest installer tests</li>
<li><a
href="14344b39ca"><code>14344b3</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/218">#218</a>
from Mic92/nix-upgrade</li>
<li><a
href="b1deb06f62"><code>b1deb06</code></a>
nix: 2.24.9 -&gt; 2.25.2</li>
<li>See full diff in <a
href="https://github.com/cachix/install-nix-action/compare/v30...v31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=30&new-version=31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 10:34:33 +01:00
David Barroso
47bd415a97 chore: update minio (#235) 2025-03-05 15:40:10 +01:00
dependabot[bot]
730948f07b chore: bump nixbuild/nix-quick-install-action from 29 to 30 (#234)
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 29 to 30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v30</h2>
<h2>Changes</h2>
<ul>
<li>
<p>Remove Nix versions: 2.18.8, 2.19.6, 2.20.8, 2.21.4, 2.23.3</p>
</li>
<li>
<p>Bump minor Nix versions: 2.24.9 -&gt; 2.24.12
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.25.5, 2.26.1</p>
</li>
<li>
<p>Bump default Nix version: 2.24.9 -&gt; 2.24.12</p>
</li>
<li>
<p>Add support for <code>ubuntu-24.04-arm</code> (aarch64-linux)
runners.</p>
</li>
<li>
<p>Enable support for KVM in builds. Can be turned off with the new
<code>enable_kvm</code>
configuration option.</p>
</li>
</ul>
<h2>Supported Nix Versions on x86_64-linux runners</h2>
<ul>
<li>2.26.1</li>
<li>2.25.5</li>
<li>2.24.12</li>
<li>2.3.18</li>
</ul>
<h2>Supported Nix Versions on aarch64-linux runners</h2>
<ul>
<li>2.26.1</li>
<li>2.25.5</li>
<li>2.24.12</li>
</ul>
<h2>Supported Nix Versions on x86_64-darwin runners</h2>
<ul>
<li>2.26.1</li>
<li>2.25.5</li>
<li>2.24.12</li>
<li>2.3.18</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v30</p>
<h2>Changes</h2>
<ul>
<li>
<p>Remove Nix versions: 2.18.8, 2.19.6, 2.20.8, 2.21.4, 2.23.3</p>
</li>
<li>
<p>Bump minor Nix versions: 2.24.9 -&gt; 2.24.12
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.25.5, 2.26.1</p>
</li>
<li>
<p>Bump default Nix version: 2.24.9 -&gt; 2.24.12</p>
</li>
<li>
<p>Add support for <code>ubuntu-24.04-arm</code> (aarch64-linux)
runners.</p>
</li>
<li>
<p>Enable support for KVM in builds. Can be turned off with the new
<code>enable_kvm</code>
configuration option.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5bb6a3b3ab"><code>5bb6a3b</code></a>
Release v30</li>
<li><a
href="607b4cf724"><code>607b4cf</code></a>
Remove outdated documentation (fixes <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/57">#57</a>)</li>
<li><a
href="5f5c23a20a"><code>5f5c23a</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/52">#52</a>
from azuwis/macos-volume</li>
<li><a
href="9f331f3772"><code>9f331f3</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/59">#59</a>
from nixbuild/readd_nix_2_3</li>
<li><a
href="904096fd8f"><code>904096f</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/56">#56</a>
from Smona/enable-kvm-on-linux</li>
<li><a
href="acdadbc3a6"><code>acdadbc</code></a>
Nix 2.3 doesn't work on aarch64-linux for some reason</li>
<li><a
href="0006832f24"><code>0006832</code></a>
ci: Fix syntax</li>
<li><a
href="450f0c1fe7"><code>450f0c1</code></a>
ci: Exclude Nix 2.3 on aarch64-linux</li>
<li><a
href="900859c11a"><code>900859c</code></a>
Add back Nix 2.3</li>
<li><a
href="73e45e62a2"><code>73e45e6</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/58">#58</a>
from deemp/master</li>
<li>Additional commits viewable in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v29...v30">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=29&new-version=30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 14:48:43 +01:00
Jason Overmier
818654f8ef feat: Reduce AVIF Transform CPU Load by Lowering Effort Level (#233)
## Problem
The default AVIF encoding effort level was set to 5, which resulted in
high CPU usage during image transformations. This could make the storage
service resource-intensive and less suitable for lightweight or
small-server deployments.

## Solution
Set the AVIF effort level to 0 (fastest) instead of the default 5. This
change significantly reduces CPU load during image transformation,
making the storage service more efficient and lightweight.

## Notes
Lower effort levels trade off some compression efficiency for reduced
CPU usage.
This adjustment helps optimize performance on small-scale servers while
still maintaining acceptable image quality.
2025-02-28 12:04:16 +01:00
David Barroso
6790c7d08f feat: added support for avif and "format" query arg to transform output format (#232)
Fixes https://github.com/nhost/nhost/issues/2508 and
https://github.com/nhost/nhost/issues/3212
2025-02-21 07:16:03 +01:00
David Barroso
5f1a23960a chore: update dependencies (#231) 2025-02-03 16:14:47 +01:00
dependabot[bot]
e4da899d59 chore: bump DeterminateSystems/magic-nix-cache-action from 8 to 9 (#230)
Bumps
[DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action)
from 8 to 9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/determinatesystems/magic-nix-cache-action/releases">DeterminateSystems/magic-nix-cache-action's
releases</a>.</em></p>
<blockquote>
<h2>v9</h2>
<h2>What's Changed</h2>
<ul>
<li>ci workflow: don't check initial substituter list by <a
href="https://github.com/colemickens"><code>@​colemickens</code></a> in
<a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/90">DeterminateSystems/magic-nix-cache-action#90</a></li>
<li>Matrix by <a
href="https://github.com/grahamc"><code>@​grahamc</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/96">DeterminateSystems/magic-nix-cache-action#96</a></li>
<li>Update <code>detsys-ts</code>: Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/69">#69</a>
from DeterminateSystems/update-deps by <a
href="https://github.com/detsys-pr-bot"><code>@​detsys-pr-bot</code></a>
in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/99">DeterminateSystems/magic-nix-cache-action#99</a></li>
<li>Fixup diagnostic URL handling by <a
href="https://github.com/grahamc"><code>@​grahamc</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/100">DeterminateSystems/magic-nix-cache-action#100</a></li>
<li>Diagnostics by <a
href="https://github.com/grahamc"><code>@​grahamc</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/101">DeterminateSystems/magic-nix-cache-action#101</a></li>
<li>Warn on mnc usage by <a
href="https://github.com/grahamc"><code>@​grahamc</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/102">DeterminateSystems/magic-nix-cache-action#102</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/DeterminateSystems/magic-nix-cache-action/compare/v8...v9">https://github.com/DeterminateSystems/magic-nix-cache-action/compare/v8...v9</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6221693898"><code>6221693</code></a>
Warn on mnc usage (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/102">#102</a>)</li>
<li><a
href="f7eb5b510a"><code>f7eb5b5</code></a>
Diagnostics (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/101">#101</a>)</li>
<li><a
href="fe89a484fe"><code>fe89a48</code></a>
Fixup diagnostic URL handling (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/100">#100</a>)</li>
<li><a
href="13dabe8ccc"><code>13dabe8</code></a>
Update <code>detsys-ts</code> for: `Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/69">#69</a>
from DeterminateSystems/updat...</li>
<li><a
href="9ab3ce70d6"><code>9ab3ce7</code></a>
Matrix (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/96">#96</a>)</li>
<li><a
href="a76a83091c"><code>a76a830</code></a>
ci workflow: don't check initial substituter list (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/90">#90</a>)</li>
<li>See full diff in <a
href="https://github.com/determinatesystems/magic-nix-cache-action/compare/v8...v9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DeterminateSystems/magic-nix-cache-action&package-manager=github_actions&previous-version=8&new-version=9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 10:00:05 +01:00
dependabot[bot]
b2dc2dd8f9 chore: bump nixbuild/nix-quick-install-action from 28 to 29 (#229)
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 28 to 29.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v29</h2>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.18.2 -&gt; 2.18.8, 2.19.3 -&gt; 2.19.6,
2.20.5 -&gt; 2.20.8,
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.22.3, 2.23.3, 2.24.9</p>
</li>
<li>
<p>Bump default Nix version: 2.21.0 -&gt; 2.24.9</p>
</li>
<li>
<p>Add support for <code>macos-14</code> (ARM64) runners, and remove
support for deprecated
runners. The supported runners are now <code>ubuntu-22.04</code>,
<code>macos-13</code> and
<code>macos-14</code>. Other runners might work, but are not tested by
the
<code>nix-quick-install-action</code> CI.</p>
</li>
</ul>
<h2>Supported Nix Versions on Linux Runners</h2>
<ul>
<li>2.24.9</li>
<li>2.23.3</li>
<li>2.22.3</li>
<li>2.21.4</li>
<li>2.20.8</li>
<li>2.19.6</li>
<li>2.18.8</li>
<li>2.3.18</li>
</ul>
<h2>Supported Nix Versions on MacOS Runners</h2>
<ul>
<li>2.24.9</li>
<li>2.23.3</li>
<li>2.22.3</li>
<li>2.21.4</li>
<li>2.20.8</li>
<li>2.19.6</li>
<li>2.18.8</li>
<li>2.3.18</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v29</p>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.18.2 -&gt; 2.18.8, 2.19.3 -&gt; 2.19.6,
2.20.5 -&gt; 2.20.8,
2.21.0 -&gt; 2.21.4.</p>
</li>
<li>
<p>Add Nix versions: 2.22.3, 2.23.3, 2.24.9</p>
</li>
<li>
<p>Bump default Nix version: 2.21.0 -&gt; 2.24.9</p>
</li>
<li>
<p>Add support for <code>macos-14</code> (ARM64) runners, and remove
support for deprecated
runners. The supported runners are now <code>ubuntu-22.04</code>,
<code>macos-13</code> and
<code>macos-14</code>. Other runners might work, but are not tested by
the
<code>nix-quick-install-action</code> CI.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="25aff27c25"><code>25aff27</code></a>
Release v29</li>
<li><a
href="e2067cf49b"><code>e2067cf</code></a>
flake: Remove unused system</li>
<li><a
href="4ed3e0f5c8"><code>4ed3e0f</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/51">#51</a>
from nixbuild/update-actions</li>
<li><a
href="1e71a36371"><code>1e71a36</code></a>
ci: Add arch to artifact names</li>
<li><a
href="da4598eac4"><code>da4598e</code></a>
ci: Update actions</li>
<li><a
href="1a459e021e"><code>1a459e0</code></a>
Work around MacOS Arm64 bootstrap problem</li>
<li><a
href="55b85d501e"><code>55b85d5</code></a>
ci: Also build with macos-14 so MacOS Arm64 artifacts are produced</li>
<li><a
href="843aed6c2a"><code>843aed6</code></a>
Fix incorrect env var in install script</li>
<li><a
href="4f426bb427"><code>4f426bb</code></a>
Remove obsolete comment in install script</li>
<li><a
href="eb8469b4e1"><code>eb8469b</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/47">#47</a>
from dbarrosop/master</li>
<li>Additional commits viewable in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v28...v29">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=28&new-version=29)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 08:55:46 +01:00
github-actions[bot]
c21d1d4547 chore: modify update dependencies schedule (#228)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2024-11-01 09:53:33 +01:00
dependabot[bot]
e0c0709d1e chore: bump cachix/install-nix-action from 29 to 30 (#226)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 29 to 30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v30</h2>
<ul>
<li>Nix: 2.24.7 -&gt; 2.24.9, fixing <a
href="https://github.com/NixOS/nix/security/advisories/GHSA-6fjr-mq49-mm2c">GHSA-6fjr-mq49-mm2c</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="08dcb3a5e6"><code>08dcb3a</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/217">#217</a>
from Enzime/bump</li>
<li><a
href="4204e15198"><code>4204e15</code></a>
nix: 2.24.8 -&gt; 2.24.9</li>
<li><a
href="6a10e2e9fd"><code>6a10e2e</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/216">#216</a>
from Mic92/nix-bump</li>
<li><a
href="2bb614e91a"><code>2bb614e</code></a>
Nix: 2.24.7 -&gt; 2.24.8</li>
<li>See full diff in <a
href="https://github.com/cachix/install-nix-action/compare/v29...v30">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=29&new-version=30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-04 09:42:07 +02:00
github-actions[bot]
449f1c58cf [Scheduled] Update dependencies (#225)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

---------

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2024-10-01 09:26:15 +02:00
dependabot[bot]
97eb40b2a2 chore: bump cachix/install-nix-action from V28 to 29 (#224)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from V28 to 29. This release includes the previously tagged commit.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v29</h2>
<p>Bumps Nix to 2.24.8 to fix CVE-2024-47174</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9f70348d77"><code>9f70348</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/215">#215</a>
from Mic92/nix-bump</li>
<li><a
href="4f91dc2b65"><code>4f91dc2</code></a>
Nix: 2.24.6 -&gt; 2.24.7</li>
<li>See full diff in <a
href="https://github.com/cachix/install-nix-action/compare/V28...v29">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-27 12:07:53 +02:00
dependabot[bot]
d2e05005ed chore: bump cachix/install-nix-action from 27 to 28 (#222)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 27 to 28.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
releases</a>.</em></p>
<blockquote>
<h2>v28</h2>
<p>Nix 2.24.6 - <a
href="https://github.com/NixOS/nix/security/advisories/GHSA-h4vv-h3jq-v493">https://github.com/NixOS/nix/security/advisories/GHSA-h4vv-h3jq-v493</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3715ab1a11"><code>3715ab1</code></a>
bump channel</li>
<li><a
href="1872f1ff9d"><code>1872f1f</code></a>
Nix: 2.22.1 -&gt; 2.24.6</li>
<li><a
href="e268b7aa05"><code>e268b7a</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/213">#213</a>
from phaer/patch-1</li>
<li><a
href="5b8c65d4d7"><code>5b8c65d</code></a>
Update README: hardware accel is available now...</li>
<li><a
href="ba01fffc51"><code>ba01fff</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/210">#210</a>
from guoard/patch-1</li>
<li><a
href="474f0a77aa"><code>474f0a7</code></a>
docs(readme): update checkout action version</li>
<li><a
href="725982224c"><code>7259822</code></a>
readme: V27</li>
<li>See full diff in <a
href="https://github.com/cachix/install-nix-action/compare/v27...V28">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=27&new-version=28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 08:08:59 +02:00
dependabot[bot]
168c433729 chore: bump DeterminateSystems/magic-nix-cache-action from 7 to 8 (#221)
Bumps
[DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action)
from 7 to 8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/determinatesystems/magic-nix-cache-action/releases">DeterminateSystems/magic-nix-cache-action's
releases</a>.</em></p>
<blockquote>
<h2>v8</h2>
<h2>What's Changed</h2>
<ul>
<li>RUST_LOG default to tracing our stuff, only debug for everything
else by <a
href="https://github.com/colemickens"><code>@​colemickens</code></a> in
<a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/63">DeterminateSystems/magic-nix-cache-action#63</a></li>
<li>Remove package-lock.json by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/64">DeterminateSystems/magic-nix-cache-action#64</a></li>
<li>Prevent the Action from failing with strict mode disabled by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/62">DeterminateSystems/magic-nix-cache-action#62</a></li>
<li>Fix nullish coalescing by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/65">DeterminateSystems/magic-nix-cache-action#65</a></li>
<li>Update detsys-ts by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/66">DeterminateSystems/magic-nix-cache-action#66</a></li>
<li>Provide info output for potential missing permissions block by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/73">DeterminateSystems/magic-nix-cache-action#73</a></li>
<li>Bump fast-xml-parser from 4.4.0 to 4.4.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/75">DeterminateSystems/magic-nix-cache-action#75</a></li>
<li>Update fast-xml-parser by <a
href="https://github.com/lucperkins"><code>@​lucperkins</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/78">DeterminateSystems/magic-nix-cache-action#78</a></li>
<li>Don't run the &quot;trusted&quot; checks if we're in a PR by <a
href="https://github.com/grahamc"><code>@​grahamc</code></a> in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/85">DeterminateSystems/magic-nix-cache-action#85</a></li>
<li>Update <code>detsys-ts</code>: Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/63">#63</a>
from DeterminateSystems/retry-streams by <a
href="https://github.com/detsys-pr-bot"><code>@​detsys-pr-bot</code></a>
in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/84">DeterminateSystems/magic-nix-cache-action#84</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/colemickens"><code>@​colemickens</code></a>
made their first contribution in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/63">DeterminateSystems/magic-nix-cache-action#63</a></li>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a> made
their first contribution in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/75">DeterminateSystems/magic-nix-cache-action#75</a></li>
<li><a
href="https://github.com/detsys-pr-bot"><code>@​detsys-pr-bot</code></a>
made their first contribution in <a
href="https://redirect.github.com/DeterminateSystems/magic-nix-cache-action/pull/84">DeterminateSystems/magic-nix-cache-action#84</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/DeterminateSystems/magic-nix-cache-action/compare/v7...v8">https://github.com/DeterminateSystems/magic-nix-cache-action/compare/v7...v8</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="87b14cf437"><code>87b14cf</code></a>
Update <code>detsys-ts</code> for: `Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/63">#63</a>
from DeterminateSystems/retry...</li>
<li><a
href="538f0296e2"><code>538f029</code></a>
Don't run the &quot;trusted&quot; checks if we're in a PR (<a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/85">#85</a>)</li>
<li><a
href="9d627e84ff"><code>9d627e8</code></a>
Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/78">#78</a>
from DeterminateSystems/update-fast-xml-parser</li>
<li><a
href="9d32f14410"><code>9d32f14</code></a>
Update fast-xml-parser</li>
<li><a
href="6181dd9ee2"><code>6181dd9</code></a>
Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/75">#75</a>
from DeterminateSystems/dependabot/npm_and_yarn/fast-x...</li>
<li><a
href="768ebc3208"><code>768ebc3</code></a>
Update built package</li>
<li><a
href="1929664175"><code>1929664</code></a>
Bump fast-xml-parser from 4.4.0 to 4.4.1</li>
<li><a
href="56ad6029ca"><code>56ad602</code></a>
Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/73">#73</a>
from DeterminateSystems/clarify-log-message</li>
<li><a
href="45d13621c5"><code>45d1362</code></a>
Provide info output for potential missing permissions block</li>
<li><a
href="7f56db3553"><code>7f56db3</code></a>
Merge pull request <a
href="https://redirect.github.com/determinatesystems/magic-nix-cache-action/issues/66">#66</a>
from DeterminateSystems/update-detsys-ts</li>
<li>Additional commits viewable in <a
href="https://github.com/determinatesystems/magic-nix-cache-action/compare/v7...v8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DeterminateSystems/magic-nix-cache-action&package-manager=github_actions&previous-version=7&new-version=8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 08:35:22 +02:00
dependabot[bot]
066bc1df6d chore: bump peter-evans/create-pull-request from 6 to 7 (#220)
Bumps
[peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request)
from 6 to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's
releases</a>.</em></p>
<blockquote>
<h2>Create Pull Request v7.0.0</h2>
<p> Now supports commit signing with bot-generated tokens! See
&quot;What's new&quot; below. ✍️🤖</p>
<h3>Behaviour changes</h3>
<ul>
<li>Action input <code>git-token</code> has been renamed
<code>branch-token</code>, to be more clear about its purpose. The
<code>branch-token</code> is the token that the action will use to
create and update the branch.</li>
<li>The action now handles requests that have been rate-limited by
GitHub. Requests hitting a primary rate limit will retry twice, for a
total of three attempts. Requests hitting a secondary rate limit will
not be retried.</li>
<li>The <code>pull-request-operation</code> output now returns
<code>none</code> when no operation was executed.</li>
<li>Removed deprecated output environment variable
<code>PULL_REQUEST_NUMBER</code>. Please use the
<code>pull-request-number</code> action output instead.</li>
</ul>
<h3>What's new</h3>
<ul>
<li>The action can now sign commits as <code>github-actions[bot]</code>
when using <code>GITHUB_TOKEN</code>, or your own bot when using <a
href="https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens">GitHub
App tokens</a>. See <a
href="https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#commit-signature-verification-for-bots">commit
signing</a> for details.</li>
<li>Action input <code>draft</code> now accepts a new value
<code>always-true</code>. This will set the pull request to draft status
when the pull request is updated, as well as on creation.</li>
<li>A new action input <code>maintainer-can-modify</code> indicates
whether <a
href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork">maintainers
can modify</a> the pull request. The default is <code>true</code>, which
retains the existing behaviour of the action.</li>
<li>A new output <code>pull-request-commits-verified</code> returns
<code>true</code> or <code>false</code>, indicating whether GitHub
considers the signature of the branch's commits to be verified.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.36 to
18.19.39 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3000">peter-evans/create-pull-request#3000</a></li>
<li>build(deps-dev): bump ts-jest from 29.1.5 to 29.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3008">peter-evans/create-pull-request#3008</a></li>
<li>build(deps-dev): bump prettier from 3.3.2 to 3.3.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3018">peter-evans/create-pull-request#3018</a></li>
<li>build(deps-dev): bump ts-jest from 29.2.0 to 29.2.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3019">peter-evans/create-pull-request#3019</a></li>
<li>build(deps-dev): bump eslint-plugin-prettier from 5.1.3 to 5.2.1 by
<a href="https://github.com/dependabot"><code>@​dependabot</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3035">peter-evans/create-pull-request#3035</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.39 to
18.19.41 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3037">peter-evans/create-pull-request#3037</a></li>
<li>build(deps): bump undici from 6.19.2 to 6.19.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3036">peter-evans/create-pull-request#3036</a></li>
<li>build(deps-dev): bump ts-jest from 29.2.2 to 29.2.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3038">peter-evans/create-pull-request#3038</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.41 to
18.19.42 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3070">peter-evans/create-pull-request#3070</a></li>
<li>build(deps): bump undici from 6.19.4 to 6.19.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3086">peter-evans/create-pull-request#3086</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.42 to
18.19.43 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3087">peter-evans/create-pull-request#3087</a></li>
<li>build(deps-dev): bump ts-jest from 29.2.3 to 29.2.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3088">peter-evans/create-pull-request#3088</a></li>
<li>build(deps): bump undici from 6.19.5 to 6.19.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3145">peter-evans/create-pull-request#3145</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.43 to
18.19.44 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3144">peter-evans/create-pull-request#3144</a></li>
<li>Update distribution by <a
href="https://github.com/actions-bot"><code>@​actions-bot</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3154">peter-evans/create-pull-request#3154</a></li>
<li>build(deps): bump undici from 6.19.7 to 6.19.8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3213">peter-evans/create-pull-request#3213</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.44 to
18.19.45 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3214">peter-evans/create-pull-request#3214</a></li>
<li>Update distribution by <a
href="https://github.com/actions-bot"><code>@​actions-bot</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3221">peter-evans/create-pull-request#3221</a></li>
<li>build(deps-dev): bump eslint-import-resolver-typescript from 3.6.1
to 3.6.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3255">peter-evans/create-pull-request#3255</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 18.19.45 to
18.19.46 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3254">peter-evans/create-pull-request#3254</a></li>
<li>build(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3256">peter-evans/create-pull-request#3256</a></li>
<li>v7 - signed commits by <a
href="https://github.com/peter-evans"><code>@​peter-evans</code></a> in
<a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3057">peter-evans/create-pull-request#3057</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/rustycl0ck"><code>@​rustycl0ck</code></a> made
their first contribution in <a
href="https://redirect.github.com/peter-evans/create-pull-request/pull/3057">peter-evans/create-pull-request#3057</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/peter-evans/create-pull-request/compare/v6.1.0...v7.0.0">https://github.com/peter-evans/create-pull-request/compare/v6.1.0...v7.0.0</a></p>
<h2>Create Pull Request v6.1.0</h2>
<p> Adds <code>pull-request-branch</code> as an action output.</p>
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4320041ed3"><code>4320041</code></a>
feat: signed commits (v7) (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3057">#3057</a>)</li>
<li><a
href="0c2a66fe4a"><code>0c2a66f</code></a>
build(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3256">#3256</a>)</li>
<li><a
href="17121bc5b5"><code>17121bc</code></a>
build(deps-dev): bump <code>@​types/node</code> from 18.19.45 to
18.19.46 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3254">#3254</a>)</li>
<li><a
href="87b5d6d564"><code>87b5d6d</code></a>
build(deps-dev): bump eslint-import-resolver-typescript (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3255">#3255</a>)</li>
<li><a
href="00897e0bc2"><code>00897e0</code></a>
build: update distribution (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3221">#3221</a>)</li>
<li><a
href="4cfc1fc717"><code>4cfc1fc</code></a>
build(deps-dev): bump <code>@​types/node</code> from 18.19.44 to
18.19.45 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3214">#3214</a>)</li>
<li><a
href="cb4ed6491a"><code>cb4ed64</code></a>
build(deps): bump undici from 6.19.7 to 6.19.8 (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3213">#3213</a>)</li>
<li><a
href="4eb90b7bc7"><code>4eb90b7</code></a>
ci: separate test suite commands in pr comment</li>
<li><a
href="5308ecb864"><code>5308ecb</code></a>
ci: add sign-commits flag to test suite comment</li>
<li><a
href="ba864ad40c"><code>ba864ad</code></a>
build: update distribution (<a
href="https://redirect.github.com/peter-evans/create-pull-request/issues/3154">#3154</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/peter-evans/create-pull-request/compare/v6...v7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-pull-request&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 08:25:33 +02:00
github-actions[bot]
f1bc6f8e5c [Scheduled] Update dependencies (#218)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2024-09-01 09:42:46 +02:00
David Barroso
32bec88d4c ci: hotfix for release 2024-08-29 16:55:25 +02:00
David Barroso
aa51d402bd chore: ci: standardize (#217) 2024-08-29 16:31:42 +02:00
github-actions[bot]
218a310641 [Scheduled] Update dependencies (#215)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

---------

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2024-08-03 14:21:34 +02:00
github-actions[bot]
c2c86d5b43 [Scheduled] Update dependencies (#212)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

---------

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2024-06-02 22:44:37 +02:00
dependabot[bot]
1417ea7209 chore: bump cachix/cachix-action from 14 to 15 (#211)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action)
from 14 to 15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/cachix-action/releases">cachix/cachix-action's
releases</a>.</em></p>
<blockquote>
<h2>cachix-action-v15</h2>
<h2>What's Changed</h2>
<ul>
<li>Pass <code>cachixArgs</code> to the daemon by <a
href="https://github.com/sandydoo"><code>@​sandydoo</code></a> in <a
href="https://redirect.github.com/cachix/cachix-action/pull/177">cachix/cachix-action#177</a></li>
<li>Support path filtering when using the daemon by <a
href="https://github.com/sandydoo"><code>@​sandydoo</code></a> in <a
href="https://redirect.github.com/cachix/cachix-action/pull/182">cachix/cachix-action#182</a></li>
<li>Skip prep steps if using <code>pathsToPush</code> by <a
href="https://github.com/sandydoo"><code>@​sandydoo</code></a> in <a
href="https://redirect.github.com/cachix/cachix-action/pull/180">cachix/cachix-action#180</a></li>
<li>store-scan: improve error handling when listing the store fails by
<a href="https://github.com/sandydoo"><code>@​sandydoo</code></a> in <a
href="https://redirect.github.com/cachix/cachix-action/pull/183">cachix/cachix-action#183</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cachix/cachix-action/compare/v14...v15">https://github.com/cachix/cachix-action/compare/v14...v15</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ad2ddac53f"><code>ad2ddac</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/184">#184</a>
from cachix/dependabot/github_actions/cachix/install-...</li>
<li><a
href="403a1b5dad"><code>403a1b5</code></a>
chore(deps): bump cachix/install-nix-action from 26 to 27</li>
<li><a
href="132bc971f5"><code>132bc97</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/183">#183</a>
from cachix/fix-179</li>
<li><a
href="662a8831be"><code>662a883</code></a>
store-scan: use runner or os temp dirs</li>
<li><a
href="08dcf70a39"><code>08dcf70</code></a>
store-scan: improve error handling when store listing fails</li>
<li><a
href="991af99d4b"><code>991af99</code></a>
Skip prep steps if using <code>pathsToPush</code> (<a
href="https://redirect.github.com/cachix/cachix-action/issues/180">#180</a>)</li>
<li><a
href="74587ee920"><code>74587ee</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/182">#182</a>
from cachix/support-daemon-push-filter</li>
<li><a
href="5ee8857e76"><code>5ee8857</code></a>
Fix syntax</li>
<li><a
href="7431d10aca"><code>7431d10</code></a>
Use bash in post-build hook</li>
<li><a
href="ad440c0fec"><code>ad440c0</code></a>
Make <code>pushFilter</code> filter out just the positive matches</li>
<li>Additional commits viewable in <a
href="https://github.com/cachix/cachix-action/compare/v14...v15">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/cachix-action&package-manager=github_actions&previous-version=14&new-version=15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 09:51:33 +02:00
David Barroso
92b3d6662a chore: update GO version due to CVE (#210) 2024-05-14 15:24:25 +02:00
David Barroso
279714c790 chore: fix CI 2024-05-03 07:57:18 +02:00
dependabot[bot]
2cc8616288 chore: bump nixbuild/nix-quick-install-action from 27 to 28 (#206)
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 27 to 28.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v28</h2>
<h2>Changes</h2>
<ul>
<li>
<p>Remove all Nix versions that are vulnerable to <a
href="https://www.cve.org/CVERecord?id=CVE-2024-27297">CVE-2024-27297</a>.</p>
</li>
<li>
<p>Bump minor Nix versions: 2.18.1 -&gt; 2.18.2</p>
</li>
<li>
<p>Add Nix versions: 2.20.5, 2.21.0</p>
</li>
<li>
<p>Bump default Nix version: 2.19.3 -&gt; 2.21.0</p>
</li>
</ul>
<h2>Supported Nix Versions on Linux Runners</h2>
<ul>
<li>2.21.0</li>
<li>2.20.5</li>
<li>2.19.3</li>
<li>2.18.2</li>
<li>2.3.17</li>
</ul>
<h2>Supported Nix Versions on MacOS Runners</h2>
<ul>
<li>2.21.0</li>
<li>2.20.5</li>
<li>2.19.3</li>
<li>2.18.2</li>
<li>2.3.17</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v28</p>
<h2>Changes</h2>
<ul>
<li>
<p>Remove all Nix versions that are vulnerable to <a
href="https://www.cve.org/CVERecord?id=CVE-2024-27297">CVE-2024-27297</a>.</p>
</li>
<li>
<p>Bump minor Nix versions: 2.18.1 -&gt; 2.18.2</p>
</li>
<li>
<p>Add Nix versions: 2.20.5, 2.21.0</p>
</li>
<li>
<p>Bump default Nix version: 2.19.3 -&gt; 2.21.0</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="60e9c39264"><code>60e9c39</code></a>
Release v28</li>
<li><a
href="2eeac83915"><code>2eeac83</code></a>
Downgrade nixpkgs because of MacOS build error</li>
<li><a
href="0ff55bf498"><code>0ff55bf</code></a>
Remove Nix 2.22 temporarily</li>
<li><a
href="49704930ae"><code>4970493</code></a>
Bump Nix versions</li>
<li><a
href="f188189575"><code>f188189</code></a>
cicd: Fix Nix version</li>
<li><a
href="ac5ac3025c"><code>ac5ac30</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/42">#42</a>
from nixbuild/nix_2_2x</li>
<li><a
href="de77414845"><code>de77414</code></a>
cicd: Try fix test that fails on MacOS 11/nix 2.21.0</li>
<li><a
href="b657bdb7f8"><code>b657bdb</code></a>
Add Nix 2.20.5 and 2.21.0</li>
<li><a
href="3e26077f8d"><code>3e26077</code></a>
Update README and workflows for v27</li>
<li>See full diff in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v27...v28">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=27&new-version=28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-03 07:47:12 +02:00
github-actions[bot]
cd872682db [Scheduled] Update dependencies (#205)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2024-05-01 19:25:16 +02:00
github-actions[bot]
e23a069a43 [Scheduled] Update dependencies (#203)
Dependencies updated

Note - If you see this PR and the checks haven't run, close and reopen
the PR. See
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2024-04-02 11:00:03 +02:00
dependabot[bot]
5024de8ecb chore: bump nixbuild/nix-quick-install-action from 26 to 27 (#201)
Bumps
[nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action)
from 26 to 27.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/releases">nixbuild/nix-quick-install-action's
releases</a>.</em></p>
<blockquote>
<h2>nixbuild/nix-quick-install-action@v27</h2>
<h2>Security Notice</h2>
<p>This release (and previous releases) includes Nix versions that are
vulnerable to <a
href="https://www.cve.org/CVERecord?id=CVE-2024-27297">CVE-2024-27297</a>.
The current default Nix version, 2.19.3, is not vulnerable. If you
select another Nix version you should use your own judgement to decide
if CVE-2024-27297 is applicable to your usage of Nix in your GitHub
Actions workflow.</p>
<p>The following Nix versions that are packaged with this action are
<strong>not</strong> vulnerable:</p>
<ul>
<li>2.19.3 (the default version)</li>
<li>2.18.1</li>
<li>2.3.17</li>
</ul>
<p>The above versions have been explicitly patched by the
<code>nixpkgs</code> maintainers.</p>
<p>The rest of the Nix versions provided by this action <strong>are
vulnerable</strong> to CVE-2024-27297.</p>
<p>In the next release of this action (v28), all vulnerable Nix versions
will be removed.</p>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.3.16 -&gt; 2.3.17</p>
</li>
<li>
<p>Add Nix versions: 2.17.1, 2.18.1, 2.19.3</p>
</li>
<li>
<p>Bump default Nix version: 2.16.2 -&gt; 2.19.3</p>
</li>
</ul>
<h2>Supported Nix Versions on Linux Runners</h2>
<ul>
<li>2.19.3</li>
<li>2.18.1</li>
<li>2.17.1</li>
<li>2.16.2</li>
<li>2.15.3</li>
<li>2.14.1</li>
<li>2.13.6</li>
<li>2.12.1</li>
<li>2.11.1</li>
<li>2.10.3</li>
<li>2.9.2</li>
<li>2.8.1</li>
<li>2.7.0</li>
<li>2.6.1</li>
<li>2.5.1</li>
<li>2.4</li>
<li>2.3.17</li>
<li>2.2.2</li>
<li>2.1.3</li>
<li>2.0.4</li>
</ul>
<h2>Supported Nix Versions on MacOS Runners</h2>
<ul>
<li>2.19.3</li>
<li>2.18.1</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE">nixbuild/nix-quick-install-action's
changelog</a>.</em></p>
<blockquote>
<p>v27</p>
<h2>Security Notice</h2>
<p>This release (and previous releases) includes Nix versions that are
vulnerable to <a
href="https://www.cve.org/CVERecord?id=CVE-2024-27297">CVE-2024-27297</a>.
The current default Nix version, 2.19.3, is not vulnerable. If you
select another Nix version you should use your own judgement to decide
if CVE-2024-27297 is applicable to your usage of Nix in your GitHub
Actions workflow.</p>
<p>The following Nix versions that are packaged with this action are
<strong>not</strong> vulnerable:</p>
<ul>
<li>2.19.3 (the default version)</li>
<li>2.18.1</li>
<li>2.3.17</li>
</ul>
<p>The above versions have been explicitly patched by the
<code>nixpkgs</code> maintainers.</p>
<p>The rest of the Nix versions provided by this action <strong>are
vulnerable</strong> to CVE-2024-27297.</p>
<p>In the next release of this action (v28), all vulnerable Nix versions
will be removed.</p>
<h2>Changes</h2>
<ul>
<li>
<p>Bump minor Nix versions: 2.3.16 -&gt; 2.3.17</p>
</li>
<li>
<p>Add Nix versions: 2.17.1, 2.18.1, 2.19.3</p>
</li>
<li>
<p>Bump default Nix version: 2.16.2 -&gt; 2.19.3</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d02dd28b62"><code>d02dd28</code></a>
Release v27</li>
<li><a
href="123ee16a4d"><code>123ee16</code></a>
Fix variable name</li>
<li><a
href="b35ae20573"><code>b35ae20</code></a>
Retry if db registration fails</li>
<li><a
href="483e6ef9a6"><code>483e6ef</code></a>
Bump nixpkgs revisions to get patches for CVE-2024-27297</li>
<li><a
href="eac9523d35"><code>eac9523</code></a>
Bump default Nix version from 2.16.2 to 2.19.3</li>
<li><a
href="e6c40657c4"><code>e6c4065</code></a>
Revert &quot;Add Nix 2.20.5 and 2.21.0&quot;</li>
<li><a
href="b83db0f5c0"><code>b83db0f</code></a>
Add Nix 2.20.5 and 2.21.0</li>
<li><a
href="896e4387e1"><code>896e438</code></a>
Merge pull request <a
href="https://redirect.github.com/nixbuild/nix-quick-install-action/issues/41">#41</a>
from deemp/master</li>
<li><a
href="0e337bef97"><code>0e337be</code></a>
fix(cicd): bump nix version</li>
<li><a
href="a17089ebbc"><code>a17089e</code></a>
chore: update nix versions</li>
<li>Additional commits viewable in <a
href="https://github.com/nixbuild/nix-quick-install-action/compare/v26...v27">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nixbuild/nix-quick-install-action&package-manager=github_actions&previous-version=26&new-version=27)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2024-03-18 11:16:48 +01:00
David Barroso
c8a7bcee75 chore: fix role to assume in gen update dependencies (#199)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dbarrosop <dbarrosop@users.noreply.github.com>
2024-03-01 14:02:35 +01:00
David Barroso
843ea6b321 Create SECURITY.md 2024-02-06 10:15:16 +01:00
dependabot[bot]
0d5f5ed0e1 chore: bump release-drafter/release-drafter from 5 to 6 (#198)
Bumps
[release-drafter/release-drafter](https://github.com/release-drafter/release-drafter)
from 5 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/release-drafter/release-drafter/releases">release-drafter/release-drafter's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h1>What's Changed</h1>
<ul>
<li>Update Node.js to 20 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1379">#1379</a>)
<a href="https://github.com/massongit"><code>@​massongit</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.25.0...v6.0.0">https://github.com/release-drafter/release-drafter/compare/v5.25.0...v6.0.0</a></p>
<h2>v6.0.0-beta.1</h2>
<p>Prerelease of v6, first release of the CLI, feel free to provide
feedback in the pull request: <a
href="https://redirect.github.com/release-drafter/release-drafter/pull/1204">release-drafter/release-drafter#1204</a></p>
<h2>v5.25.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>add prerelease increment behavior (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1303">#1303</a>)
<a href="https://github.com/neilime"><code>@​neilime</code></a></li>
<li>add latest input (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1348">#1348</a>)
<a href="https://github.com/o-mago"><code>@​o-mago</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.24.0...v5.25.0">https://github.com/release-drafter/release-drafter/compare/v5.24.0...v5.25.0</a></p>
<h2>v5.24.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Add release version to github action output (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1300">#1300</a>)
<a
href="https://github.com/mehdihadeli"><code>@​mehdihadeli</code></a></li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>fix(release): strip prefix before comparing version (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1255">#1255</a>)
<a href="https://github.com/neilime"><code>@​neilime</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.23.0...v5.24.0">https://github.com/release-drafter/release-drafter/compare/v5.23.0...v5.24.0</a></p>
<h2>v5.23.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Add <code>include-pre-releases</code> configuration option (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1302">#1302</a>)
<a
href="https://github.com/robbinjanssen"><code>@​robbinjanssen</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0">https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0</a></p>
<h2>v5.22.0</h2>
<h1>What's Changed</h1>
<h2>New</h2>
<ul>
<li>Only use last full release when drafting (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1240">#1240</a>)
<a href="https://github.com/ssbarnea"><code>@​ssbarnea</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3f0f87098b"><code>3f0f870</code></a>
v6.0.0</li>
<li><a
href="80296b4fba"><code>80296b4</code></a>
Update Node.js to 20 (<a
href="https://redirect.github.com/release-drafter/release-drafter/issues/1379">#1379</a>)</li>
<li>See full diff in <a
href="https://github.com/release-drafter/release-drafter/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=release-drafter/release-drafter&package-manager=github_actions&previous-version=5&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-05 08:47:54 +01:00
David Barroso
43644e8062 chore: update dependencies (#197) 2024-02-01 17:07:57 +01:00
David Barroso
c5c23f14fd feat: replace custom C code with govips (#196)
We initially wrote our own C code because our benchmarking showed govips
used too much memory but now it seems to be the opposite. Their library
is also better than our custom code and it should fix #194 and #180
2024-01-26 13:58:14 +01:00
dependabot[bot]
e8e78dd422 chore: bump cachix/cachix-action from 13 to 14 (#192)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action)
from 13 to 14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/cachix-action/releases">cachix/cachix-action's
releases</a>.</em></p>
<blockquote>
<h2>cachix-action-v14</h2>
<p><a
href="https://blog.cachix.org/posts/2024-01-12-cachix-v1-7/">https://blog.cachix.org/posts/2024-01-12-cachix-v1-7/</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="18cf96c7c9"><code>18cf96c</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/166">#166</a>
from cachix/feature/daemon</li>
<li><a
href="467b7ad67e"><code>467b7ad</code></a>
daemon: fix support check in post run</li>
<li><a
href="c9fc59c798"><code>c9fc59c</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/161">#161</a>
from cachix/feature/daemon</li>
<li><a
href="e54c44ceb8"><code>e54c44c</code></a>
daemon: drop latest daemon installer</li>
<li><a
href="3a94faeceb"><code>3a94fae</code></a>
daemon: update tests</li>
<li><a
href="a7c8acb335"><code>a7c8acb</code></a>
daemon: add even more logging to trusted user logic</li>
<li><a
href="11a95a781d"><code>11a95a7</code></a>
daemon: resolve promise</li>
<li><a
href="608ce1e442"><code>608ce1e</code></a>
daemon: add debugging logs to trusted user logic</li>
<li><a
href="711a732439"><code>711a732</code></a>
daemon: fix reading trusted-users</li>
<li><a
href="8426524a2b"><code>8426524</code></a>
daemon: check for credentials early</li>
<li>Additional commits viewable in <a
href="https://github.com/cachix/cachix-action/compare/v13...v14">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/cachix-action&package-manager=github_actions&previous-version=13&new-version=14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-26 13:02:03 +01:00
dependabot[bot]
5c4068dd74 chore: bump actions/cache from 3 to 4 (#195)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/releases">actions/cache's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update action to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1284">actions/cache#1284</a></li>
<li>feat: save-always flag by <a
href="https://github.com/to-s"><code>@​to-s</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1242">actions/cache#1242</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1284">actions/cache#1284</a></li>
<li><a href="https://github.com/to-s"><code>@​to-s</code></a> made their
first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1242">actions/cache#1242</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v3...v4.0.0">https://github.com/actions/cache/compare/v3...v4.0.0</a></p>
<h2>v3.3.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Cache v3.3.3 by <a
href="https://github.com/robherley"><code>@​robherley</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1302">actions/cache#1302</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/robherley"><code>@​robherley</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1302">actions/cache#1302</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v3...v3.3.3">https://github.com/actions/cache/compare/v3...v3.3.3</a></p>
<h2>v3.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed readme with new segment timeout values by <a
href="https://github.com/kotewar"><code>@​kotewar</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1133">actions/cache#1133</a></li>
<li>Readme fixes by <a
href="https://github.com/kotewar"><code>@​kotewar</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1134">actions/cache#1134</a></li>
<li>Updated description of the lookup-only input for main action by <a
href="https://github.com/kotewar"><code>@​kotewar</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1130">actions/cache#1130</a></li>
<li>Change two new actions mention as quoted text by <a
href="https://github.com/bishal-pdMSFT"><code>@​bishal-pdMSFT</code></a>
in <a
href="https://redirect.github.com/actions/cache/pull/1131">actions/cache#1131</a></li>
<li>Update Cross-OS Caching tips by <a
href="https://github.com/pdotl"><code>@​pdotl</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1122">actions/cache#1122</a></li>
<li>Bazel example (Take <a
href="https://redirect.github.com/actions/cache/issues/2">#2</a>️⃣) by
<a href="https://github.com/vorburger"><code>@​vorburger</code></a> in
<a
href="https://redirect.github.com/actions/cache/pull/1132">actions/cache#1132</a></li>
<li>Remove actions to add new PRs and issues to a project board by <a
href="https://github.com/jorendorff"><code>@​jorendorff</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1187">actions/cache#1187</a></li>
<li>Consume latest toolkit and fix dangling promise bug by <a
href="https://github.com/chkimes"><code>@​chkimes</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1217">actions/cache#1217</a></li>
<li>Bump action version to 3.3.2 by <a
href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1236">actions/cache#1236</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vorburger"><code>@​vorburger</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1132">actions/cache#1132</a></li>
<li><a
href="https://github.com/jorendorff"><code>@​jorendorff</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1187">actions/cache#1187</a></li>
<li><a href="https://github.com/chkimes"><code>@​chkimes</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1217">actions/cache#1217</a></li>
<li><a
href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/cache/pull/1236">actions/cache#1236</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v3...v3.3.2">https://github.com/actions/cache/compare/v3...v3.3.2</a></p>
<h2>v3.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Reduced download segment size to 128 MB and timeout to 10 minutes by
<a href="https://github.com/kotewar"><code>@​kotewar</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1129">actions/cache#1129</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v3...v3.3.1">https://github.com/actions/cache/compare/v3...v3.3.1</a></p>
<h2>v3.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bug: Permission is missing in cache delete example by <a
href="https://github.com/kotokaze"><code>@​kotokaze</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1123">actions/cache#1123</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's
changelog</a>.</em></p>
<blockquote>
<h1>Releases</h1>
<h3>3.0.0</h3>
<ul>
<li>Updated minimum runner version support from node 12 -&gt; node
16</li>
</ul>
<h3>3.0.1</h3>
<ul>
<li>Added support for caching from GHES 3.5.</li>
<li>Fixed download issue for files &gt; 2GB during restore.</li>
</ul>
<h3>3.0.2</h3>
<ul>
<li>Added support for dynamic cache size cap on GHES.</li>
</ul>
<h3>3.0.3</h3>
<ul>
<li>Fixed avoiding empty cache save when no files are available for
caching. (<a
href="https://redirect.github.com/actions/cache/issues/624">issue</a>)</li>
</ul>
<h3>3.0.4</h3>
<ul>
<li>Fixed tar creation error while trying to create tar with path as
<code>~/</code> home folder on <code>ubuntu-latest</code>. (<a
href="https://redirect.github.com/actions/cache/issues/689">issue</a>)</li>
</ul>
<h3>3.0.5</h3>
<ul>
<li>Removed error handling by consuming actions/cache 3.0 toolkit, Now
cache server error handling will be done by toolkit. (<a
href="https://redirect.github.com/actions/cache/pull/834">PR</a>)</li>
</ul>
<h3>3.0.6</h3>
<ul>
<li>Fixed <a
href="https://redirect.github.com/actions/cache/issues/809">#809</a> -
zstd -d: no such file or directory error</li>
<li>Fixed <a
href="https://redirect.github.com/actions/cache/issues/833">#833</a> -
cache doesn't work with github workspace directory</li>
</ul>
<h3>3.0.7</h3>
<ul>
<li>Fixed <a
href="https://redirect.github.com/actions/cache/issues/810">#810</a> -
download stuck issue. A new timeout is introduced in the download
process to abort the download if it gets stuck and doesn't finish within
an hour.</li>
</ul>
<h3>3.0.8</h3>
<ul>
<li>Fix zstd not working for windows on gnu tar in issues <a
href="https://redirect.github.com/actions/cache/issues/888">#888</a> and
<a
href="https://redirect.github.com/actions/cache/issues/891">#891</a>.</li>
<li>Allowing users to provide a custom timeout as input for aborting
download of a cache segment using an environment variable
<code>SEGMENT_DOWNLOAD_TIMEOUT_MINS</code>. Default is 60 minutes.</li>
</ul>
<h3>3.0.9</h3>
<ul>
<li>Enhanced the warning message for cache unavailablity in case of
GHES.</li>
</ul>
<h3>3.0.10</h3>
<ul>
<li>Fix a bug with sorting inputs.</li>
<li>Update definition for restore-keys in README.md</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="13aacd865c"><code>13aacd8</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1242">#1242</a>
from to-s/main</li>
<li><a
href="53b35c5439"><code>53b35c5</code></a>
Merge branch 'main' into main</li>
<li><a
href="65b8989fab"><code>65b8989</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1284">#1284</a>
from takost/update-to-node-20</li>
<li><a
href="d0be34d544"><code>d0be34d</code></a>
Fix dist</li>
<li><a
href="66cf064d47"><code>66cf064</code></a>
Merge branch 'main' into update-to-node-20</li>
<li><a
href="1326563738"><code>1326563</code></a>
Merge branch 'main' into main</li>
<li><a
href="e71876755e"><code>e718767</code></a>
Fix format</li>
<li><a
href="01229828ff"><code>0122982</code></a>
Apply workaround for earlyExit</li>
<li><a
href="3185ecfd61"><code>3185ecf</code></a>
Update &quot;only-&quot; actions to node20</li>
<li><a
href="25618a0a67"><code>25618a0</code></a>
Bump version</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/cache/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/cache&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 12:02:00 +01:00
David Barroso
95eaac8e39 chore: replace nix code with standardized nixops (#193)
Only changes are to the .nix files, changes to `.go` files were
performed by the linter `golines -w --base-formatter=gofumpt .`
2024-01-15 11:13:12 +01:00
David Barroso
9304c39b97 chore: update deps (#191) 2024-01-11 19:13:17 +01:00
dependabot[bot]
19d678ce26 chore: bump cachix/cachix-action from 12 to 13 (#189)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action)
from 12 to 13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cachix/cachix-action/releases">cachix/cachix-action's
releases</a>.</em></p>
<blockquote>
<h2>cachix-action-v13</h2>
<ul>
<li>run on node20</li>
<li>add <code>skipAddingSubstituter</code> to skip running <code>cachix
use</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6a2e08b5eb"><code>6a2e08b</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/158">#158</a>
from cachix/bump-node</li>
<li><a
href="e98f643462"><code>e98f643</code></a>
Commit dist</li>
<li><a
href="2025bdaff1"><code>2025bda</code></a>
Bump node in devenv</li>
<li><a
href="6d013b15ef"><code>6d013b1</code></a>
Bump dependencies</li>
<li><a
href="33393dc192"><code>33393dc</code></a>
Update tsconfig</li>
<li><a
href="1ad072581d"><code>1ad0725</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/156">#156</a>
from cachix/dependabot/github_actions/cachix/install-...</li>
<li><a
href="70d2b7fe3d"><code>70d2b7f</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/cachix-action/issues/157">#157</a>
from cachix/dependabot/github_actions/actions/checkout-4</li>
<li><a
href="d0ac1486c5"><code>d0ac148</code></a>
Run on node20</li>
<li><a
href="fe4b2e9abc"><code>fe4b2e9</code></a>
chore(deps): bump actions/checkout from 3 to 4</li>
<li><a
href="8d53462873"><code>8d53462</code></a>
chore(deps): bump cachix/install-nix-action from 22 to 23</li>
<li>Additional commits viewable in <a
href="https://github.com/cachix/cachix-action/compare/v12...v13">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/cachix-action&package-manager=github_actions&previous-version=12&new-version=13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 08:29:40 +01:00
Guillermo Enrique Bernal Moreira
51ccc70282 feat: migrate to aws-sdk-go-v2 (#186) 2023-11-22 09:39:59 +01:00
David Barroso
3bdbf46a3e chore: bump go to 1.21.4 due to CVE (#187) 2023-11-09 10:57:10 +01:00
ChrisSG
4d226c5b83 adds a flag for specifying the db name for migrations (#185)
## Problem
Currently, it seems that the name of the target database for migrations
is fixed to "default." This produces the following error when there is
no database named "default":
```
problem applying Hasura metadata: problem adding metadata for the buckets table: status_code: 400\nresponse: {"error":"source with name \"default\" does not exist","path":"$.args","code":"not-exists"}
```
(see
https://github.com/nhost/hasura-storage/issues/184#issue-1972012220)

## Solution
To address this issue and provide more flexibility in configuring the
target database for migrations, we propose the following solution:

- **Environment Variable**: Introduce a new environment variable named
`HASURA_DB_NAME` to allow users to specify the target database name for
migrations.

- **Configuration Update**: Modify the code in
`hasura-storage/migrations/hasura.go` to use the value of
`HASURA_DB_NAME` as the target database name. This ensures that users
can configure the target database dynamically.

- **Fallback to "default"**: If `HASURA_DB_NAME` is not set, the code
should default to "default" to maintain backward compatibility.

## Notes
- Users can set the `HASURA_DB_NAME` environment variable to configure
the target database for migrations to their desired database name.

- This change enhances the flexibility of the migration process,
especially in cases where the database name is not "default."

- Reviewers are encouraged to verify that the documentation has been
updated to reflect the new configuration option.

With this solution, users can customize the target database for
migrations by setting the `HASURA_DB_NAME` environment variable, which
eliminates the error associated with the fixed "default" database name.
2023-11-03 07:58:30 +01:00
dependabot[bot]
97a03dcfce chore: update dependencies (#181)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2023-10-25 11:23:53 +02:00
dependabot[bot]
26572176d3 chore: Bump aws-actions/amazon-ecr-login from 1 to 2 (#179)
Bumps
[aws-actions/amazon-ecr-login](https://github.com/aws-actions/amazon-ecr-login)
from 1 to 2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/amazon-ecr-login/releases">aws-actions/amazon-ecr-login's
releases</a>.</em></p>
<blockquote>
<h2>v2</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v2.0.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.7.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.6.2</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.6.1</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.6.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.5.3</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.5.2</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.5.1</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.5.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.4.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.3.3</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.3.2</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.3.1</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.3.0</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.2.2</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v1.2.1</h2>
<p>See the <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/HEAD/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/amazon-ecr-login/blob/main/CHANGELOG.md">aws-actions/amazon-ecr-login's
changelog</a>.</em></p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="062b18b96a"><code>062b18b</code></a>
chore(release): 2.0.1</li>
<li><a
href="9238dd443b"><code>9238dd4</code></a>
Merge pull request <a
href="https://redirect.github.com/aws-actions/amazon-ecr-login/issues/532">#532</a>
from aws-actions/node_upgrade</li>
<li><a
href="e618bbed74"><code>e618bbe</code></a>
chore: upgrade to node20</li>
<li><a
href="33f92af657"><code>33f92af</code></a>
chore(release): 2.0.0</li>
<li><a
href="5de13da834"><code>5de13da</code></a>
Merge pull request <a
href="https://redirect.github.com/aws-actions/amazon-ecr-login/issues/530">#530</a>
from aws-actions/dist2</li>
<li><a
href="d6ae50c722"><code>d6ae50c</code></a>
chore: update dist</li>
<li><a
href="537f0fb431"><code>537f0fb</code></a>
Merge pull request <a
href="https://redirect.github.com/aws-actions/amazon-ecr-login/issues/529">#529</a>
from aws-actions/dist</li>
<li><a
href="8ccdcdca26"><code>8ccdcdc</code></a>
chore: update dist</li>
<li><a
href="d71acafb87"><code>d71acaf</code></a>
feat: release v2 (<a
href="https://redirect.github.com/aws-actions/amazon-ecr-login/issues/520">#520</a>)</li>
<li><a
href="3542211ff6"><code>3542211</code></a>
chore: Bump <code>@​aws-sdk/client-ecr-public</code> from 3.414.0 to
3.418.0 (<a
href="https://redirect.github.com/aws-actions/amazon-ecr-login/issues/525">#525</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aws-actions/amazon-ecr-login/compare/v1...v2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-actions/amazon-ecr-login&package-manager=github_actions&previous-version=1&new-version=2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 10:08:29 +02:00
David Barroso
07d48bc121 chore: docs: added antivirus documentation (#178) 2023-09-28 07:26:12 +02:00
dependabot[bot]
e18f4e0be0 chore: Bump docker/setup-qemu-action from 2 to 3 (#177)
Bumps
[docker/setup-qemu-action](https://github.com/docker/setup-qemu-action)
from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/setup-qemu-action/releases">docker/setup-qemu-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<ul>
<li>Node 20 as default runtime (requires <a
href="https://github.com/actions/runner/releases/tag/v2.308.0">Actions
Runner v2.308.0</a> or later) by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/setup-qemu-action/pull/102">docker/setup-qemu-action#102</a></li>
<li>Bump <code>@​actions/core</code> from 1.10.0 to 1.10.1 in <a
href="https://redirect.github.com/docker/setup-qemu-action/pull/103">docker/setup-qemu-action#103</a></li>
<li>Bump semver from 6.3.0 to 6.3.1 in <a
href="https://redirect.github.com/docker/setup-qemu-action/pull/89">docker/setup-qemu-action#89</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-qemu-action/compare/v2.2.0...v3.0.0">https://github.com/docker/setup-qemu-action/compare/v2.2.0...v3.0.0</a></p>
<h2>v2.2.0</h2>
<ul>
<li>Trim off spaces in <code>platforms</code> input by <a
href="https://github.com/Chocobo1"><code>@​Chocobo1</code></a> in <a
href="https://redirect.github.com/docker/setup-qemu-action/pull/64">docker/setup-qemu-action#64</a></li>
<li>Switch to actions-toolkit implementation by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/setup-qemu-action/pull/70">docker/setup-qemu-action#70</a>
<a
href="https://redirect.github.com/docker/setup-qemu-action/pull/80">docker/setup-qemu-action#80</a>
<a
href="https://redirect.github.com/docker/setup-qemu-action/pull/83">docker/setup-qemu-action#83</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-qemu-action/compare/v2.1.0...v2.2.0">https://github.com/docker/setup-qemu-action/compare/v2.1.0...v2.2.0</a></p>
<h2>v2.1.0</h2>
<ul>
<li>Use context for inputs by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/62">#62</a>)</li>
<li>Use built-in <code>getExecOutput</code> by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/61">#61</a>)</li>
<li>Remove workaround for <code>setOutput</code> by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/63">#63</a>)</li>
<li>Bump <code>@​actions/core</code> from 1.6.0 to 1.10.0 (<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/54">#54</a>
<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/58">#58</a>
<a
href="https://redirect.github.com/docker/setup-qemu-action/issues/59">#59</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-qemu-action/compare/v2.0.0...v2.1.0">https://github.com/docker/setup-qemu-action/compare/v2.0.0...v2.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="68827325e0"><code>6882732</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-qemu-action/issues/103">#103</a>
from docker/dependabot/npm_and_yarn/actions/core-1.10.1</li>
<li><a
href="183f4af504"><code>183f4af</code></a>
chore: update generated content</li>
<li><a
href="f17493529e"><code>f174935</code></a>
build(deps): bump <code>@​actions/core</code> from 1.10.0 to 1.10.1</li>
<li><a
href="2e423eb500"><code>2e423eb</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-qemu-action/issues/89">#89</a>
from docker/dependabot/npm_and_yarn/semver-6.3.1</li>
<li><a
href="ecc406afa7"><code>ecc406a</code></a>
Bump semver from 6.3.0 to 6.3.1</li>
<li><a
href="12dec5e201"><code>12dec5e</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-qemu-action/issues/102">#102</a>
from crazy-max/update-node20</li>
<li><a
href="c29b312130"><code>c29b312</code></a>
chore: node 20 as default runtime</li>
<li><a
href="34ae628c8f"><code>34ae628</code></a>
chore: update generated content</li>
<li><a
href="1f3d2e1ac0"><code>1f3d2e1</code></a>
chore: fix author in package.json</li>
<li><a
href="277dbe8c9c"><code>277dbe8</code></a>
vendor: bump <code>@​docker/actions-toolkit</code> from 0.3.0 to
0.12.0</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/setup-qemu-action/compare/v2...v3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/setup-qemu-action&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 08:24:21 +02:00
dependabot[bot]
d88ba6b17a chore: Bump docker/login-action from 2 to 3 (#176)
Bumps [docker/login-action](https://github.com/docker/login-action) from
2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/login-action/releases">docker/login-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<ul>
<li>Node 20 as default runtime (requires <a
href="https://github.com/actions/runner/releases/tag/v2.308.0">Actions
Runner v2.308.0</a> or later) by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/593">docker/login-action#593</a></li>
<li>Bump <code>@​actions/core</code> from 1.10.0 to 1.10.1 in <a
href="https://redirect.github.com/docker/login-action/pull/598">docker/login-action#598</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> and
<code>@​aws-sdk/client-ecr-public</code> to 3.410.0 in <a
href="https://redirect.github.com/docker/login-action/pull/555">docker/login-action#555</a>
<a
href="https://redirect.github.com/docker/login-action/pull/560">docker/login-action#560</a>
<a
href="https://redirect.github.com/docker/login-action/pull/582">docker/login-action#582</a>
<a
href="https://redirect.github.com/docker/login-action/pull/599">docker/login-action#599</a></li>
<li>Bump semver from 6.3.0 to 6.3.1 in <a
href="https://redirect.github.com/docker/login-action/pull/556">docker/login-action#556</a></li>
<li>Bump https-proxy-agent to 7.0.2 <a
href="https://redirect.github.com/docker/login-action/pull/561">docker/login-action#561</a>
<a
href="https://redirect.github.com/docker/login-action/pull/588">docker/login-action#588</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v2.2.0...v3.0.0">https://github.com/docker/login-action/compare/v2.2.0...v3.0.0</a></p>
<h2>v2.2.0</h2>
<ul>
<li>Switch to actions-toolkit implementation by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/login-action/pull/409">docker/login-action#409</a>
<a
href="https://redirect.github.com/docker/login-action/pull/470">docker/login-action#470</a>
<a
href="https://redirect.github.com/docker/login-action/pull/476">docker/login-action#476</a></li>
<li>Bump <code>@​aws-sdk/client-ecr</code> and
<code>@​aws-sdk/client-ecr-public</code> to 3.347.1 in <a
href="https://redirect.github.com/docker/login-action/pull/524">docker/login-action#524</a>
<a
href="https://redirect.github.com/docker/login-action/pull/364">docker/login-action#364</a>
<a
href="https://redirect.github.com/docker/login-action/pull/363">docker/login-action#363</a></li>
<li>Bump minimatch from 3.0.4 to 3.1.2 in <a
href="https://redirect.github.com/docker/login-action/pull/354">docker/login-action#354</a></li>
<li>Bump json5 from 2.2.0 to 2.2.3 in <a
href="https://redirect.github.com/docker/login-action/pull/378">docker/login-action#378</a></li>
<li>Bump http-proxy-agent from 5.0.0 to 7.0.0 in <a
href="https://redirect.github.com/docker/login-action/pull/509">docker/login-action#509</a></li>
<li>Bump https-proxy-agent from 5.0.1 to 7.0.0 in <a
href="https://redirect.github.com/docker/login-action/pull/508">docker/login-action#508</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v2.1.0...v2.2.0">https://github.com/docker/login-action/compare/v2.1.0...v2.2.0</a></p>
<h2>v2.1.0</h2>
<ul>
<li>Ensure AWS temp credentials are redacted in workflow logs by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a
href="https://redirect.github.com/docker/login-action/issues/275">#275</a>)</li>
<li>Bump <code>@​actions/core</code> from 1.6.0 to 1.10.0 (<a
href="https://redirect.github.com/docker/login-action/issues/252">#252</a>
<a
href="https://redirect.github.com/docker/login-action/issues/292">#292</a>)</li>
<li>Bump <code>@​aws-sdk/client-ecr</code> from 3.53.0 to 3.186.0 (<a
href="https://redirect.github.com/docker/login-action/issues/298">#298</a>)</li>
<li>Bump <code>@​aws-sdk/client-ecr-public</code> from 3.53.0 to 3.186.0
(<a
href="https://redirect.github.com/docker/login-action/issues/299">#299</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/login-action/compare/v2.0.0...v2.1.0">https://github.com/docker/login-action/compare/v2.0.0...v2.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="343f7c4344"><code>343f7c4</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/599">#599</a>
from docker/dependabot/npm_and_yarn/aws-sdk-dependenc...</li>
<li><a
href="aad0f974f2"><code>aad0f97</code></a>
chore: update generated content</li>
<li><a
href="2e0cd39144"><code>2e0cd39</code></a>
build(deps): bump the aws-sdk-dependencies group with 2 updates</li>
<li><a
href="203bc9c4ef"><code>203bc9c</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/588">#588</a>
from docker/dependabot/npm_and_yarn/proxy-agent-depen...</li>
<li><a
href="2199648fc8"><code>2199648</code></a>
chore: update generated content</li>
<li><a
href="b489376173"><code>b489376</code></a>
build(deps): bump the proxy-agent-dependencies group with 1 update</li>
<li><a
href="7c309e74e6"><code>7c309e7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/598">#598</a>
from docker/dependabot/npm_and_yarn/actions/core-1.10.1</li>
<li><a
href="0ccf222961"><code>0ccf222</code></a>
chore: update generated content</li>
<li><a
href="56d703e106"><code>56d703e</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/login-action/issues/597">#597</a>
from docker/dependabot/github_actions/aws-actions/con...</li>
<li><a
href="24d3b3519e"><code>24d3b35</code></a>
build(deps): bump <code>@​actions/core</code> from 1.10.0 to 1.10.1</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/login-action/compare/v2...v3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/login-action&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 08:24:04 +02:00
dependabot[bot]
3de9a2d09b chore: Bump aws-actions/configure-aws-credentials from 3 to 4 (#175)
Bumps
[aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials)
from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/configure-aws-credentials/releases">aws-actions/configure-aws-credentials's
releases</a>.</em></p>
<blockquote>
<h2>v4</h2>
<p>This tag tracks the latest v4.x.x release</p>
<h2>v4.0.0</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v4.0.0/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v3.0.2</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v3.0.2/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v3.0.1</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v3.0.1/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md">aws-actions/configure-aws-credentials's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v3.0.0...v3.0.1">3.0.1</a>
(2023-08-24)</h2>
<h3>Features</h3>
<ul>
<li>Can configure <code>special-characters-workaround</code> to keep
retrying credentials if the returned
credentials have special characters (Fixes <a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/599">#599</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fixes <a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/792">#792</a>:
Action fails when intending to use existing credentials</li>
<li>Minor typo fix from <a
href="https://github.com/ubaid-ansari21"><code>@​ubaid-ansari21</code></a></li>
</ul>
<h3>Changes to existing functionality</h3>
<ul>
<li>Special characters are now allowed in returned credential variables
unless you configure the
<code>special-characters-workaround</code> option</li>
</ul>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v2.2.0...v3.0.0">3.0.0</a>
(2023-08-21)</h2>
<h3>Features</h3>
<ul>
<li>Can configure <code>max-retries</code> and
<code>disable-retry</code> to modify retry functionality when the assume
role call fails</li>
<li>Set returned credentials as step outputs with
<code>output-credentials</code></li>
<li>Clear AWS related environment variables at the start of the action
with <code>unset-current-credentials</code></li>
<li>Unique role identifier is now printed in the workflow logs</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Can't use credentials if they contain a special character</li>
<li>Retry functionality added when generating the JWT fails</li>
<li>Can now use <code>webIdentityTokenFile</code> option</li>
<li>Branch name validation too strict</li>
<li>JS SDK v2 deprecation warning in workflow logs</li>
</ul>
<h3>Changes to existing functionality</h3>
<ul>
<li>Default session duration is now 1 hour in all cases (from 6 hours in
some cases)</li>
<li>Account ID will not be masked by default in logs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8c3f20df09"><code>8c3f20d</code></a>
chore: release v4 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/840">#840</a>)</li>
<li>See full diff in <a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-actions/configure-aws-credentials&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 10:31:12 +02:00
David Barroso
074d1e1eaf chore: avoid issues with av notification (#174)
There is no need to notify clamav as the `SelfCheck` option is enabled
by default. We are making this explicit in the clamav configuration to
avoid future confusions.
2023-09-11 16:12:38 +02:00
dependabot[bot]
cf652fc168 chore: Bump actions/checkout from 3 to 4 (#173)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to
4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a
href="https://github.com/takost"><code>@​takost</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>@​takost</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a
href="https://github.com/simonbaird"><code>@​simonbaird</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a
href="https://github.com/dscho"><code>@​dscho</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/RobertWieczoreck"><code>@​RobertWieczoreck</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a
href="https://github.com/luketomlinson"><code>@​luketomlinson</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule
check-ins by <a
href="https://github.com/megamanics"><code>@​megamanics</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a
href="https://github.com/dscho"><code>@​dscho</code></a> and <a
href="https://github.com/dfdez"><code>@​dfdez</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/megamanics"><code>@​megamanics</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li><a href="https://github.com/dfdez"><code>@​dfdez</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a
href="https://github.com/fhammerl"><code>@​fhammerl</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a>
based on <a
href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a>
by <a href="https://github.com/1newsr"><code>@​1newsr</code></a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading
<code>@​actions/github</code> dependency by <a
href="https://github.com/BrettDong"><code>@​BrettDong</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>@​BrettDong</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.0.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1067">Support
fetching without the --progress option</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1436">Update to
node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark
test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add
option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
<h2>v3.5.3</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1196">Fix:
Checkout fail in self-hosted runners when faulty submodule are
checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix
typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add
support for sparse checkouts</a></li>
</ul>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix
api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix
slow checkout on Windows</a></li>
</ul>
<h2>v3.5.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1237">Add
new public key for known_hosts</a></li>
</ul>
<h2>v3.4.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade
codeql actions to v2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade
dependencies</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade
<code>@​actions/io</code></a></li>
</ul>
<h2>v3.3.0</h2>
<ul>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1045">Implement
branch list using callbacks from exec function</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1050">Add
in explicit reference to private checkout options</a></li>
<li>[Fix comment typos (that got added in <a
href="https://redirect.github.com/actions/checkout/issues/770">#770</a>)](<a
href="https://redirect.github.com/actions/checkout/pull/1057">actions/checkout#1057</a>)</li>
</ul>
<h2>v3.2.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/942">Add
GitHub Action to perform release</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/967">Fix
status badge</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1002">Replace
datadog/squid with ubuntu/squid Docker image</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/964">Wrap
pipeline commands for submoduleForeach in quotes</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1029">Update
<code>@​actions/io</code> to 1.1.2</a></li>
<li><a
href="https://redirect.github.com/actions/checkout/pull/1039">Upgrading
version to 3.2.0</a></li>
</ul>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/939">Use
<code>@​actions/core</code> <code>saveState</code> and
<code>getState</code></a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/922">Add
<code>github-server-url</code> input</a></li>
</ul>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/770">Add
input <code>set-safe-directory</code></a></li>
</ul>
<h2>v3.0.1</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3df4ab11eb"><code>3df4ab1</code></a>
Release 4.0.0 (<a
href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a
href="8b5e8b7687"><code>8b5e8b7</code></a>
Support fetching without the --progress option (<a
href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a
href="97a652b800"><code>97a652b</code></a>
Update default runtime to node20 (<a
href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v3...v4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 08:33:01 +02:00
dependabot[bot]
4c2318e9d4 chore: bump aws-actions/configure-aws-credentials from 2 to 3 (#172)
Bumps
[aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials)
from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/configure-aws-credentials/releases">aws-actions/configure-aws-credentials's
releases</a>.</em></p>
<blockquote>
<h2>v3</h2>
<p>This tag tracks the latest v3.x.x release</p>
<h2>v3.0.0</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v3.0.0/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v2.2.0</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v2.2.0/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
<h2>v2.1.0</h2>
<p>See the <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/v2.1.0/CHANGELOG.md">changelog</a>
for details about the changes included in this release.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md">aws-actions/configure-aws-credentials's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v2.2.0...v3.0.0">3.0.0</a>
(2023-08-21)</h2>
<h3>Features</h3>
<ul>
<li>Can configure <code>max-retries</code> and
<code>disable-retry</code> to modify retry functionality when the assume
role call fails</li>
<li>Set returned credentials as step outputs with
<code>output-credentials</code></li>
<li>Clear AWS related environment variables at the start of the action
with <code>unset-current-credentials</code></li>
<li>Unique role identifier is now printed in the workflow logs</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Can't use credentials if they contain a special character</li>
<li>Retry functionality added when generating the JWT fails</li>
<li>Can now use <code>webIdentityTokenFile</code> option</li>
<li>Branch name validation too strict</li>
<li>JS SDK v2 deprecation warning in workflow logs</li>
</ul>
<h3>Changes to existing functionality</h3>
<ul>
<li>Default session duration is now 1 hour in all cases (from 6 hours in
some cases)</li>
<li>Account ID will not be masked by default in logs</li>
</ul>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v2.1.0...v2.2.0">2.2.0</a>
(2023-05-31)</h2>
<h3>Features</h3>
<ul>
<li><code>inline-session-policy</code> prop enables assuming a role with
inline session policies (<a
href="d00f6c6f41">d00f6c6</a>)</li>
<li><code>managed-session-policies</code> prop enables assuming a role
with managed policy arns (<a
href="d00f6c6f41">d00f6c6</a>)</li>
</ul>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v2.0.0...v2.1.0">2.1.0</a>
(2023-05-31)</h2>
<h3>Features</h3>
<ul>
<li><code>role-chaining</code> prop enables role chaining use case (<a
href="6fbd316fd1">6fbd316</a>)</li>
</ul>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v1.7.0...v2.0.0">2.0.0</a>
(2023-03-06)</h2>
<h3>Features</h3>
<ul>
<li>Version bump to use Node 16 by default.</li>
</ul>
<h2><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v1.6.1...v1.7.0">1.7.0</a>
(2022-08-03)</h2>
<h3>Features</h3>
<ul>
<li>Allow audience to be explicitly specified (<a
href="2f8dfd0ed4">2f8dfd0</a>)</li>
</ul>
<h3><a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v1.6.0...v1.6.1">1.6.1</a>
(2022-01-18)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>OIDC Parallel Requests error (<a
href="133757e9b8">133757e</a>)</li>
<li>Strict Mode Deprecation (<a
href="4c5e1c60cc">4c5e1c6</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef93a73b13"><code>ef93a73</code></a>
V3 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/791">#791</a>)</li>
<li><a
href="131c7b6fd1"><code>131c7b6</code></a>
chore: Bump jest from 29.6.2 to 29.6.3 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/786">#786</a>)</li>
<li><a
href="6334b403eb"><code>6334b40</code></a>
chore: Bump aws-sdk from 2.1436.0 to 2.1441.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/787">#787</a>)</li>
<li><a
href="360ea313a7"><code>360ea31</code></a>
chore: Bump aws-sdk from 2.1431.0 to 2.1436.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/783">#783</a>)</li>
<li><a
href="de93b00c9f"><code>de93b00</code></a>
chore: Bump eslint from 8.46.0 to 8.47.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/784">#784</a>)</li>
<li><a
href="746d33e7c1"><code>746d33e</code></a>
chore: Bump aws-sdk from 2.1426.0 to 2.1431.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/782">#782</a>)</li>
<li><a
href="706fc9ae3d"><code>706fc9a</code></a>
chore: Bump eslint from 8.45.0 to 8.46.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/780">#780</a>)</li>
<li><a
href="9918371ad5"><code>9918371</code></a>
chore: Bump aws-sdk from 2.1421.0 to 2.1426.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/781">#781</a>)</li>
<li><a
href="345462ab9e"><code>345462a</code></a>
chore: Bump jest from 29.6.1 to 29.6.2 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/779">#779</a>)</li>
<li><a
href="80a7a6c2a2"><code>80a7a6c</code></a>
chore: Bump aws-sdk from 2.1416.0 to 2.1421.0 (<a
href="https://redirect.github.com/aws-actions/configure-aws-credentials/issues/778">#778</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aws-actions/configure-aws-credentials/compare/v2...v3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-actions/configure-aws-credentials&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-24 08:47:36 +02:00
David Barroso
8feb508ea1 feat: added antivirus integration (#171) 2023-08-22 12:05:54 +02:00
David Barroso
996c8c2dff feat: added metadata column to files (#170)
Fixes #134 and #160

This basically introduces a new column `metadata` to the `files` table
of type `jsonb`. The user can populate this with any data it wants by
adding a `metadata` object to the `metadata[]` field in the
multipart-form (`metadata` field when updating files). For instance:

``` shell
curl http://localhost:8080/v1/files \
  -H "Content-Type: multipart/form-data" \
  -H "$AUTH" \
  -F "file[]=@client/testdata/alphabet.txt" \
  -F "metadata[]={\"metadata\":{\"num\":123,\"list\":[1,2,3]}};type=application/json"
```

In addition, we are moving away from the graphql client
`github.com/hasura/go-graphql-client` to `github.com/Yamashou/gqlgenc`
as I was running into some troubles dealing with jsonb objects. This has
the side-effect the graphql code is much cleaner and easier to
understand (this was long overdue to be honest).
2023-08-16 12:53:21 +02:00
David Barroso
e7dc5b3cee chore: update dependencies (#169) 2023-08-15 13:21:18 +02:00
David Barroso
f9bc7fa5c3 chore: udpate dependencies (#168) 2023-07-28 10:47:49 +02:00
Matteo Mazzoni
752c725750 Finetuning openapi doc for better swagger testing (#167) 2023-07-17 13:02:23 +02:00
David Barroso
c89b48d851 fix typo 2023-07-07 09:19:07 +02:00
dependabot[bot]
c5f688fb65 chore: bump nixbuild/nix-quick-install-action from 24 to 25 (#166)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 24 to 25.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v24...v25)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 13:56:38 +02:00
José Henrique Leão
f32b7846d1 feat: allow configuration of cors domains and credentials (#159) 2023-06-27 20:06:21 +02:00
dependabot[bot]
a8e9c1d32a chore: bump nixbuild/nix-quick-install-action from 23 to 24 (#164)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 23 to 24.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v23...v24)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 08:44:33 +02:00
dependabot[bot]
b7e3151702 chore: bump nixbuild/nix-quick-install-action from 22 to 23 (#163)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 22 to 23.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v22...v23)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-23 08:11:58 +02:00
Tuan (Tony) T
78447dd391 fix: url-safe filename (#162) 2023-06-21 11:10:31 +02:00
David Barroso
5bd777d6c2 fix: pass quality to image transformer (#158) 2023-05-22 15:33:38 +02:00
Szilárd Dóró
3235e38b20 chore: add probot-stale (#156)
* chore: add probot

* chore: remove trailing empty line
2023-05-11 10:58:01 +02:00
David Barroso
b1ce4703d0 feat: allow manipulation on presigned urls (#152) 2023-03-17 12:33:39 +01:00
dependabot[bot]
771dca1064 chore: bump nixbuild/nix-quick-install-action from 21 to 22 (#151)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 21 to 22.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v21...v22)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 07:46:06 +01:00
dependabot[bot]
2f5c47ec84 chore: bump aws-actions/configure-aws-credentials from 1 to 2 (#150)
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 1 to 2.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v1...v2)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 14:10:16 +01:00
David Barroso
759e6a53c6 chore: clean pipeline (#147) 2023-01-13 11:24:42 +01:00
David Barroso
b9aebcb47c feat: respect specified content-type if specified and is other than application/octet-stream (#139) 2023-01-04 10:15:09 +01:00
dependabot[bot]
be5e5f123f chore: bump nixbuild/nix-quick-install-action from 20 to 21 (#144)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 20 to 21.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v20...v21)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 11:13:41 +01:00
dependabot[bot]
4b801e5b95 chore: bump nixbuild/nix-quick-install-action from 19 to 20 (#143)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 19 to 20.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v19...v20)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-23 08:23:14 +01:00
Kevin Rodríguez
f0c3768f62 fix: fixes file too small error message (#142) 2022-12-21 11:03:16 +01:00
David Barroso
8e342e4520 chore: update deps (#140) 2022-12-19 09:45:06 +01:00
David Barroso
315e90dd5c feat: lower cache size to 1MB (#137) 2022-11-24 08:45:17 +01:00
David Barroso
fe1de57395 fix: set a sane value for MaxMultipartMemory (#133) 2022-11-15 08:31:46 +01:00
David Barroso
7381b3c72d fix: detect check constraint errors properly (#131) 2022-11-11 13:04:55 +01:00
David Barroso
4282ea68ca feat: insert more metadata when initializing files on upload (#130) 2022-11-11 11:58:08 +01:00
David Barroso
6ff55c24b6 fix: compare IDs correctly when dealing with broken-metadata and orphan files (#129) 2022-11-11 11:56:40 +01:00
David Barroso
744d7394e0 Update openapi.yaml (#127) 2022-11-04 09:10:28 +01:00
David Barroso
9349d30889 fix: allow updating files that aren't uploaded (#126) 2022-11-04 09:08:11 +01:00
dependabot[bot]
5b8ac94b82 chore: bump nixbuild/nix-quick-install-action from 18 to 19 (#125)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 18 to 19.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v18...v19)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-02 08:19:05 +01:00
David Barroso
656d563ca4 chore: update deps (#123) 2022-10-28 10:44:42 +02:00
David Barroso
097abb4617 fix: protect ops endpoints requiring admin (#122)
* fix: protect ops endpoints requiring admin
2022-10-28 10:40:51 +02:00
dependabot[bot]
da8215a1c2 chore: bump cachix/cachix-action from 11 to 12 (#121)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 11 to 12.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v11...v12)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-28 10:36:10 +02:00
Sean Radigan
9da2e8c4e1 added x-hasura-role to allowed headers in CORS (#120)
Co-authored-by: Sean Radigan <seanbreaksthings@tuta.io>
2022-10-25 10:16:04 +02:00
Jeff Loiselle
7dbdc85ec0 Update README.md (#117) 2022-10-21 09:56:20 +02:00
dependabot[bot]
1b6fcb1573 chore: bump cachix/cachix-action from 10 to 11 (#116)
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 10 to 11.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v10...v11)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 10:05:23 +02:00
dependabot[bot]
a9f6b098a0 chore: bump nixbuild/nix-quick-install-action from 17 to 18 (#115)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 17 to 18.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v17...v18)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-11 14:48:24 +02:00
David Barroso
2eb2eb7d81 chore: update dependencies (#112) 2022-10-03 13:28:48 +02:00
David Barroso
7500dd4d61 fix: read config flag correctly (#111) 2022-10-03 13:28:40 +02:00
David Barroso
85989f47ba feat: allow configuring apiRootPrefix (#109)
* feat: allow configuring apiRootPrefix

* asd
2022-08-29 15:28:30 +02:00
Johan Eliasson
0f597c1c0c latest hasura version (#108) 2022-08-23 17:05:51 +02:00
Johan Eliasson
fd6bba889f copy update 2022-08-23 07:28:46 +02:00
dependabot[bot]
c6151c9638 chore: bump nixbuild/nix-quick-install-action from 16 to 17 (#107)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 16 to 17.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v16...v17)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-19 07:56:57 +02:00
David Barroso
70c0cc53bb fix: download file completely from s3 if Range+image manip opts are specified (#101) 2022-07-13 12:09:04 +02:00
David Barroso
f32a0b1a1d fix: fastly middleware: dont set surrogate control header for presigned urls (#103) 2022-07-13 12:05:37 +02:00
Siarhei Lipchyk
0ea78379af Fix the error message (#100) 2022-07-10 11:40:49 +02:00
dependabot[bot]
1323f5c73b chore: bump nixbuild/nix-quick-install-action from 15 to 16 (#94)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 15 to 16.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v15...v16)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-17 09:46:50 +02:00
David Barroso
0520dcbbbc chore: update deps (#86) 2022-06-10 09:29:52 +02:00
dependabot[bot]
6f9bcf4564 chore: bump nixbuild/nix-quick-install-action from 14 to 15 (#92)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 14 to 15.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v14...v15)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-10 09:16:12 +02:00
David Barroso
425946137c fix: this was wrongly misinterpreted as minutes (#91) 2022-06-10 09:16:01 +02:00
David Barroso
91d9e4d41a chore: pin minio to make tests more reliable (#90) 2022-06-02 13:14:47 +02:00
dependabot[bot]
56c641f6e7 chore: bump nixbuild/nix-quick-install-action from 13 to 14 (#88)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 13 to 14.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v13...v14)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-02 08:34:23 +02:00
David Barroso
789f4a2e91 fix: dont require select:bucket permissions to delete files (#87) 2022-05-27 16:45:00 +02:00
David Barroso
1b3cfeff4e fix: set content-range accordingly if range requested with image manipulation (#85) 2022-05-27 11:44:53 +02:00
David Barroso
d17dc3ed80 fix: allow inserting files without requiring select permissions (#84) 2022-05-27 11:37:01 +02:00
David Barroso
b4b4fb4eea fix: remove /storage from the path (#83) 2022-05-24 16:54:39 +02:00
David Barroso
de48ecdc28 feat: added integration with CDN Fastly (#77) 2022-05-24 09:53:17 +02:00
David Barroso
d8e68e59e7 chore: remove code duplication (#80) 2022-05-19 14:44:05 +02:00
David Barroso
2251e3a598 calculate presignedurls max-age using info in the signature to make sure they expire at the right time (#79) 2022-05-19 14:30:57 +02:00
David Barroso
de06fca938 feat: support downloading a range (#76) 2022-05-19 13:41:07 +02:00
David Barroso
72bc77de7f fix: treat conditional requests to s3 correctly when using presigned urls (#78) 2022-05-19 13:27:21 +02:00
David Barroso
88c5b49f00 chore: fix vips tests (#75) 2022-05-19 12:25:52 +02:00
dependabot[bot]
52fbd758cb chore: bump docker/setup-qemu-action from 1 to 2 (#71)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 10:56:09 +02:00
dependabot[bot]
e013c3b09e chore: bump docker/login-action from 1 to 2 (#72)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 10:56:00 +02:00
David Barroso
7ce5fdf39e replace govips with own bindings (#73) 2022-05-10 10:55:46 +02:00
dependabot[bot]
c89df28521 chore: bump nixbuild/nix-quick-install-action from 12 to 13 (#65)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 12 to 13.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v12...v13)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 09:06:13 +02:00
David Barroso
8c8b2d7c6d chore: documentation (#64) 2022-04-26 16:24:25 +02:00
dependabot[bot]
f230ee75cb chore: bump github/codeql-action from 1 to 2 (#63)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 09:13:24 +02:00
David Barroso
a04e154bf5 fix: make flags more consumable (#61) 2022-04-25 14:43:24 +02:00
David Barroso
344870319c fix: replace imagemagick with libvips to increase performance (#60) 2022-04-25 12:44:09 +02:00
David Barroso
c96d4cdcbe fix: remove dependency between storage and auth (#59) 2022-04-22 14:38:06 +02:00
David Barroso
383920d593 fix: don't require permissions to see bucket information when retrieving files (#58) 2022-04-21 14:43:42 +02:00
David Barroso
e1ea387598 fix: use admin secret to update metadata when uploading files (#54) 2022-04-11 10:18:12 +02:00
David Barroso
e5857bc131 added constraint to allow setting only valid range for presignedURL expiration time (#55) 2022-04-11 09:49:27 +02:00
David Barroso
8d061f712c connect to the schema when applying migrations so the schema_migrations table is created there too (#53) 2022-04-07 11:20:02 +02:00
David Barroso
dd7bdccf24 fix: presigned urls (#51) 2022-04-06 09:52:28 +02:00
David Barroso
de2a54c519 use same path as old storage (#50) 2022-03-31 09:14:41 +02:00
David Barroso
b0777bd423 use admin secret when reading bucket information as users dont need access to it (#48) 2022-03-31 09:14:30 +02:00
David Barroso
92313744ce add missing headers to CORS (#49) 2022-03-30 14:39:24 +02:00
David Barroso
925fa51886 chore: update go version to 1.18 2022-03-23 12:15:33 +00:00
dependabot[bot]
9db23f87d7 chore: bump actions/cache from 2 to 3 (#46) 2022-03-22 10:01:01 +00:00
David Barroso
38fe19b482 fix: change resize behavior to be inline with previous storage (#45)
* change resize behavior to be inline with previous storage

* asd
2022-03-16 15:13:23 +01:00
David Barroso
03cabdbe86 fix: minor compatibility adjustments (#42) 2022-03-15 14:17:13 +01:00
David Barroso
d3fab91585 fixed cors (#43) 2022-03-15 13:44:32 +01:00
David Barroso
3ccd04f102 added cacerts to docker image (#44) 2022-03-15 13:15:04 +01:00
dependabot[bot]
cd4fcb1aa0 chore: bump nixbuild/nix-quick-install-action from 10 to 12 (#37)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 10 to 12.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v10...v12)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-10 07:45:40 +01:00
David Barroso
06183bcab5 feat: added backwards compatibility with former storage (#32) 2022-03-07 12:14:53 +01:00
dependabot[bot]
8579baed75 chore: bump nixbuild/nix-quick-install-action from 9 to 10 (#29)
Bumps [nixbuild/nix-quick-install-action](https://github.com/nixbuild/nix-quick-install-action) from 9 to 10.
- [Release notes](https://github.com/nixbuild/nix-quick-install-action/releases)
- [Changelog](https://github.com/nixbuild/nix-quick-install-action/blob/master/RELEASE)
- [Commits](https://github.com/nixbuild/nix-quick-install-action/compare/v9...v10)

---
updated-dependencies:
- dependency-name: nixbuild/nix-quick-install-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-04 12:22:46 +01:00
dependabot[bot]
56615c1341 chore: bump actions/checkout from 2 to 3 (#30)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-04 10:26:24 +01:00
David Barroso
eeba558231 update dependencies (#31) 2022-03-04 10:26:11 +01:00
David Barroso
d08699f283 chore: added dependabot, release drafter, and PR template (#27) 2022-03-04 10:19:28 +01:00
David Barroso
86a41734d9 Create codeql-analysis.yml (#28) 2022-03-04 10:08:03 +01:00
Nuno Pato
195cee0572 replace "create or replace" with "drop/create" for triggers (#26) 2022-02-15 11:00:38 -01:00
Nuno Pato
787fa0a069 Chore: consistent naming (#24)
* Make naming more consistent

* update hasura to v2.2.0

* Fix typo

* use /v1 instead of /v1/graphql

* asd

* asd

* asd

* Add /graphql

* small fix
2022-02-14 17:38:11 -01:00
David Barroso
678dd96238 added nix wrapper in case nix isn't available (#23) 2022-02-04 17:37:17 +01:00
David Barroso
3c1d3528db Create LICENSE 2022-02-04 16:02:33 +01:00
David Barroso
8327869801 set up OPTIONS for CORS (#22) 2022-02-04 15:03:49 +01:00
David Barroso
37245a0d5d update dependencies (#21) 2022-02-04 14:05:09 +01:00
David Barroso
a7e10b5b9a added endpoint to get presigned URLs (#20) 2022-02-04 13:04:51 +01:00
David Barroso
c0a37bf1ce change prefix for endpoints to match current pattern (#18) 2022-02-03 20:20:54 +01:00
David Barroso
da427a37c9 fix release (#17) 2022-02-03 17:10:06 +01:00
David Barroso
7e2c14f147 migrate cli to cobra (#16) 2022-02-02 14:24:47 +01:00
David Barroso
e565498a6d implement image manipulation features (#15) 2022-02-01 19:50:01 +01:00
David Barroso
603f6dae48 migrate build and development environment to nix (#14)
* added vendor folder
* make tests more resillient
* migrate to nix
2022-01-27 16:50:12 +01:00
David Barroso
5771d2252c added golang client and implemented integration tests (#11) 2022-01-21 19:21:03 +01:00
David Barroso
ef3d382f2b manage migrations for postgres/hasura on startup (#9) 2022-01-21 17:08:17 +01:00
David Barroso
f46599d675 added several RPCs to perform various operations (#3) 2022-01-21 15:25:42 +01:00
David Barroso
0302644cf8 allow specifying a root folder for s3 storage (#7) 2022-01-17 10:33:49 +01:00
David Barroso
9acf2b1f89 Implemented DELETE /file/:id (#2) 2022-01-13 18:47:23 +01:00
David Barroso
4a9ad0f082 implemented PUT /files/:id (#1) 2022-01-13 13:24:57 +01:00
David Barroso
c61ea9bef6 first poc 2022-01-04 10:53:06 +01:00
David Barroso
fcc44652f2 added README.md 2021-12-13 13:17:58 +01:00
1129 changed files with 331848 additions and 2607 deletions

View File

@@ -32,6 +32,7 @@ Where `PKG` is:
- `mintlify-openapi`: For changes to the Mintlify OpenAPI tool
- `nhost-js`: For changes to the Nhost JavaScript SDK
- `nixops`: For changes to the NixOps
- `storage`: For changes to the Nhost Storage
Where `SUMMARY` is a short description of what the PR does.

15
.github/actions/cache-nix/action.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: 'Cache Nix to S3'
description: 'Copy Nix store to S3-backed cache'
inputs:
NIX_CACHE_PRIV_KEY:
description: 'Nix cache private key'
required: true
runs:
using: 'composite'
steps:
- name: "Cache build"
shell: bash
run: |
nix store sign --key-file <(echo "${{ inputs.NIX_CACHE_PRIV_KEY }}") --all
nix copy --to 's3://nhost-nix-cache?region=eu-central-1' --substitute-on-destination --all

51
.github/actions/setup-nix/action.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: 'Setup Nix'
description: 'Install Nix and setup caching for Nhost projects'
inputs:
NAME:
description: 'Project name for cache key'
required: true
NIX_CACHE_PUB_KEY:
description: 'Nix cache public key'
required: true
GITHUB_TOKEN:
description: 'GitHub token for Nix access'
required: true
runs:
using: 'composite'
steps:
- name: Install Nix
uses: cachix/install-nix-action@v31
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ inputs.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ inputs.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
# - name: "Verify if nixops is pre-built"
# id: verify-nixops-build
# run: |
# export drvPath=$(make build-nixops-dry-run)
# echo "Derivation path: $drvPath"
# nix path-info --store s3://nhost-nix-cache\?region=eu-central-1 $drvPath \
# || (echo "Wait until nixops is already built and cached and run again" && exit 1)
# if: ${{ inputs.NAME != 'nixops' }}

View File

@@ -0,0 +1,41 @@
---
name: "Validate PR Title"
description: "Validates that PR title follows the required format: TYPE(PKG): SUMMARY"
inputs:
pr_title:
description: "The PR title to validate"
required: true
runs:
using: "composite"
steps:
- name: "Validate PR title format"
shell: bash
run: |
PR_TITLE="${{ inputs.pr_title }}"
echo "Validating PR title: $PR_TITLE"
# Define valid types and packages
VALID_TYPES="feat|fix|chore"
VALID_PKGS="ci|cli|codegen|dashboard|deps|docs|examples|mintlify-openapi|nhost-js|nixops|storage"
# Check if title matches the pattern TYPE(PKG): SUMMARY
if [[ ! "$PR_TITLE" =~ ^(${VALID_TYPES})\((${VALID_PKGS})\):\ .+ ]]; then
echo "❌ PR title does not follow the required format!"
echo ""
echo "Expected format: TYPE(PKG): SUMMARY"
echo ""
echo "Valid TYPEs:"
echo " - feat: mark this pull request as a feature"
echo " - fix: mark this pull request as a bug fix"
echo " - chore: mark this pull request as a maintenance item"
echo ""
echo "Valid PKGs:"
echo " - ci, cli, codegen, dashboard, deps, docs, examples,"
echo " - mintlify-openapi, nhost-js, nixops, storage"
echo ""
echo "Example: feat(cli): add new command for database migrations"
exit 1
fi
echo "✅ PR title is valid!"

14
.github/dependabot.yaml vendored Normal file
View File

@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: "github-actions"
open-pull-requests-limit: 10
directory: "/"
schedule:
interval: "daily"
time: "04:00"
commit-message:
prefix: "chore(ci)"
labels:
- "dependencies"
- "github_actions"
- "chore"

View File

@@ -24,30 +24,12 @@ jobs:
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-cliff-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-cliff-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-cliff-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Extract project and version from PR title"
id: extract

View File

@@ -36,9 +36,8 @@ jobs:
cli:
needs: extract-project
if: needs.extract-project.outputs.project == 'cli'
uses: ./.github/workflows/cli_release.yaml
uses: ./.github/workflows/cli_wf_release.yaml
with:
NAME: dashboard
GIT_REF: ${{ github.sha }}
VERSION: ${{ needs.extract-project.outputs.version }}
secrets:
@@ -52,9 +51,8 @@ jobs:
dashboard:
needs: extract-project
if: needs.extract-project.outputs.project == '@nhost/dashboard'
uses: ./.github/workflows/dashboard_release.yaml
uses: ./.github/workflows/dashboard_wf_release.yaml
with:
NAME: dashboard
GIT_REF: ${{ github.sha }}
VERSION: ${{ needs.extract-project.outputs.version }}
secrets:
@@ -83,3 +81,17 @@ jobs:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_PRODUCTION }}
storage:
needs: extract-project
if: needs.extract-project.outputs.project == 'storage'
uses: ./.github/workflows/storage_wf_release.yaml
with:
GIT_REF: ${{ github.sha }}
VERSION: ${{ needs.extract-project.outputs.version }}
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
project: [cli, dashboard, packages/nhost-js]
project: [cli, dashboard, packages/nhost-js, services/storage]
permissions:
id-token: write
@@ -27,30 +27,12 @@ jobs:
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-cliff-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-cliff-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-cliff-${{ runner.os }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Get next version"
id: version

View File

@@ -27,6 +27,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
@@ -70,7 +74,7 @@ jobs:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
test_cli_build:
uses: ./.github/workflows/cli_test_new_project.yaml
uses: ./.github/workflows/cli_wf_test_new_project.yaml
needs:
- check-permissions
- build_artifacts

View File

@@ -3,9 +3,6 @@ name: "cli: release"
on:
workflow_call:
inputs:
NAME:
required: true
type: string
GIT_REF:
required: true
type: string
@@ -71,35 +68,17 @@ jobs:
ref: ${{ inputs.GIT_REF }}
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: cli
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Compute common env vars
id: vars
@@ -136,8 +115,8 @@ jobs:
--clobber "${{ github.ref_name }}" \
./upload/* checksums.txt
- name: "Cache build"
run: |
nix store sign --key-file <(echo "${{ secrets.NIX_CACHE_PRIV_KEY }}") --all
find /nix/store -maxdepth 1 -name "*-*" -type d | xargs -n 25 nix copy --to s3://nhost-nix-cache\?region=eu-central-1
- name: "Store Nix cache"
uses: ./.github/actions/cache-nix
with:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
if: always()

View File

@@ -50,35 +50,17 @@ jobs:
comment_on_pr: false
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Get artifacts"
uses: actions/download-artifact@v5
@@ -108,9 +90,8 @@ jobs:
/home/runner/_work/nhost/nhost/cli/result/bin/cli up --down-on-error
/home/runner/_work/nhost/nhost/cli/result/bin/cli down --volumes
- name: "Cache build"
run: |
nix store sign --key-file <(echo "${{ secrets.NIX_CACHE_PRIV_KEY }}") --all
find /nix/store -maxdepth 1 -name "*-*" -type d | xargs -n 25 nix copy --to s3://nhost-nix-cache\?region=eu-central-1
- name: "Store Nix cache"
uses: ./.github/actions/cache-nix
with:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
if: always()

View File

@@ -25,6 +25,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest

View File

@@ -32,6 +32,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
@@ -59,6 +63,7 @@ jobs:
VERCEL_TEAM_ID: ${{ secrets.DASHBOARD_VERCEL_TEAM_ID }}
VERCEL_PROJECT_ID: ${{ secrets.DASHBOARD_STAGING_VERCEL_PROJECT_ID }}
VERCEL_DEPLOY_TOKEN: ${{ secrets.DASHBOARD_VERCEL_DEPLOY_TOKEN }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
build_artifacts:
@@ -71,6 +76,7 @@ jobs:
GIT_REF: ${{ github.sha }}
VERSION: 0.0.0-dev # we use a fixed version here to avoid unnecessary rebuilds
DOCKER: true
OS_MATRIX: '["blacksmith-2vcpu-ubuntu-2404"]'
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
@@ -93,7 +99,7 @@ jobs:
e2e_staging:
uses: ./.github/workflows/wf_dashboard_e2e_staging.yaml
uses: ./.github/workflows/dashboard_wf_e2e_staging.yaml
needs:
- check-permissions
- deploy-vercel

View File

@@ -4,6 +4,32 @@ on:
push:
branches:
- main
paths:
- '.github/workflows/wf_build_artifacts.yaml'
- '.github/workflows/wf_check.yaml'
- '.github/workflows/dashboard_checks.yaml'
# common build
- 'flake.nix'
- 'flake.lock'
- 'nixops/**'
- 'build/**'
# common javascript
- ".npmrc"
- ".prettierignore"
- ".prettierrc.js"
- "audit-ci.jsonc"
- "package.json"
- "pnpm-workspace.yaml"
- "pnpm-lock.yaml"
- "turbo.json"
# dashboard
- "dashboard/**"
# nhost-js
- packages/nhost-js/**
jobs:
deploy-vercel:
@@ -19,4 +45,5 @@ jobs:
VERCEL_TEAM_ID: ${{ secrets.DASHBOARD_VERCEL_TEAM_ID }}
VERCEL_PROJECT_ID: ${{ secrets.DASHBOARD_STAGING_VERCEL_PROJECT_ID }}
VERCEL_DEPLOY_TOKEN: ${{ secrets.DASHBOARD_VERCEL_DEPLOY_TOKEN }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_STAGING }}

View File

@@ -59,6 +59,10 @@ on:
PLAYWRIGHT_REPORT_ENCRYPTION_KEY:
required: true
concurrency:
group: dashboard-e2e-staging
cancel-in-progress: false
env:
NEXT_PUBLIC_ENV: dev
NEXT_TELEMETRY_DISABLED: 1
@@ -101,35 +105,17 @@ jobs:
comment_on_pr: false
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Start CLI
run: |
@@ -162,8 +148,8 @@ jobs:
path: dashboard/playwright-report.tar.gz.enc
retention-days: 1
- name: "Cache build"
run: |
nix store sign --key-file <(echo "${{ secrets.NIX_CACHE_PRIV_KEY }}") --all
find /nix/store -maxdepth 1 -name "*-*" -type d | xargs -n 25 nix copy --to s3://nhost-nix-cache\?region=eu-central-1
- name: "Store Nix cache"
uses: ./.github/actions/cache-nix
with:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
if: always()

View File

@@ -4,9 +4,6 @@ name: 'dashboard: release'
on:
workflow_call:
inputs:
NAME:
required: true
type: string
GIT_REF:
required: true
type: string
@@ -49,6 +46,7 @@ jobs:
VERCEL_TEAM_ID: ${{ secrets.VERCEL_TEAM_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_DEPLOY_TOKEN: ${{ secrets.VERCEL_DEPLOY_TOKEN }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
build_artifacts:
@@ -100,6 +98,7 @@ jobs:
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
body: |
This PR bumps the Nhost Dashboard Docker image to version ${{ needs.version.outputs.dashboardVersion }}.
This PR bumps the Nhost Dashboard Docker image to version ${{ inputs.VERSION }}.
branch: bump-dashboard-version
base: main
delete-branch: true

View File

@@ -31,6 +31,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest

View File

@@ -41,6 +41,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
@@ -77,6 +81,7 @@ jobs:
GIT_REF: ${{ github.sha }}
VERSION: 0.0.0-dev # we use a fixed version here to avoid unnecessary rebuilds
DOCKER: false
OS_MATRIX: '["blacksmith-2vcpu-ubuntu-2404"]'
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}

View File

@@ -41,6 +41,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
@@ -77,6 +81,7 @@ jobs:
GIT_REF: ${{ github.sha }}
VERSION: 0.0.0-dev # we use a fixed version here to avoid unnecessary rebuilds
DOCKER: false
OS_MATRIX: '["blacksmith-2vcpu-ubuntu-2404"]'
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}

View File

@@ -41,6 +41,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
@@ -77,6 +81,7 @@ jobs:
GIT_REF: ${{ github.sha }}
VERSION: 0.0.0-dev # we use a fixed version here to avoid unnecessary rebuilds
DOCKER: false
OS_MATRIX: '["blacksmith-2vcpu-ubuntu-2404"]'
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}

View File

@@ -7,7 +7,7 @@ on:
jobs:
pr_agent_job:
if: ${{ github.event.sender.type != 'Bot' }}
runs-on: ubuntu-latest
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 10
permissions:
issues: write
@@ -16,12 +16,11 @@ jobs:
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@v0.26
uses: Codium-ai/pr-agent@v0.30
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
config.max_model_tokens: 100000
config.model: "anthropic/claude-3-5-sonnet-20240620"
config.model_turbo: "anthropic/claude-3-5-sonnet-20240620"
ignore.glob: "['pnpm-lock.yaml','**/pnpm-lock.yaml']"
config.model: ${{ vars.GEN_AI_MODEL }}
config.model_turbo: $${{ vars.GEN_AI_MODEL_TURBO }}
ignore.glob: "['pnpm-lock.yaml','**/pnpm-lock.yaml', 'vendor/**','**/client_gen.go','**/models_gen.go','**/generated.go','**/*.gen.go']"

View File

@@ -1,8 +1,6 @@
name: "CodeQL"
on:
push: {}
pull_request: {}
schedule:
- cron: '20 23 * * 3'
@@ -18,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: [ 'javascript', 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
@@ -28,7 +26,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -39,7 +37,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -53,4 +51,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -18,12 +18,12 @@ jobs:
uses: actions/checkout@v5
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: nixbuild/nix-quick-install-action@v26
- uses: nixbuild/nix-quick-install-action@v34
with:
nix_version: 2.16.2
nix_conf: |
@@ -51,7 +51,7 @@ jobs:
"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update dependencies

View File

@@ -38,6 +38,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest

View File

@@ -17,6 +17,10 @@ on:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest

84
.github/workflows/storage_checks.yaml vendored Normal file
View File

@@ -0,0 +1,84 @@
---
name: "storage: check and build"
on:
# pull_request_target:
pull_request:
paths:
- '.github/workflows/storage_checks.yaml'
- '.github/workflows/wf_check.yaml'
- '.github/workflows/wf_build_artifacts.yaml'
# common build
- 'flake.nix'
- 'flake.lock'
- 'nixops/**'
- 'build/**'
# common go
- '.golangci.yaml'
- 'go.mod'
- 'go.sum'
- 'vendor/**'
# storage
- 'services/storage/**'
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('push-{0}', github.sha) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-permissions:
runs-on: ubuntu-latest
steps:
- run: |
echo "github.event_name: ${{ github.event_name }}"
echo "github.event.pull_request.author_association: ${{ github.event.pull_request.author_association }}"
- name: "This task will run and fail if user has no permissions and label safe_to_test isn't present"
if: "github.event_name == 'pull_request_target' && ! ( contains(github.event.pull_request.labels.*.name, 'safe_to_test') || contains(fromJson('[\"OWNER\", \"MEMBER\", \"COLLABORATOR\"]'), github.event.pull_request.author_association) )"
run: |
exit 1
tests:
uses: ./.github/workflows/wf_check.yaml
needs:
- check-permissions
with:
NAME: storage
PATH: services/storage
GIT_REF: ${{ github.sha }}
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
NHOST_PAT: ${{ secrets.NHOST_PAT }}
build_artifacts:
uses: ./.github/workflows/wf_build_artifacts.yaml
needs:
- check-permissions
with:
NAME: storage
PATH: services/storage
GIT_REF: ${{ github.sha }}
VERSION: 0.0.0-dev # we use a fixed version here to avoid unnecessary rebuilds
DOCKER: true
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
remove_label:
runs-on: ubuntu-latest
needs:
- check-permissions
steps:
- uses: actions-ecosystem/action-remove-labels@v1
with:
labels: |
safe_to_test
if: contains(github.event.pull_request.labels.*.name, 'safe_to_test')

View File

@@ -0,0 +1,60 @@
---
name: "storage: release"
on:
workflow_call:
inputs:
GIT_REF:
required: true
type: string
VERSION:
required: true
type: string
secrets:
AWS_ACCOUNT_ID:
required: true
NIX_CACHE_PUB_KEY:
required: true
NIX_CACHE_PRIV_KEY:
required: true
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
jobs:
build_artifacts:
uses: ./.github/workflows/wf_build_artifacts.yaml
with:
NAME: storage
PATH: services/storage
GIT_REF: ${{ inputs.GIT_REF }}
VERSION: ${{ inputs.VERSION }}
DOCKER: true
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
push-docker-hub:
uses: ./.github/workflows/wf_docker_push_image.yaml
needs:
- build_artifacts
with:
NAME: storage
PATH: services/storage
VERSION: ${{ inputs.VERSION }}
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
push-docker-ecr:
uses: ./.github/workflows/wf_docker_push_image_ecr.yaml
needs:
- build_artifacts
with:
NAME: storage
PATH: services/storage
VERSION: ${{ inputs.VERSION }}
secrets:
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
CONTAINER_REGISTRY: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.eu-central-1.amazonaws.com

View File

@@ -17,6 +17,10 @@ on:
DOCKER:
type: boolean
required: true
OS_MATRIX:
type: string
required: false
default: '["blacksmith-4vcpu-ubuntu-2404-arm", "blacksmith-2vcpu-ubuntu-2404"]'
secrets:
AWS_ACCOUNT_ID:
required: true
@@ -37,7 +41,7 @@ jobs:
strategy:
matrix:
os: [blacksmith-4vcpu-ubuntu-2404-arm, blacksmith-2vcpu-ubuntu-2404]
os: ${{ fromJSON(inputs.OS_MATRIX) }}
fail-fast: true
runs-on: ${{ matrix.os }}
@@ -49,45 +53,24 @@ jobs:
with:
ref: ${{ inputs.GIT_REF }}
- name: "Validate PR title"
uses: ./.github/actions/validate-pr-title
with:
pr_title: ${{ github.event.pull_request.title }}
if: ${{ github.event_name == 'pull_request' }}
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
# - name: "Verify if nixops is pre-built"
# id: verify-nixops-build
# run: |
# export drvPath=$(make build-nixops-dry-run)
# echo "Derivation path: $drvPath"
# nix path-info --store s3://nhost-nix-cache\?region=eu-central-1 $drvPath \
# || (echo "Wait until nixops is already built and cached and run again" && exit 1)
# if: ${{ inputs.NAME != 'nixops' }}
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Compute common env vars
id: vars
@@ -124,8 +107,8 @@ jobs:
retention-days: 7
if: ${{ ( inputs.DOCKER ) }}
- name: "Cache build"
run: |
nix store sign --key-file <(echo "${{ secrets.NIX_CACHE_PRIV_KEY }}") --all
find /nix/store -maxdepth 1 -name "*-*" -type d | xargs -n 25 nix copy --to s3://nhost-nix-cache\?region=eu-central-1
- name: "Store Nix cache"
uses: ./.github/actions/cache-nix
with:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
if: always()

View File

@@ -44,50 +44,29 @@ jobs:
with:
ref: ${{ inputs.GIT_REF }}
- name: "Validate PR title"
uses: ./.github/actions/validate-pr-title
with:
pr_title: ${{ github.event.pull_request.title }}
if: ${{ github.event_name == 'pull_request' }}
- name: Collect Workflow Telemetry
uses: catchpoint/workflow-telemetry-action@v2
with:
comment_on_pr: false
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
# - name: "Verify if nixops is pre-built"
# id: verify-nixops-build
# run: |
# export drvPath=$(make build-nixops-dry-run)
# echo "Derivation path: $drvPath"
# nix path-info --store s3://nhost-nix-cache\?region=eu-central-1 $drvPath \
# || (echo "Wait until nixops is already built and cached and run again" && exit 1)
# if: ${{ inputs.NAME != 'nixops' }}
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Verify if we need to build"
id: verify-build
@@ -109,8 +88,8 @@ jobs:
run: make check
if: ${{ steps.verify-build.outputs.BUILD_NEEDED == 'yes' }}
- name: "Cache build"
run: |
nix store sign --key-file <(echo "${{ secrets.NIX_CACHE_PRIV_KEY }}") --all
find /nix/store -maxdepth 1 -name "*-*" -type d | xargs -n 25 nix copy --to s3://nhost-nix-cache\?region=eu-central-1
- name: "Store Nix cache"
uses: ./.github/actions/cache-nix
with:
NIX_CACHE_PRIV_KEY: ${{ secrets.NIX_CACHE_PRIV_KEY }}
if: always()

View File

@@ -27,6 +27,8 @@ on:
required: true
DISCORD_WEBHOOK:
required: false
TURBO_TOKEN:
required: true
outputs:
preview-url:
@@ -52,41 +54,25 @@ jobs:
ref: ${{ inputs.GIT_REF }}
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger Vercel deployment
id: deploy
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_TEAM_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: nhost
run: |
TARGET_OPTS="--target=${{ inputs.ENVIRONMENT }}"
echo "Deploying to: ${{ inputs.ENVIRONMENT }}..."

View File

@@ -33,7 +33,7 @@ jobs:
steps:
- name: "Check out repository"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: true

View File

@@ -0,0 +1,84 @@
---
on:
workflow_call:
inputs:
NAME:
type: string
required: true
PATH:
type: string
required: true
VERSION:
type: string
required: true
secrets:
AWS_ACCOUNT_ID:
required: true
CONTAINER_REGISTRY:
required: true
jobs:
push-to-registry:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
id-token: write
contents: write
defaults:
run:
working-directory: ${{ inputs.PATH }}
steps:
- name: "Check out repository"
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: true
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- name: "Login to Amazon ECR"
uses: aws-actions/amazon-ecr-login@v2
with:
mask-password: 'true'
- name: "Compute common env vars"
id: vars
run: |
echo "VERSION=$(make get-version VER=${{ inputs.VERSION }})" >> $GITHUB_OUTPUT
- name: "Get artifacts"
uses: actions/download-artifact@v5
with:
path: ~/artifacts
- name: "Inspect artifacts"
run: find ~/artifacts
- name: "Push docker image to docker hub"
run: |
export NAME=${{ inputs.NAME }}
export VERSION=${{ steps.vars.outputs.VERSION }}
export CONTAINER_REGISTRY=${{ secrets.CONTAINER_REGISTRY }}
export CONTAINER_NAME=$CONTAINER_REGISTRY/$NAME
for ARCH in "x86_64" "aarch64"; do
skopeo copy --insecure-policy \
dir:/home/runner/artifacts/${{ inputs.NAME }}-docker-image-$ARCH-$VERSION \
docker-daemon:$CONTAINER_NAME:$VERSION-$ARCH
docker push $CONTAINER_NAME:$VERSION-$ARCH
done
docker manifest create \
$CONTAINER_NAME:$VERSION \
--amend $CONTAINER_NAME:$VERSION-x86_64 \
--amend $CONTAINER_NAME:$VERSION-aarch64
docker manifest push $CONTAINER_NAME:$VERSION

View File

@@ -42,35 +42,17 @@ jobs:
uses: actions/checkout@v5
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: cachix/install-nix-action@v31
- name: Setup Nix with Cache
uses: ./.github/actions/setup-nix
with:
install_url: "https://releases.nixos.org/nix/nix-2.28.4/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ inputs.NAME }}-${{ runner.os }}-${{ runner.arch }}}-
gc-max-store-size-linux: 2G
purge: true
purge-prefixes: nix-${{ inputs.NAME }}-
purge-created: 0
purge-last-accessed: 0
purge-primary-key: never
NAME: ${{ inputs.NAME }}
NIX_CACHE_PUB_KEY: ${{ secrets.NIX_CACHE_PUB_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Build package"
run: make build

View File

@@ -26,6 +26,7 @@ linters:
- legacy
- std-error-handling
rules:
# general rules
- linters:
- funlen
- ireturn
@@ -40,10 +41,26 @@ linters:
- ireturn
- lll
path: schema\.resolvers\.go
# storage service specific rules
- linters:
- gochecknoglobals
- gochecknoinits
path: services/storage/cmd/
- linters:
- gochecknoglobals
path: services/storage/cmd/controller/version.go
- linters:
- funlen
- ireturn
- exhaustruct
path: services/storage/.*_test\.go
paths:
- third_party$
- builtin$
- examples$
formatters:
enable:
- gofmt

View File

@@ -98,64 +98,3 @@ You can run the e2e tests with the following command from the repository root:
```sh
$ pnpm e2e
```
## Changesets
If you've made changes to the packages, you must describe those changes so that they can be reflected in the next release.
We use [changesets](https://github.com/changesets/changesets) to support our versioning and release workflows. When you submit a pull request, a bot checks if changesets are present, and if not, it asks you to add them.
To create a changeset, run the following command from the repository root:
```sh
$ pnpm changeset
```
This command will guide you through the process of creating a changeset. It will create a file in the `.changeset` directory.
You can take a look at the changeset documentation: [How to add a changeset](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md).
### Selecting the Version
When you create a changeset, you will be asked to select the version of the package that you are bumping. The versioning scheme is as follows:
- **major**
- For breaking changes (e.g: changing the function signature, etc.)
- Should be avoided as much as possible as it will require users to update their code. Instead, consider supporting both the old and the new API simultaneously for a while.
- For example: `v1.5.8` -> `v2.0.0`
- **minor**
- For new features (e.g: adding a new page to the dashboard, etc.)
- For example: `v1.5.8` -> `v1.6.0`
- **patch**
- For bug fixes (e.g: fixing a typo, etc.)
- For example: `v1.5.8` -> `v1.5.9`
### Writing Good Changesets
A concise summary that describes the changes should be added to each PR. This summary will be used as the changeset description.
The following structure is used for describing changes:
- **The type of the change**:
- fix
- feat
- chore
- docs
- **The scope of the change** (_broader scopes (e.g: dashboard, hasura-storage-js, etc.) are not recommended as GitHub Releases already contain which project is being bumped_):
- projects
- deployments
- deps
- etc.
- **A short summary of the changes that were made**
**Examples:**
- `fix(deployments): use correct timestamp for deployment details`
- `chore(deps): bump @types/react to v18.2.8`
- `feat(secrets): enable secrets`
- etc.
You can always take a look at examples of changesets in the [GitHub Releases section](https://github.com/nhost/nhost/releases).

View File

@@ -1,20 +0,0 @@
## Description
<!--
Use one of the following title prefix to categorize the pull request:
feat: mark this pull request as a feature
fix: mark this pull request as a bug fix
chore: mark this pull request as a maintenance item
To auto merge this pull request when it was approved
by another member of the organization: set the label `auto-merge`
-->
## Problem
A short description of the problem this PR is addressing.
## Solution
A short description of the chosen method to resolve the problem
with an overview of the logic and implementation details when needed.
## Notes
Other notes that you want to share but do not fit into _Problem_ or _Solution_.

36
cli/.github/cert.sh vendored
View File

@@ -1,36 +0,0 @@
#!/bin/bash
set -euo pipefail
mkdir -p /tmp/letsencrypt
echo "Generating SSL certificate for hostnames: local.nhost.run, local.graphql.nhost.run, local.auth.nhost.run, local.storage.nhost.run, local.functions.nhost.run, local.mail.nhost.run"
docker run --rm \
--name certbot \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
-e AWS_SESSION_TOKEN \
-e AWS_REGION \
-v /tmp/letsencrypt:/etc/letsencrypt \
-v /tmp/letsencrypt:/var/lib/letsencrypt \
certbot/dns-route53 certonly --dns-route53 --dns-route53-propagation-seconds 60 \
-d local.auth.nhost.run \
-d local.dashboard.nhost.run \
-d local.db.nhost.run \
-d local.functions.nhost.run \
-d local.graphql.nhost.run \
-d local.hasura.nhost.run \
-d local.mailhog.nhost.run \
-d local.storage.nhost.run \
-d *.auth.local.nhost.run \
-d *.dashboard.local.nhost.run \
-d *.db.local.nhost.run \
-d *.functions.local.nhost.run \
-d *.graphql.local.nhost.run \
-d *.hasura.local.nhost.run \
-d *.mailhog.local.nhost.run \
-d *.storage.local.nhost.run \
-m 'admin@nhost.io' --non-interactive --agree-tos --server https://acme-v02.api.letsencrypt.org/directory
sudo cp /tmp/letsencrypt/live/local.db.nhost.run/fullchain.pem ssl/.ssl/
sudo cp /tmp/letsencrypt/live/local.db.nhost.run/privkey.pem ssl/.ssl/

View File

@@ -1,8 +0,0 @@
labels:
'feature':
- '^(?i:feat)'
- '^(?i:feature)'
'fix':
- '^(?i:fix)'
'chore':
- '^(?i:chore)'

View File

@@ -1,39 +0,0 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🚀 Features'
label: 'feature'
- title: '🐛 Bug Fixes'
label: 'fix'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
autolabeler:
- label: 'feature'
title:
- '/^feat/i'
- '/^feature/i'
- label: 'fix'
title:
- '/^fix/i'
- label: 'chore'
title:
- '/^chore/i'
prerelease: true
template: |
## Changes
$CHANGES

16
cli/.github/stale.yml vendored
View File

@@ -1,16 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
daysUntilStale: 180
daysUntilClose: 7
limitPerRun: 30
onlyLabels: []
exemptLabels: []
exemptProjects: false
exemptMilestones: false
exemptAssignees: false
staleLabel: stale
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.

View File

@@ -1,17 +0,0 @@
# this workflow will run on all pull requests opened but in the context of the base of the pull request.
on:
pull_request_target:
types: [opened]
name: "assign labels"
jobs:
# labeler will label pull requests based on their title.
# the configuration is at .github/labeler.yml.
label_pull_request:
runs-on: ubuntu-latest
steps:
-
name: Label Pull Request
uses: jimschubert/labeler-action@v2
with:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

View File

@@ -1,53 +0,0 @@
---
name: "build certificate weekly"
on:
schedule:
- cron: '0 0 * * 1'
jobs:
run:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::796351718684:role/github-actions-nhost-cli
aws-region: eu-central-1
- name: fetch let's encrypt cert
id: certs
run: |
.github/cert.sh
echo "CERT_FULL_CHAIN<<EOF" >> $GITHUB_OUTPUT
sudo cat /tmp/letsencrypt/live/local.db.nhost.run/fullchain.pem >> "$GITHUB_OUTPUT"
echo EOF >> $GITHUB_OUTPUT
echo "CERT_PRIV_KEY<<EOF" >> $GITHUB_OUTPUT
sudo cat /tmp/letsencrypt/live/local.db.nhost.run/privkey.pem >> "$GITHUB_OUTPUT"
echo EOF >> $GITHUB_OUTPUT
shell: bash
- uses: hmanzur/actions-set-secret@v2.0.0
with:
name: 'CERT_FULL_CHAIN'
value: "${{ steps.certs.outputs.CERT_FULL_CHAIN }}"
repository: nhost/cli
token: ${{ secrets.GH_PAT }}
- uses: hmanzur/actions-set-secret@v2.0.0
with:
name: 'CERT_PRIV_KEY'
value: "${{ steps.certs.outputs.CERT_PRIV_KEY }}"
repository: nhost/cli
token: ${{ secrets.GH_PAT }}

View File

@@ -1,27 +0,0 @@
---
name: "check and build"
on:
pull_request:
push:
branches:
- main
jobs:
tests:
uses: ./.github/workflows/wf_check.yaml
secrets:
NHOST_PAT: ${{ secrets.NHOST_PAT }}
build_artifacts:
strategy:
fail-fast: true
matrix:
GOOS: ["darwin", "linux"]
GOARCH: ["amd64", "arm64"]
uses: ./.github/workflows/wf_build_artifacts.yaml
with:
GOOS: ${{ matrix.GOOS }}
GOARCH: ${{ matrix.GOARCH }}
VERSION: ${{ github.sha }}
secrets:
NHOST_PAT: ${{ secrets.NHOST_PAT }}

View File

@@ -1,56 +0,0 @@
name: "CodeQL"
on:
push: {}
pull_request: {}
schedule:
- cron: '20 23 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

View File

@@ -1,27 +0,0 @@
---
name: "gen: AI review"
on:
pull_request:
types: [opened, reopened, ready_for_review]
issue_comment:
jobs:
pr_agent_job:
if: ${{ github.event.sender.type != 'Bot' }}
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
issues: write
pull-requests: write
name: Run pr agent on every pull request, respond to user comments
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@v0.29
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
config.max_model_tokens: 100000
config.model: "anthropic/claude-sonnet-4-20250514"
config.model_turbo: "anthropic/claude-sonnet-4-20250514"
ignore.glob: "['vendor/**','**/client_gen.go','**/models_gen.go','**/generated.go','**/*.gen.go']"

View File

@@ -1,91 +0,0 @@
---
name: "gen: update depenendencies"
on:
schedule:
- cron: '0 2 1 2,5,8,11 *'
jobs:
run:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure aws
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_PRODUCTION_CORE_ACCOUNT_ID }}:role/github-actions-nhost-${{ github.event.repository.name }}
aws-region: eu-central-1
- uses: nixbuild/nix-quick-install-action@v26
with:
nix_version: 2.16.2
nix_conf: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40 s3://nhost-nix-cache?region=eu-central-1&priority=50
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${{ secrets.NIX_CACHE_PUB_KEY }}
- name: Cache nix store
uses: actions/cache@v4
with:
path: /nix
key: nix-update-deps-${{ hashFiles('flakes.nix', 'flake.lock') }}
- name: Update nix flakes
run: nix flake update
- uses: shaunco/ssh-agent@git-repo-mapping
with:
ssh-private-key: |
${{ secrets.NHOST_BE_DEPLOY_SSH_PRIVATE_KEY}}
repo-mappings: |
github.com/nhost/be
- name: Update golang dependencies
run: |
export GOPRIVATE=github.com/nhost/be
nix develop -c bash -c "
go mod tidy
go get -u $(cat go.mod | grep nhost\/be | tr ' ' '@') ./...
go mod tidy
go mod vendor
"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update dependencies
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
signoff: false
branch: automated/update-deps
delete-branch: true
title: '[Scheduled] Update dependencies'
body: |
Dependencies updated
Note - If you see this PR and the checks haven't run, close and reopen the PR. See https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs
labels: |
dependencies
draft: false
- name: "Cache nix store on s3"
run: |
echo ${{ secrets.NIX_CACHE_PRIV_KEY }} > cache-priv-key.pem
nix build .\#devShells.x86_64-linux.default
nix store sign --key-file cache-priv-key.pem --all
nix copy --to s3://nhost-nix-cache\?region=eu-central-1 .\#devShells.x86_64-linux.default
- run: rm cache-priv-key.pem
if: always()

View File

@@ -1,35 +0,0 @@
---
name: "release"
on:
release:
types: [published]
jobs:
tests:
uses: ./.github/workflows/wf_check.yaml
secrets:
NHOST_PAT: ${{ secrets.NHOST_PAT }}
build_artifacts:
strategy:
matrix:
GOOS: ["darwin", "linux"]
GOARCH: ["amd64", "arm64"]
uses: ./.github/workflows/wf_build_artifacts.yaml
with:
GOOS: ${{ matrix.GOOS }}
GOARCH: ${{ matrix.GOARCH }}
VERSION: ${{ github.ref_name }}
secrets:
NHOST_PAT: ${{ secrets.NHOST_PAT }}
publish:
uses: ./.github/workflows/wf_publish.yaml
needs:
- tests
- build_artifacts
with:
VERSION: ${{ github.ref_name }}
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -1,17 +0,0 @@
name: "release drafter"
on:
push:
branches:
- main
jobs:
# draft your next release notes as pull requests are merged into "master"
# the configuration is at /.github/release-drafter.yml.
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,89 +0,0 @@
---
on:
workflow_call:
inputs:
GIT_REF:
type: string
required: false
VERSION:
type: string
required: true
GOOS:
type: string
required: true
GOARCH:
type: string
required: true
secrets:
NHOST_PAT:
required: true
jobs:
artifacts:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- name: "Check out repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.GIT_REF }}
submodules: true
- uses: cachix/install-nix-action@v27
with:
install_url: "https://releases.nixos.org/nix/nix-2.22.3/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
- name: Compute common env vars
id: vars
run: |
echo "VERSION=$(make get-version VERSION=${{ inputs.VERSION }})" >> $GITHUB_OUTPUT
- name: "Build artifact"
run: |
make build ARCH=${{ inputs.GOARCH }} OS=${{ inputs.GOOS }}
find -L result -type f -exec cp {} nhost-cli \;
- name: "Push artifact to artifact repository"
uses: actions/upload-artifact@v4
with:
name: cli-${{ steps.vars.outputs.VERSION }}-${{ inputs.GOOS }}-${{ inputs.GOARCH }}
path: nhost-cli
retention-days: 7
- name: "Build docker-image"
run: |
make build-docker-image ARCH=${{ inputs.GOARCH }}
if: ${{ ( inputs.GOOS == 'linux' ) }}
- name: "Create a new project"
run: |
export NHOST_DOMAIN=staging.nhost.run
export NHOST_CONFIGSERVER_IMAGE=nhost/cli:${{ steps.vars.outputs.VERSION }}
mkdir new-project
cd new-project
../nhost-cli login --pat ${{ secrets.NHOST_PAT }}
../nhost-cli init
../nhost-cli up --down-on-error
../nhost-cli down
if: ${{ ( inputs.GOOS == 'linux' && inputs.GOARCH == 'amd64' ) }}
- name: "Push docker-image to artifact repository"
uses: actions/upload-artifact@v4
with:
name: cli-docker-image-${{ steps.vars.outputs.VERSION }}-${{ inputs.GOOS }}-${{ inputs.GOARCH }}
path: result
retention-days: 7
if: ${{ ( inputs.GOOS == 'linux' ) }}

View File

@@ -1,42 +0,0 @@
---
on:
workflow_call:
inputs:
GIT_REF:
type: string
required: false
secrets:
NHOST_PAT:
required: true
jobs:
tests:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- name: "Check out repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.GIT_REF }}
submodules: true
- uses: cachix/install-nix-action@v27
with:
install_url: "https://releases.nixos.org/nix/nix-2.22.3/install"
install_options: "--no-daemon"
extra_nix_config: |
experimental-features = nix-command flakes
sandbox = false
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
substituters = https://cache.nixos.org/?priority=40
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
- name: "Run checks"
run: |
export NHOST_PAT=${{ secrets.NHOST_PAT }}
make check

View File

@@ -1,93 +0,0 @@
---
on:
workflow_call:
inputs:
VERSION:
type: string
required: true
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
name: release
jobs:
release:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- name: "Check out repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.GIT_REF }}
submodules: true
- name: Compute common env vars
id: vars
run: |
echo "VERSION=$(make get-version VERSION=${{ inputs.VERSION }})" >> $GITHUB_OUTPUT
- name: "Get artifacts"
uses: actions/download-artifact@v4
with:
path: ~/artifacts
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Upload docker images
shell: bash
run: |
export VERSION=${{ steps.vars.outputs.VERSION }}
export CONTAINER_NAME=nhost/cli
skopeo copy --insecure-policy \
dir:/home/runner/artifacts/cli-docker-image-$VERSION-linux-amd64 \
docker-daemon:$CONTAINER_NAME:$VERSION-amd64
docker push $CONTAINER_NAME:$VERSION-amd64
skopeo copy --insecure-policy \
dir:/home/runner/artifacts/cli-docker-image-$VERSION-linux-arm64 \
docker-daemon:$CONTAINER_NAME:$VERSION-arm64
docker push $CONTAINER_NAME:$VERSION-arm64
docker manifest create \
$CONTAINER_NAME:$VERSION \
--amend $CONTAINER_NAME:$VERSION-amd64 \
--amend $CONTAINER_NAME:$VERSION-arm64
docker manifest push $CONTAINER_NAME:$VERSION
- name: Upload assets
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export VERSION=${{ steps.vars.outputs.VERSION }}
mkdir upload
find ~/artifacts -type f -name "nhost-cli" -exec bash -c 'chmod +x "$0" && mv "$0" "${0//nhost-cli/cli}"' {} \;
tar cvzf upload/cli-$VERSION-darwin-amd64.tar.gz -C ~/artifacts/cli-$VERSION-darwin-amd64 cli
tar cvzf upload/cli-$VERSION-darwin-arm64.tar.gz -C ~/artifacts/cli-$VERSION-darwin-arm64 cli
tar cvzf upload/cli-$VERSION-linux-amd64.tar.gz -C ~/artifacts/cli-$VERSION-linux-amd64 cli
tar cvzf upload/cli-$VERSION-linux-arm64.tar.gz -C ~/artifacts/cli-$VERSION-linux-arm64 cli
cd upload
find . -type f -exec sha256sum {} + > ../checksums.txt
cd ..
cat checksums.txt
gh release upload \
--clobber "${{ github.ref_name }}" \
./upload/* checksums.txt

17
cli/CHANGELOG.md Normal file
View File

@@ -0,0 +1,17 @@
# Changelog
All notable changes to this project will be documented in this file.
## [cli@1.32.2] - 2025-10-01
### ⚙️ Miscellaneous Tasks
- *(cli)* Remove hasura- prefix from auth/storage images (#3538)
## [cli@1.32.1] - 2025-09-29
### ⚙️ Miscellaneous Tasks
- *(ci)* Minor improvements to the ci (#3527)
- *(cli)* Update schema (#3529)

View File

@@ -12,9 +12,9 @@ It's recommended to use the Nhost CLI and the [Nhost GitHub Integration](https:/
- [Nhost Dashboard](https://github.com/nhost/nhost/tree/main/dashboard)
- [Postgres Database](https://www.postgresql.org/)
- [Hasura's GraphQL Engine](https://github.com/hasura/graphql-engine)
- [Hasura Auth](https://github.com/nhost/hasura-auth)
- [Hasura Storage](https://github.com/nhost/hasura-storage)
- [GraphQL Engine](https://github.com/hasura/graphql-engine)
- [Auth](https://github.com/nhost/nhost/main/auth)
- [Storage](https://github.com/nhost/nhost/main/storage)
- [Nhost Serverless Functions](https://github.com/nhost/functions)
- [Minio S3](https://github.com/minio/minio)
- [Mailhog](https://github.com/mailhog/MailHog)

View File

@@ -56,7 +56,7 @@ func CommandCloud() *cli.Command {
&cli.StringFlag{ //nolint:exhaustruct
Name: flagDashboardVersion,
Usage: "Dashboard version to use",
Value: "nhost/dashboard:2.33.0",
Value: "nhost/dashboard:2.38.0",
EnvVars: []string{"NHOST_DASHBOARD_VERSION"},
},
&cli.StringFlag{ //nolint:exhaustruct

View File

@@ -111,7 +111,7 @@ func CommandUp() *cli.Command { //nolint:funlen
&cli.StringFlag{ //nolint:exhaustruct
Name: flagDashboardVersion,
Usage: "Dashboard version to use",
Value: "nhost/dashboard:2.33.0",
Value: "nhost/dashboard:2.38.0",
EnvVars: []string{"NHOST_DASHBOARD_VERSION"},
},
&cli.StringFlag{ //nolint:exhaustruct

View File

@@ -111,11 +111,11 @@ func CheckVersions(
checkServiceVersion(
ce, graphql.SoftwareTypeEnumAuth, *cfg.GetAuth().GetVersion(), swv,
"https://github.com/nhost/hasura-auth/releases",
"https://github.com/nhost/nhost/releases",
)
checkServiceVersion(
ce, graphql.SoftwareTypeEnumStorage, *cfg.GetStorage().GetVersion(), swv,
"https://github.com/nhost/hasura-storage/releases",
"https://github.com/nhost/nhost/releases",
)
checkServiceVersion(
ce, graphql.SoftwareTypeEnumPostgreSQL, *cfg.GetPostgres().GetVersion(), swv,

View File

@@ -67,7 +67,7 @@ func auth( //nolint:funlen
}
svc := &Service{
Image: "nhost/hasura-auth:" + *cfg.Auth.Version,
Image: "nhost/auth:" + *cfg.Auth.Version,
DependsOn: map[string]DependsOn{
"graphql": {
Condition: "service_healthy",

View File

@@ -10,7 +10,7 @@ import (
func expectedAuth() *Service {
//nolint:lll
return &Service{
Image: "nhost/hasura-auth:0.31.0",
Image: "nhost/auth:0.31.0",
Command: nil,
DependsOn: map[string]DependsOn{
"graphql": {Condition: "service_healthy"},
@@ -231,7 +231,7 @@ func TestAuth(t *testing.T) {
exposePort: 0,
expected: func() *Service {
svc := expectedAuth()
svc.Image = "nhost/hasura-auth:0.21.3"
svc.Image = "nhost/auth:0.21.3"
svc.Labels["traefik.http.middlewares.replace-auth.replacepathregex.regex"] = "/v1(/|$$)(.*)"
svc.Labels["traefik.http.middlewares.replace-auth.replacepathregex.replacement"] = "/$$2"
svc.Labels["traefik.http.routers.auth.middlewares"] = "replace-auth"

View File

@@ -49,7 +49,7 @@ func storage( //nolint:funlen
}
return &Service{
Image: "nhost/hasura-storage:" + *cfg.GetStorage().GetVersion(),
Image: "nhost/storage:" + *cfg.GetStorage().GetVersion(),
DependsOn: map[string]DependsOn{
"minio": {
Condition: "service_started",

View File

@@ -9,7 +9,7 @@ import (
func expectedStorage() *Service {
return &Service{
Image: "nhost/hasura-storage:0.2.5",
Image: "nhost/storage:0.2.5",
DependsOn: map[string]DependsOn{
"graphql": {Condition: "service_healthy"},
"minio": {Condition: "service_started"},

View File

@@ -9,6 +9,7 @@ module.exports = {
project: './tsconfig.json',
},
ignorePatterns: [
'src/utils/hasura-api/generated/',
'**/.eslintrc.js',
'**/prettier.config.js',
'**/next.config.js',

View File

@@ -1,3 +1,37 @@
# Changelog
All notable changes to this project will be documented in this file.
## [@nhost/dashboard@2.38.2] - 2025-09-30
### 🐛 Bug Fixes
- *(dashboard)* Update remote schemas url tooltip (#3540)
## [@nhost/dashboard@2.38.1] - 2025-09-30
### 🐛 Bug Fixes
- *(dashboard)* Delay generating auth service url when creating users (#3530)
### ⚙️ Miscellaneous Tasks
- *(ci)* Bump aws-actions/configure-aws-credentials from 4 to 5 (#3522)
## [@nhost/dashboard@2.38.0] - 2025-09-29
### 🚀 Features
- *(dashboard)* Add remote schemas (#3299)
- *(dashboard)* Datatable column header redesign (#3500)
### ⚙️ Miscellaneous Tasks
- *(ci)* Add e2e remote schema name repository variable to CI workflow (#3502)
- *(dashboard)* Fix defects in basetable form and add comment to columns (#3475)
# @nhost/dashboard
## 2.37.0

View File

@@ -101,6 +101,12 @@ test('should create a table with nullable columns', async ({
await expect(
page.getByRole('link', { name: tableName, exact: true }),
).toBeVisible();
await page
.locator(`li:has-text("${tableName}") #table-management-menu button`)
.click();
await page.getByText('Edit Table').click();
expect(page.locator('h2:has-text("Edit Table")')).toBeVisible();
expect(page.locator('div[data-testid="id"]')).toBeVisible();
});
test('should create a table with an identity column', async ({
@@ -116,15 +122,15 @@ test('should create a table with an identity column', async ({
name: tableName,
primaryKeys: ['id'],
columns: [
{ name: 'id', type: 'int4' },
{ name: 'id', type: 'uuid', defaultValue: 'gen_random_uuid()' },
{ name: 'title', type: 'text', nullable: true },
{ name: 'description', type: 'text', nullable: true },
{ name: 'identity_column', type: 'int4' },
],
});
// await page.getByRole('button', { name: /identity/i }).click();
await page.getByLabel('Identity').click();
await page.getByRole('option', { name: /id/i }).click();
await page.getByRole('option', { name: /identity_column/i }).click();
// create table
await page.getByRole('button', { name: /create/i }).click();
@@ -136,6 +142,17 @@ test('should create a table with an identity column', async ({
await expect(
page.getByRole('link', { name: tableName, exact: true }),
).toBeVisible();
await page
.locator(`li:has-text("${tableName}") #table-management-menu button`)
.click();
await page.getByText('Edit Table').click();
expect(page.locator('h2:has-text("Edit Table")')).toBeVisible();
expect(
page.locator('button#identityColumnIndex :has-text("identity_column")'),
).toBeVisible();
expect(page.locator('[id="columns.3.defaultValue"]')).toBeDisabled();
expect(page.locator('[name="columns.3.isNullable"]')).toBeDisabled();
expect(page.locator('[name="columns.3.isUnique"]')).toBeDisabled();
});
test('should create table with foreign key constraint', async ({
@@ -292,4 +309,11 @@ test('should be able to create a table with a composite key', async ({
await expect(
page.getByRole('link', { name: tableName, exact: true }),
).toBeVisible();
await page
.locator(`li:has-text("${tableName}") #table-management-menu button`)
.click();
await page.getByText('Edit Table').click();
expect(page.locator('div[data-testid="id"]')).toBeVisible();
expect(page.locator('div[data-testid="second_id"]')).toBeVisible();
});

View File

@@ -44,3 +44,9 @@ export const TEST_PERSONAL_ORG_SLUG = process.env.NHOST_TEST_PERSONAL_ORG_SLUG!;
const freeUserEmails = process.env.NHOST_TEST_FREE_USER_EMAILS!;
export const TEST_FREE_USER_EMAILS: string[] = JSON.parse(freeUserEmails);
/**
* Name of the remote schema serverless function to test against.
*/
export const TEST_PROJECT_REMOTE_SCHEMA_NAME =
process.env.NHOST_TEST_PROJECT_REMOTE_SCHEMA_NAME!;

View File

@@ -0,0 +1,64 @@
import {
TEST_ORGANIZATION_SLUG,
TEST_PROJECT_REMOTE_SCHEMA_NAME,
TEST_PROJECT_SUBDOMAIN,
} from '@/e2e/env';
import { expect, test } from '@/e2e/fixtures/auth-hook';
import { faker } from '@faker-js/faker';
import { snakeCase } from 'snake-case';
const REMOTE_SCHEMA_TEST_URL = `https://${TEST_PROJECT_SUBDOMAIN}.functions.eu-central-1.staging.nhost.run/v1/${TEST_PROJECT_REMOTE_SCHEMA_NAME}`;
test.describe('Remote Schemas', () => {
test.beforeEach(async ({ authenticatedNhostPage: page }) => {
const remoteSchemasRoute = `/orgs/${TEST_ORGANIZATION_SLUG}/projects/${TEST_PROJECT_SUBDOMAIN}/graphql/remote-schemas`;
await page.goto(remoteSchemasRoute);
await page.waitForURL(remoteSchemasRoute);
});
test('should create and delete a remote schema from URL', async ({
authenticatedNhostPage: page,
}) => {
await page.getByRole('button', { name: /add remote schema/i }).click();
await expect(page.getByText(/create a new remote schema/i)).toBeVisible();
const schemaName = snakeCase(`e2e ${faker.lorem.words(2)}`);
await page.getByPlaceholder(/remote schema name/i).fill(schemaName);
await page
.getByPlaceholder(/graphql-service\.example\.com/i)
.fill(REMOTE_SCHEMA_TEST_URL);
await page.getByRole('button', { name: /create/i }).click();
await page.waitForSelector(
'div:has-text("The remote schema has been created successfully.")',
);
const detailsUrl = `/orgs/${TEST_ORGANIZATION_SLUG}/projects/${TEST_PROJECT_SUBDOMAIN}/graphql/remote-schemas/${schemaName}`;
await page.waitForURL(detailsUrl);
await expect(
page.getByRole('link', { name: schemaName, exact: true }),
).toBeVisible();
const schemaLink = page.getByRole('link', {
name: schemaName,
exact: true,
});
await schemaLink.hover();
await page
.getByRole('listitem')
.filter({ hasText: schemaName })
.getByRole('button')
.click();
await page.getByRole('menuitem', { name: /delete remote schema/i }).click();
await page.getByRole('button', { name: /^delete$/i }).click();
await expect(
page.getByRole('link', { name: schemaName, exact: true }),
).toHaveCount(0);
});
});

View File

@@ -10,9 +10,11 @@
"start": "next start",
"lint": "next lint --max-warnings 0",
"test": "vitest --run",
"test:watch": "vitest",
"generate": "echo 'This needs to be fixed.'",
"codegen": "DOTENV_CONFIG_PATH=./.env.local graphql-codegen -r dotenv/config --config graphql.config.yaml --errors-only",
"codegen-graphite": "graphql-codegen --config graphite.graphql.config.yaml --errors-only",
"codegen-hasura-api": "orval --config src/utils/hasura-api/orval.config.ts",
"format": "prettier --write \"src/**/*.{js,ts,tsx,jsx,json,md}\" --plugin-search-dir=.",
"storybook": "start-storybook -p 6006 -s public",
"build-storybook": "build-storybook",
@@ -59,6 +61,7 @@
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.3",
"@radix-ui/react-tooltip": "^1.1.2",
"@segment/analytics-next": "^1.77.0",
@@ -194,6 +197,7 @@
"msw": "^1.3.5",
"msw-storybook-addon": "^1.10.0",
"node-fetch": "^3.3.2",
"orval": "^7.11.2",
"postcss": "^8.4.38",
"prettier": "^3.4.2",
"prettier-plugin-organize-imports": "^4.1.0",

View File

@@ -6,13 +6,14 @@ dotenv.config({ path: path.resolve(__dirname, '.env.test') });
export default defineConfig({
testDir: './e2e',
maxFailures: 1,
timeout: 120 * 1000,
expect: {
timeout: 10000,
},
fullyParallel: false,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
retries: 2,
workers: 1,
reporter: 'html',
use: {

1816
dashboard/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -64,7 +64,11 @@ export default function AuthenticatedLayout({
router.push('/orgs/local/projects/local');
}, [isPlatform, router]);
if ((isPlatform && isLoading) || isSigningOut) {
if (
(isPlatform && isLoading) ||
isSigningOut ||
(isPlatform && !isAuthenticated)
) {
return (
<BaseLayout className="h-full" {...props}>
<Header className="flex max-h-[59px] flex-auto py-1" />

View File

@@ -10,6 +10,7 @@ import {
import { useRouter } from 'next/router';
import OrgPagesComboBox from './OrgPagesComboBox';
import OrgsComboBox from './OrgsComboBox';
import ProjectGraphQLPagesComboBox from './ProjectGraphQLPagesComboBox';
import ProjectPagesComboBox from './ProjectPagesComboBox';
import ProjectsComboBox from './ProjectsComboBox';
import ProjectSettingsPagesComboBox from './ProjectSettingsPagesComboBox';
@@ -25,6 +26,7 @@ export default function BreadcrumbNav() {
// Identify project and settings pages based on the URL pattern
const projectPage = pathSegments[3] || null;
const isSettingsPage = pathSegments[5] === 'settings';
const isGraphQLPage = pathSegments[5] === 'graphql';
const showBreadcrumbs = !['/', '/orgs/verify'].includes(route);
@@ -81,6 +83,21 @@ export default function BreadcrumbNav() {
</BreadcrumbItem>
</>
)}
{isGraphQLPage && (
<>
<BreadcrumbSeparator>
<Slash
strokeWidth={3.5}
className="text-muted-foreground/50"
/>
</BreadcrumbSeparator>
<BreadcrumbItem>
<ProjectGraphQLPagesComboBox />
</BreadcrumbItem>
</>
)}
</>
)}
</BreadcrumbList>

View File

@@ -0,0 +1,135 @@
import { Button } from '@/components/ui/v3/button';
import {
Command,
CommandEmpty,
CommandGroup,
CommandInput,
CommandItem,
CommandList,
} from '@/components/ui/v3/command';
import {
Popover,
PopoverContent,
PopoverTrigger,
} from '@/components/ui/v3/popover';
import { cn } from '@/lib/utils';
import { Check, ChevronsUpDown } from 'lucide-react';
import { useRouter } from 'next/router';
import { useEffect, useMemo, useState } from 'react';
type Option = {
value: string;
label: string;
route: string;
};
const projectGraphQLPages = [
{
name: 'Playground',
slug: 'playground',
route: '',
},
{
name: 'Remote Schemas',
slug: 'remote-schemas',
route: 'remote-schemas',
},
].map((item) => ({
label: item.name,
value: item.slug,
route: item.route,
}));
export default function ProjectGraphQLPagesComboBox() {
const {
query: { orgSlug, appSubdomain },
push,
asPath,
} = useRouter();
const pathSegments = useMemo(() => asPath.split('/'), [asPath]);
const isGraphQLPage = pathSegments.includes('graphql');
const graphQLPageFromUrl = isGraphQLPage
? pathSegments[6] || 'playground'
: null;
const selectedGraphQLPageFromUrl = projectGraphQLPages.find(
(item) => item.value === graphQLPageFromUrl,
);
const [selectedGraphQLPage, setSelectedGraphQLPage] = useState<Option | null>(
null,
);
useEffect(() => {
if (selectedGraphQLPageFromUrl) {
setSelectedGraphQLPage({
label: selectedGraphQLPageFromUrl.label,
value: selectedGraphQLPageFromUrl.value,
route: selectedGraphQLPageFromUrl.route,
});
}
}, [selectedGraphQLPageFromUrl]);
const options: Option[] = projectGraphQLPages.map((page) => ({
label: page.label,
value: page.value,
route: page.route,
}));
const [open, setOpen] = useState(false);
return (
<Popover open={open} onOpenChange={setOpen}>
<PopoverTrigger asChild>
<Button
variant="ghost"
size="sm"
className="justify-start gap-2 bg-background text-foreground hover:bg-accent dark:hover:bg-muted"
>
{selectedGraphQLPage ? (
<div>{selectedGraphQLPage.label}</div>
) : (
<>Select a page</>
)}
<ChevronsUpDown className="h-5 w-5 text-muted-foreground" />
</Button>
</PopoverTrigger>
<PopoverContent className="p-0" side="bottom" align="start">
<Command>
<CommandInput placeholder="Select a page..." />
<CommandList>
<CommandEmpty>No results found.</CommandEmpty>
<CommandGroup>
{options.map((option) => (
<CommandItem
key={option.value}
value={option.label}
onSelect={() => {
setSelectedGraphQLPage(option);
setOpen(false);
push(
`/orgs/${orgSlug}/projects/${appSubdomain}/graphql/${option.route}/`,
);
}}
>
<Check
className={cn(
'mr-2 h-4 w-4',
selectedGraphQLPage?.value === option.value
? 'opacity-100'
: 'opacity-0',
)}
/>
<div className="flex flex-row items-center gap-2">
<span className="max-w-52 truncate">{option.label}</span>
</div>
</CommandItem>
))}
</CommandGroup>
</CommandList>
</Command>
</PopoverContent>
</Popover>
);
}

View File

@@ -160,12 +160,24 @@ const projectSettingsPages = [
{ name: 'Configuration Editor', slug: 'editor', route: 'editor' },
];
const projectGraphQLPages = [
{
name: 'Playground',
slug: 'playground',
route: 'graphql',
},
{
name: 'Remote Schemas',
slug: 'remote-schemas',
route: 'graphql/remote-schemas',
},
];
const createOrganization = (org: Org) => {
const isNotPlatform = !getIsPlatform();
const configServerVariableNotSet = getConfigServerUrl() === '';
const shouldDisableSettings = isNotPlatform && configServerVariableNotSet;
const shouldDisableGraphite = shouldDisableSettings;
const result = {};
result[org.slug] = {
@@ -243,13 +255,22 @@ const createOrganization = (org: Org) => {
result[`${org.slug}-${_app.subdomain}-${_page.slug}`] = {
index: `${org.slug}-${_app.subdomain}-${_page.slug}`,
canMove: false,
isFolder: _page.name === 'Settings' && !shouldDisableSettings,
children:
_page.name === 'Settings' && !shouldDisableSettings
? projectSettingsPages.map(
(p) => `${org.slug}-${_app.subdomain}-settings-${p.slug}`,
)
: undefined,
isFolder:
(_page.name === 'Settings' && !shouldDisableSettings) ||
_page.name === 'GraphQL',
children: (() => {
if (_page.name === 'Settings' && !shouldDisableSettings) {
return projectSettingsPages.map(
(p) => `${org.slug}-${_app.subdomain}-settings-${p.slug}`,
);
}
if (_page.name === 'GraphQL') {
return projectGraphQLPages.map(
(p) => `${org.slug}-${_app.subdomain}-graphql-${p.slug}`,
);
}
return undefined;
})(),
data: {
name: _page.name,
icon: _page.icon,
@@ -285,6 +306,20 @@ const createOrganization = (org: Org) => {
canRename: false,
};
});
projectGraphQLPages.forEach((p) => {
result[`${org.slug}-${_app.subdomain}-graphql-${p.slug}`] = {
index: `${org.slug}-${_app.subdomain}-graphql-${p.slug}`,
canMove: false,
isFolder: false,
children: undefined,
data: {
name: p.name,
targetUrl: `/orgs/${org.slug}/projects/${_app.subdomain}/${p.route}`,
},
canRename: false,
};
});
});
result[`${org.slug}-settings`] = {
@@ -436,6 +471,12 @@ export default function NavTree() {
return;
}
if (item.data.name === 'GraphQL' && item.isFolder) {
if (!context.isExpanded) {
context.toggleExpandedState();
}
}
if (item.data.type !== 'org') {
context.focusItem();
}

View File

@@ -17,7 +17,7 @@ import MaterialAutocomplete, {
autocompleteClasses as materialAutocompleteClasses,
} from '@mui/material/Autocomplete';
import clsx from 'clsx';
import type { ForwardedRef } from 'react';
import type { DetailedHTMLProps, ForwardedRef, HTMLProps } from 'react';
import { forwardRef, useEffect, useState } from 'react';
export interface AutocompleteOption<TValue = string> {
@@ -81,6 +81,9 @@ export interface AutocompleteProps<
* Props passed to the input component.
*/
input?: Partial<Omit<InputProps, 'ref'>>;
inputRoot?: Partial<
DetailedHTMLProps<HTMLProps<HTMLInputElement>, HTMLInputElement>
> & { 'data-testid'?: string };
/**
* Props passed to the input's `FormControl` component.
*/
@@ -471,7 +474,10 @@ function Autocomplete(
}
: null,
},
inputRoot: { 'aria-label': ariaLabel },
inputRoot: {
'aria-label': ariaLabel,
...slotProps.inputRoot,
},
label: InputLabelProps,
formControl: formControlSlotProps,
}}

View File

@@ -0,0 +1,20 @@
import { cn } from '@/lib/utils';
import type { PropsWithChildren } from 'react';
export function InlineCode({
children,
className,
...props
}: PropsWithChildren<{ className?: string }>) {
return (
<code
className={cn(
'relative rounded bg-[#eaedf0] px-1 font-mono text-[11px] dark:bg-[#2f363d]',
className,
)}
{...props}
>
{children}
</code>
);
}

View File

@@ -244,6 +244,7 @@ export function MultiSelectValue({
variant="outline"
data-selected-item
className="group flex items-center gap-1"
data-testid={items.get(value)}
key={value}
onClick={
clickToRemove
@@ -256,7 +257,10 @@ export function MultiSelectValue({
>
{items.get(value)}
{clickToRemove && (
<XIcon className="size-2 text-muted-foreground group-hover:text-destructive" />
<XIcon
className="size-2 text-muted-foreground group-hover:text-destructive"
data-testid={`${items.get(value)}-remove`}
/>
)}
</Badge>
))}

View File

@@ -0,0 +1,30 @@
import * as SwitchPrimitives from '@radix-ui/react-switch';
import * as React from 'react';
import { cn } from '@/lib/utils';
const Switch = React.forwardRef<
React.ElementRef<typeof SwitchPrimitives.Root>,
React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> & {
thumbClassName?: string;
}
>(({ className, thumbClassName, ...props }, ref) => (
<SwitchPrimitives.Root
className={cn(
'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=checked]:bg-[#e5e5e5]',
className,
)}
{...props}
ref={ref}
>
<SwitchPrimitives.Thumb
className={cn(
'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-3px)] data-[state=unchecked]:translate-x-0 dark:data-[state=unchecked]:bg-[#e5e5e5]',
thumbClassName,
)}
/>
</SwitchPrimitives.Root>
));
Switch.displayName = SwitchPrimitives.Root.displayName;
export { Switch };

View File

@@ -0,0 +1,22 @@
import * as React from 'react';
import { cn } from '@/lib/utils';
const Textarea = React.forwardRef<
HTMLTextAreaElement,
React.ComponentProps<'textarea'>
>(({ className, ...props }, ref) => {
return (
<textarea
className={cn(
'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
className,
)}
ref={ref}
{...props}
/>
);
});
Textarea.displayName = 'Textarea';
export { Textarea };

View File

@@ -12,6 +12,7 @@ import { ApplicationUnpausing } from '@/features/orgs/projects/common/components
import { useAppState } from '@/features/orgs/projects/common/hooks/useAppState';
import { useIsPlatform } from '@/features/orgs/projects/common/hooks/useIsPlatform';
import { useProjectWithState } from '@/features/orgs/projects/hooks/useProjectWithState';
import { isEmptyValue } from '@/lib/utils';
import { useAuth } from '@/providers/Auth';
import { ApplicationStatus } from '@/types/application';
import { getConfigServerUrl, isPlatform as isPlatformFn } from '@/utils/env';
@@ -188,6 +189,15 @@ function ProjectLayoutContent({
throw error;
}
if (
isUserLoggedIn &&
isEmptyValue(project) &&
!loading &&
isEmptyValue(error)
) {
throw new Error('Could not load project. Please try again later.');
}
return (
<Box
component="main"

View File

@@ -65,37 +65,39 @@ export default function CreateUserForm({
onDirtyStateChange(isDirty, location);
}, [isDirty, location, onDirtyStateChange]);
const baseAuthUrl =
isNotEmptyValue(project?.subdomain) && isNotEmptyValue(project?.region)
? generateAppServiceUrl(project!.subdomain, project!.region, 'auth')
: '';
const signUpUrl = `${baseAuthUrl}/signup/email-password`;
async function handleCreateUser({ email, password }: CreateUserFormValues) {
setCreateUserFormError(null);
await execPromiseWithErrorToast(
async () => {
await fetch(signUpUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password }),
}).then(async (res) => {
if (isNotEmptyValue(project)) {
const baseAuthUrl = generateAppServiceUrl(
project.subdomain,
project.region,
'auth',
);
const signUpUrl = `${baseAuthUrl}/signup/email-password`;
const res = await fetch(signUpUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password }),
});
const data = await res.json();
if (res.ok) {
return data;
if (!res.ok) {
if (res.status === 409) {
setError('email', { message: data?.message });
}
throw new Error(data?.message || 'Something went wrong.');
}
if (res.status === 409) {
setError('email', { message: data?.message });
}
onSubmit?.();
throw new Error(data?.message || 'Something went wrong.');
});
onSubmit?.();
return data;
}
throw new Error('Something went wrong. Please try again later.');
},
{
loadingMessage: 'Creating user...',

View File

@@ -0,0 +1 @@
export { default as useGetMetadataResourceVersion } from './useGetMetadataResourceVersion';

View File

@@ -0,0 +1,46 @@
import { fetchExportMetadata } from '@/features/orgs/projects/common/utils/fetchExportMetadata';
import { generateAppServiceUrl } from '@/features/orgs/projects/common/utils/generateAppServiceUrl';
import { useProject } from '@/features/orgs/projects/hooks/useProject';
import type { ExportMetadataResponse } from '@/utils/hasura-api/generated/schemas';
import type { UseQueryOptions } from '@tanstack/react-query';
import { useQuery } from '@tanstack/react-query';
export interface UseGetMetadataResourceVersionOptions {
/**
* Props passed to the underlying query hook.
*/
queryOptions?: UseQueryOptions<ExportMetadataResponse, unknown, number>;
}
/**
* This hook is a wrapper around a fetch call that gets the metadata resource version.
*
* @param options - Options to use for the query.
* @returns The result of the query.
*/
export default function useGetMetadataResourceVersion({
queryOptions,
}: UseGetMetadataResourceVersionOptions = {}) {
const { project } = useProject();
const query = useQuery<ExportMetadataResponse, unknown, number>(
['export-metadata', project?.subdomain],
() => {
const appUrl = generateAppServiceUrl(
project!.subdomain,
project!.region,
'hasura',
);
const adminSecret = project?.config?.hasura.adminSecret!;
return fetchExportMetadata({ appUrl, adminSecret });
},
{
...queryOptions,
select: (data) => data.resource_version,
},
);
return query;
}

View File

@@ -0,0 +1,31 @@
import type { MetadataOperationOptions } from '@/features/orgs/projects/remote-schemas/types';
import { metadataOperation } from '@/utils/hasura-api/generated/default/default';
import type { ExportMetadataResponse } from '@/utils/hasura-api/generated/schemas';
export default async function fetchExportMetadata({
appUrl,
adminSecret,
}: MetadataOperationOptions): Promise<ExportMetadataResponse> {
try {
const response = await metadataOperation(
{
type: 'export_metadata',
version: 2,
args: {},
},
{
baseUrl: appUrl,
adminSecret,
},
);
if (response.status !== 200) {
throw new Error(response.data.error);
}
return response.data as ExportMetadataResponse;
} catch (error) {
console.error(error);
throw error;
}
}

View File

@@ -0,0 +1 @@
export { default as fetchExportMetadata } from './fetchExportMetadata';

View File

@@ -1,359 +0,0 @@
import { useDialog } from '@/components/common/DialogProvider';
import {
ControlledAutocomplete,
defaultFilterGroupedOptions,
} from '@/components/form/ControlledAutocomplete';
import { ControlledCheckbox } from '@/components/form/ControlledCheckbox';
import { Form } from '@/components/form/Form';
import { InlineCode } from '@/components/presentational/InlineCode';
import { Box } from '@/components/ui/v2/Box';
import { Button } from '@/components/ui/v2/Button';
import { Input } from '@/components/ui/v2/Input';
import { OptionBase } from '@/components/ui/v2/Option';
import { Text } from '@/components/ui/v2/Text';
import type {
ColumnType,
DatabaseColumn,
} from '@/features/orgs/projects/database/dataGrid/types/dataBrowser';
import {
identityTypes,
postgresFunctions,
postgresTypeGroups,
} from '@/features/orgs/projects/database/dataGrid/utils/postgresqlConstants';
import type { DialogFormProps } from '@/types/common';
import clsx from 'clsx';
import { useEffect, useState } from 'react';
import { useFormContext, useWatch } from 'react-hook-form';
import * as Yup from 'yup';
import ForeignKeyEditor from './ForeignKeyEditor';
export type BaseColumnFormValues = DatabaseColumn;
export interface BaseColumnFormProps extends DialogFormProps {
/**
* Function to be called when the form is submitted.
*/
onSubmit: (values: BaseColumnFormValues) => Promise<void>;
/**
* Function to be called when the operation is cancelled.
*/
onCancel?: VoidFunction;
/**
* Submit button text.
*
* @default 'Save'
*/
submitButtonText?: string;
}
export const baseColumnValidationSchema = Yup.object().shape({
name: Yup.string()
.required('This field is required.')
.matches(
/^([A-Za-z]|_)+/i,
'Column name must start with a letter or underscore.',
)
.matches(
/^\w+$/i,
'Column name must contain only letters, numbers, or underscores.',
),
type: Yup.object()
.shape({ value: Yup.string().required() })
.required('This field is required.')
.nullable(),
});
export default function BaseColumnForm({
onSubmit: handleExternalSubmit,
onCancel,
submitButtonText = 'Save',
location,
}: BaseColumnFormProps) {
const { onDirtyStateChange } = useDialog();
const {
control,
register,
setValue,
getValues,
formState: { errors, isSubmitting, dirtyFields },
} = useFormContext<BaseColumnFormValues>();
// Learn more: https://github.com/thundermiracle/mobx-json/issues/46
const [defaultValueInputText, setDefaultValueInputText] = useState(
() => getValues('defaultValue.label') || '',
);
const isIdentity = useWatch({ name: 'isIdentity' });
const type = useWatch({ name: 'type' });
const foreignKeyRelation = useWatch({ name: 'foreignKeyRelation' });
const availableFunctions = (postgresFunctions[type?.value] || []).map(
(functionName: string) => ({
label: functionName,
value: functionName,
}),
);
const [inputValue, setInputValue] = useState<string>();
useEffect(() => {
setInputValue(type?.label ?? '');
}, [type?.label]);
// react-hook-form's isDirty gets true even if an input field is focused, then
// immediately unfocused - we can't rely on that information
const isDirty = Object.keys(dirtyFields).length > 0;
useEffect(() => {
onDirtyStateChange(isDirty, location);
}, [isDirty, location, onDirtyStateChange]);
return (
<Form
onSubmit={handleExternalSubmit}
className="flex flex-auto flex-col content-between overflow-hidden border-t-1"
>
<div className="flex-auto overflow-y-auto">
<section className="grid grid-cols-8 px-6 py-3">
<Input
{...register('name', {
onChange: (event) => {
if (foreignKeyRelation) {
setValue(`foreignKeyRelation`, {
...foreignKeyRelation,
columnName: event.target.value,
});
}
},
})}
id="name"
fullWidth
label="Name"
helperText={errors.name?.message}
hideEmptyHelperText
error={Boolean(errors.name)}
variant="inline"
className="col-span-8 py-3"
autoFocus
autoComplete="off"
/>
<ControlledAutocomplete
id="type"
name="type"
control={control}
aria-label="Type"
fullWidth
options={postgresTypeGroups}
groupBy={(option) => option.group ?? ''}
error={Boolean(errors.type)}
placeholder="Select a column type"
label="Type"
hideEmptyHelperText
className="col-span-8 py-3"
variant="inline"
autoHighlight
clearOnBlur
showCustomOption="first"
filterOptions={defaultFilterGroupedOptions}
freeSolo
inputValue={inputValue}
onInputChange={(_event, value) => {
// Keep the list scrolled to the top while searching
requestAnimationFrame(() => {
const listbox = document.querySelector('#type-listbox');
if (listbox) {
listbox.scrollTop = 0;
}
});
setInputValue(value);
}}
renderOption={(props, { label, value, custom }) => {
if (custom) {
return (
<OptionBase {...props}>
<span>Use type: &quot;{value}&quot;</span>
</OptionBase>
);
}
return (
<OptionBase {...props}>
<div className="grid grid-flow-col items-baseline justify-start justify-items-start gap-1.5">
<span>{label}</span>
<InlineCode>{value}</InlineCode>
</div>
</OptionBase>
);
}}
onChange={(_event, value) => {
setDefaultValueInputText('');
if (
typeof value !== 'string' &&
!Array.isArray(value) &&
!identityTypes.includes(value?.value as ColumnType)
) {
setValue('isIdentity', false);
setValue('defaultValue', null);
}
}}
/>
{identityTypes.includes(type?.value) && (
<ControlledCheckbox
name="isIdentity"
label={
<span className="inline-grid grid-flow-row">
<span>Identity</span>
<Text
component="span"
className="text-xs font-normal"
color="secondary"
>
Attach an implicit sequence to the column and make it
non-nullable
</Text>
</span>
}
className="col-span-8 m-0 w-full py-3 sm:col-span-6 sm:col-start-3 sm:ml-1"
onChange={(_event, checked) => {
if (checked) {
setDefaultValueInputText('');
setValue('defaultValue', null);
}
}}
/>
)}
</section>
<Box
component="section"
className="grid grid-cols-8 border-t-1 px-6 py-3"
>
<ControlledAutocomplete
id="defaultValue"
name="defaultValue"
control={control}
fullWidth
freeSolo
placeholder="NULL"
label="Default Value"
inputValue={isIdentity ? '' : defaultValueInputText}
onInputChange={(_event, value) => setDefaultValueInputText(value)}
onBlur={(event) => {
if (
event.target instanceof HTMLInputElement &&
!event.target.value
) {
setValue('defaultValue', null);
}
}}
helperText={
errors.defaultValue?.message ||
'Can either be a literal or a function'
}
onChange={(_event, value) => {
if (typeof value !== 'string' && !Array.isArray(value)) {
setDefaultValueInputText(value?.value || '');
}
}}
autoSelect={(filteredOptions) =>
filteredOptions?.length === 0 && defaultValueInputText.length > 0
}
slotProps={{
paper: {
className: clsx(availableFunctions.length === 0 && 'hidden'),
},
}}
error={Boolean(errors.defaultValue)}
hideEmptyHelperText
autoHighlight
className="col-span-8 py-3"
variant="inline"
options={availableFunctions}
disabled={isIdentity}
showCustomOption="always"
customOptionLabel={(optionLabel) =>
`Use "${optionLabel}" as a literal`
}
noOptionsText="Enter a custom default value"
/>
<ControlledCheckbox
className="col-span-8 m-0 w-full py-3 sm:col-span-6 sm:col-start-3 sm:ml-1"
name="isNullable"
label={
<span className="inline-grid grid-flow-row">
<span>Nullable</span>
<Text
component="span"
className="text-xs font-normal"
color="secondary"
>
Allow the column to assume a NULL value if no value is
provided
</Text>
</span>
}
disabled={isIdentity}
uncheckWhenDisabled
/>
<ControlledCheckbox
className="col-span-8 m-0 w-full py-3 sm:col-span-6 sm:col-start-3 sm:ml-1"
name="isUnique"
label={
<span className="inline-grid grid-flow-row">
<span>Unique</span>
<Text
component="span"
className="text-xs font-normal"
color="secondary"
>
Enforce values in the column to be unique across rows
</Text>
</span>
}
disabled={isIdentity}
uncheckWhenDisabled
/>
<ForeignKeyEditor />
<Input
{...register('comment')}
id="comment"
fullWidth
multiline
rows={3}
label="Comment"
helperText={errors.comment?.message}
hideEmptyHelperText
error={Boolean(errors.comment)}
variant="inline"
className="col-span-8 py-3"
autoComplete="off"
/>
</Box>
</div>
<Box className="grid flex-shrink-0 grid-flow-col justify-between gap-3 border-t-1 p-2">
<Button
variant="borderless"
color="secondary"
onClick={onCancel}
tabIndex={isDirty ? -1 : 0}
>
Cancel
</Button>
<Button
loading={isSubmitting}
disabled={isSubmitting}
type="submit"
className="justify-self-end"
>
{submitButtonText}
</Button>
</Box>
</Form>
);
}

View File

@@ -1,149 +0,0 @@
import { useDialog } from '@/components/common/DialogProvider';
import { Box } from '@/components/ui/v2/Box';
import { Button } from '@/components/ui/v2/Button';
import { ArrowRightIcon } from '@/components/ui/v2/icons/ArrowRightIcon';
import { LinkIcon } from '@/components/ui/v2/icons/LinkIcon';
import { InputLabel } from '@/components/ui/v2/InputLabel';
import { Text } from '@/components/ui/v2/Text';
import { CreateForeignKeyForm } from '@/features/orgs/projects/database/dataGrid/components/CreateForeignKeyForm';
import { EditForeignKeyForm } from '@/features/orgs/projects/database/dataGrid/components/EditForeignKeyForm';
import type { DatabaseColumn } from '@/features/orgs/projects/database/dataGrid/types/dataBrowser';
import type { ForwardedRef } from 'react';
import { forwardRef, useRef } from 'react';
import { useFormContext, useWatch } from 'react-hook-form';
interface ForeignKeyEditorInputProps {
/**
* Function to be called when the user finishes creating a foreign key.
*/
onCreateSubmit: VoidFunction;
/**
* Function to be called when the user finishes editing a foreign key.
*/
onEditSubmit: VoidFunction;
}
const ForeignKeyEditorInput = forwardRef(
(
{ onCreateSubmit, onEditSubmit }: ForeignKeyEditorInputProps,
ref: ForwardedRef<HTMLButtonElement>,
) => {
const { openDialog } = useDialog();
const { setValue } = useFormContext();
const column = useWatch() as DatabaseColumn;
const { foreignKeyRelation } = column;
if (!column.foreignKeyRelation) {
return (
<Button
variant="borderless"
className="py-1"
disabled={!column.name || !column.type}
ref={ref}
onClick={() => {
openDialog({
title: (
<span className="grid grid-flow-row">
<span>Add a Foreign Key Relation</span>
<Text variant="subtitle1" component="span">
Foreign keys help ensure the referential integrity of your
data.
</Text>
</span>
),
component: (
<CreateForeignKeyForm
selectedColumn={column.name}
availableColumns={[column]}
onSubmit={(values) => {
setValue('foreignKeyRelation', values);
onCreateSubmit();
}}
/>
),
});
}}
>
Add Foreign Key
</Button>
);
}
return (
<div className="grid grid-flow-col items-center justify-between justify-items-start gap-2 rounded-sm+ px-2">
<div className="grid grid-flow-col items-center gap-2">
<LinkIcon className="h-4 w-4" />
<Text className="grid grid-flow-col items-center gap-1.5 truncate font-medium">
<span className="truncate">{foreignKeyRelation?.columnName}</span>
<ArrowRightIcon />
<span className="truncate">
{foreignKeyRelation?.referencedSchema}.
{foreignKeyRelation?.referencedTable}.
{foreignKeyRelation?.referencedColumn}
</span>
</Text>
</div>
<div className="grid grid-flow-col">
<Button
ref={ref}
onClick={() => {
openDialog({
title: 'Edit Foreign Key Relation',
component: (
<EditForeignKeyForm
foreignKeyRelation={foreignKeyRelation!}
selectedColumn={column.name}
availableColumns={[column]}
onSubmit={(values) => {
setValue('foreignKeyRelation', values);
onEditSubmit();
}}
/>
),
});
}}
variant="borderless"
className="min-w-[initial] px-2 py-1"
>
Edit
</Button>
<Button
onClick={() => setValue('foreignKeyRelation', null)}
variant="borderless"
className="min-w-[initial] px-2 py-1"
>
Delete
</Button>
</div>
</div>
);
},
);
ForeignKeyEditorInput.displayName = 'NhostForeignKeyEditorInput';
export default function ForeignKeyEditor() {
const buttonRef = useRef<HTMLButtonElement | null>(null);
return (
<div className="col-span-8 grid grid-cols-8 items-center justify-start gap-x-4 gap-y-2">
<InputLabel className="col-span-8 sm:col-span-2">Foreign Key</InputLabel>
<Box className="col-span-8 rounded-sm+ border-1 px-1 py-[3px] sm:col-span-6">
<ForeignKeyEditorInput
ref={buttonRef}
onEditSubmit={() =>
requestAnimationFrame(() => buttonRef.current?.focus())
}
onCreateSubmit={() =>
requestAnimationFrame(() => buttonRef.current?.focus())
}
/>
</Box>
</div>
);
}

View File

@@ -1,2 +0,0 @@
export * from './BaseColumnForm';
export { default as BaseColumnForm } from './BaseColumnForm';

View File

@@ -0,0 +1,465 @@
import {
mockPointerEvent,
render,
screen,
TestUserEvent,
} from '@/tests/testUtils';
import { yupResolver } from '@hookform/resolvers/yup';
import { FormProvider, useForm } from 'react-hook-form';
import { vi } from 'vitest';
import type * as Yup from 'yup';
import BaseTableForm, {
type BaseTableFormValues,
baseTableValidationSchema,
} from './BaseTableForm';
mockPointerEvent();
Object.defineProperty(HTMLElement.prototype, 'getBoundingClientRect', {
value: vi.fn(() => ({
width: 100,
height: 40,
top: 0,
left: 0,
bottom: 40,
right: 100,
})),
});
const mocks = vi.hoisted(() => ({
onSubmit: vi.fn(),
}));
const defaultFormValues = {
columns: [
{
name: '',
type: null as any,
defaultValue: null as any,
isNullable: false,
isUnique: false,
isIdentity: false,
comment: '',
},
],
foreignKeyRelations: [],
primaryKeyIndices: [],
identityColumnIndex: null,
};
function TestTableFormWrapper({ defaultValues = defaultFormValues }: any) {
const form = useForm<
BaseTableFormValues | Yup.InferType<typeof baseTableValidationSchema>
>({
defaultValues,
shouldUnregister: false,
reValidateMode: 'onSubmit',
resolver: yupResolver(baseTableValidationSchema),
});
return (
<FormProvider {...form}>
<BaseTableForm onSubmit={mocks.onSubmit} submitButtonText="Save" />
</FormProvider>
);
}
const user = new TestUserEvent();
async function fillColumnForm(
{ columnName, optionName, typeValue, defaultValue }: any,
index: number,
) {
const columnNameInput = screen.getByTestId(`columns.${index}.name`);
expect(columnNameInput).toBeInTheDocument();
await user.type(columnNameInput, columnName);
await TestUserEvent.fireClickEvent(
screen.getByTestId(`columns.${index}.type`),
);
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: optionName }),
);
expect(screen.getByDisplayValue(typeValue)).toBeInTheDocument();
if (defaultValue) {
expect(
screen.getByTestId(`columns.${index}.defaultValue`),
).toBeInTheDocument();
TestUserEvent.fireTypeEvent(
screen.getByTestId(`columns.${index}.defaultValue`),
`${defaultValue}`,
);
await TestUserEvent.fireClickEvent(
screen.getByRole('option', {
name: `Use "${defaultValue}" as a literal`,
}),
);
expect(screen.getByTestId(`columns.${index}.defaultValue`)).toHaveValue(
defaultValue,
);
}
}
describe('BaseTableForm', () => {
it('should not disable the nullable and unique checkboxes after setting the column name', async () => {
render(<TestTableFormWrapper />);
let firstColumnIsNullableCheckbox = screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isNullable',
});
let firstColumnIsUniqueCheckbox = screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isUnique',
});
expect(firstColumnIsNullableCheckbox).not.toBeDisabled();
expect(firstColumnIsUniqueCheckbox).not.toBeDisabled();
await user.type(screen.getByPlaceholderText('Enter name'), 'column1');
expect(screen.getByDisplayValue('column1')).toBeInTheDocument();
firstColumnIsNullableCheckbox = screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isNullable',
});
firstColumnIsUniqueCheckbox = screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isUnique',
});
expect(firstColumnIsNullableCheckbox).not.toBeDisabled();
expect(firstColumnIsUniqueCheckbox).not.toBeDisabled();
});
it('should disable the nullable and unique checkboxes if the column is the primary key', async () => {
render(<TestTableFormWrapper />);
await fillColumnForm(
{
columnName: 'id',
optionName: 'uuid uuid',
typeValue: 'uuid',
defaultValue: 'gen_random_uuid()',
},
0,
);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
await fillColumnForm(
{
columnName: 'note',
optionName: 'text text',
typeValue: 'text',
},
1,
);
await TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
await fillColumnForm(
{
columnName: 'isDone',
optionName: 'boolean bool',
typeValue: 'boolean',
defaultValue: 'false',
},
2,
);
await TestUserEvent.fireClickEvent(screen.getByText('Add Primary Key'));
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'id' }),
);
expect(screen.getByTestId('id')).toBeInTheDocument();
expect(
screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isNullable',
}),
).toBeDisabled();
expect(
screen.getByRole('checkbox', {
name: (accessibleName, element) =>
element.getAttribute('name') === 'columns.0.isUnique',
}),
).toBeDisabled();
});
it('should disable the nullable and unique checkboxes and default value if the column is an identity column', async () => {
render(<TestTableFormWrapper />);
await fillColumnForm(
{
columnName: 'id',
optionName: 'uuid uuid',
typeValue: 'uuid',
defaultValue: 'gen_random_uuid()',
},
0,
);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
await fillColumnForm(
{
columnName: 'identity_column',
optionName: 'smallint int2',
typeValue: 'smallint',
},
1,
);
TestUserEvent.fireClickEvent(screen.getByLabelText('Identity'));
expect(
screen.getByRole('option', { name: 'identity_column' }),
).toBeInTheDocument();
TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'identity_column' }),
);
expect(screen.getByRole('combobox', { name: 'Identity' }).textContent).toBe(
'identity_column',
);
});
it('should display the identity column picker if an integer is selected as a column type', async () => {
render(<TestTableFormWrapper />);
expect(screen.queryByLabelText('Identity')).not.toBeInTheDocument();
await TestUserEvent.fireClickEvent(
screen.getByPlaceholderText('Select type'),
);
await user.type(screen.getByPlaceholderText('Select type'), 'int');
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'smallint int2' }),
);
expect(screen.getByDisplayValue('smallint')).toBeInTheDocument();
expect(screen.getByLabelText('Identity')).toBeInTheDocument();
await TestUserEvent.fireClickEvent(screen.getByDisplayValue('smallint'));
await user.type(screen.getByDisplayValue('smallint'), 'text');
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'text text' }),
);
expect(screen.getByDisplayValue('text')).toBeInTheDocument();
expect(screen.queryByLabelText('Identity')).not.toBeInTheDocument();
await TestUserEvent.fireClickEvent(screen.getByDisplayValue('text'));
await user.type(screen.getByDisplayValue('text'), 'int');
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'integer int4' }),
);
expect(screen.getByDisplayValue('integer')).toBeInTheDocument();
expect(screen.getByLabelText('Identity')).toBeInTheDocument();
await TestUserEvent.fireClickEvent(screen.getByDisplayValue('integer'));
await user.type(screen.getByDisplayValue('integer'), 'numeric');
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'numeric numeric' }),
);
expect(screen.getByDisplayValue('numeric')).toBeInTheDocument();
expect(screen.queryByLabelText('Identity')).not.toBeInTheDocument();
await TestUserEvent.fireClickEvent(screen.getByDisplayValue('numeric'));
await user.type(screen.getByDisplayValue('numeric'), 'int');
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'bigint int8' }),
);
expect(screen.getByDisplayValue('bigint')).toBeInTheDocument();
expect(screen.getByLabelText('Identity')).toBeInTheDocument();
});
it('should add a new empty row with the Add Column button', async () => {
render(<TestTableFormWrapper />);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
expect(screen.getAllByPlaceholderText('Enter name')).toHaveLength(2);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
expect(screen.getAllByPlaceholderText('Enter name')).toHaveLength(4);
});
it('the remove column button is disabled if it is the only column', async () => {
render(<TestTableFormWrapper />);
expect(screen.getByTestId('remove-column-0')).toBeDisabled();
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
expect(screen.getByTestId('remove-column-0')).not.toBeDisabled();
expect(screen.getByTestId('remove-column-1')).not.toBeDisabled();
expect(screen.getByTestId('remove-column-2')).not.toBeDisabled();
TestUserEvent.fireClickEvent(screen.getByTestId('remove-column-1'));
expect(screen.getByTestId('remove-column-0')).not.toBeDisabled();
expect(screen.getByTestId('remove-column-1')).not.toBeDisabled();
TestUserEvent.fireClickEvent(screen.getByTestId('remove-column-1'));
expect(screen.getByTestId('remove-column-0')).toBeDisabled();
});
it('should add a comment to the column', async () => {
render(<TestTableFormWrapper />);
expect(screen.getByText('Save')).toBeInTheDocument();
await user.type(screen.getByTestId('tableNameInput'), 'test_table');
expect(screen.getByTestId('tableNameInput')).toHaveDisplayValue(
'test_table',
);
await fillColumnForm(
{
columnName: 'id',
optionName: 'uuid uuid',
typeValue: 'uuid',
defaultValue: 'gen_random_uuid()',
},
0,
);
await TestUserEvent.fireClickEvent(screen.getByTestId('columns.0.comment'));
expect(
screen.getByPlaceholderText('Add a comment for the column'),
).toBeInTheDocument();
await user.type(
screen.getByPlaceholderText('Add a comment for the column'),
'Test comment{Escape}',
);
expect(
screen.queryByPlaceholderText('Add a comment for the column'),
).not.toBeInTheDocument();
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
await fillColumnForm(
{
columnName: 'description',
optionName: 'text text',
typeValue: 'text',
},
1,
);
TestUserEvent.fireClickEvent(
screen.getByRole('button', { name: /Add Column/ }),
);
await fillColumnForm(
{
columnName: 'identity_column',
optionName: 'smallint int2',
typeValue: 'smallint',
},
2,
);
await TestUserEvent.fireClickEvent(screen.getByText('Add Primary Key'));
await TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'id' }),
);
expect(screen.getByTestId('id')).toBeInTheDocument();
TestUserEvent.fireClickEvent(screen.getByLabelText('Identity'));
expect(
screen.getByRole('option', { name: 'identity_column' }),
).toBeInTheDocument();
TestUserEvent.fireClickEvent(
screen.getByRole('option', { name: 'identity_column' }),
);
expect(screen.getByText('Save')).toBeInTheDocument();
await TestUserEvent.fireClickEvent(screen.getByText('Save'));
expect(screen.getByText('Save')).not.toBeDisabled();
expect(mocks.onSubmit.mock.calls[0][0].name).toBe('test_table');
expect(mocks.onSubmit.mock.calls[0][0].primaryKeyIndices).toStrictEqual([
'0',
]);
expect(mocks.onSubmit.mock.calls[0][0].identityColumnIndex).toBe(2);
expect(mocks.onSubmit.mock.calls[0][0].columns).toStrictEqual([
{
name: 'id',
type: { group: 'UUID types', label: 'uuid', value: 'uuid' },
defaultValue: {
custom: true,
dropdownLabel: 'Use "gen_random_uuid()" as a literal',
label: 'gen_random_uuid()',
value: 'gen_random_uuid()',
},
isNullable: false,
isUnique: false,
isIdentity: false,
comment: 'Test comment',
},
{
name: 'description',
type: { group: 'String types', label: 'text', value: 'text' },
defaultValue: null,
isNullable: false,
isUnique: false,
isIdentity: false,
comment: null,
},
{
comment: null,
defaultValue: null,
isIdentity: false,
isNullable: false,
isUnique: false,
name: 'identity_column',
type: {
group: 'Numeric types',
label: 'smallint',
value: 'int2',
},
},
]);
});
});

View File

@@ -4,7 +4,6 @@ import { Box } from '@/components/ui/v2/Box';
import { Button } from '@/components/ui/v2/Button';
import { Input } from '@/components/ui/v2/Input';
import { Text } from '@/components/ui/v2/Text';
import { baseColumnValidationSchema } from '@/features/orgs/projects/database/dataGrid/components/BaseColumnForm';
import type {
DatabaseTable,
ForeignKeyRelation,
@@ -51,6 +50,23 @@ export interface BaseTableFormProps extends DialogFormProps {
submitButtonText?: string;
}
export const baseColumnValidationSchema = Yup.object().shape({
name: Yup.string()
.required('This field is required.')
.matches(
/^([A-Za-z]|_)+/i,
'Column name must start with a letter or underscore.',
)
.matches(
/^\w+$/i,
'Column name must contain only letters, numbers, or underscores.',
),
type: Yup.object()
.shape({ value: Yup.string().required() })
.required('This field is required.')
.nullable(),
});
export const baseTableValidationSchema = Yup.object({
name: Yup.string()
.required('This field is required.')
@@ -86,6 +102,9 @@ function NameInput() {
{...register('name')}
id="name"
fullWidth
inputProps={{
'data-testid': 'tableNameInput',
}}
label="Name"
helperText={
typeof errors.name?.message === 'string' ? errors.name?.message : ''

View File

@@ -0,0 +1,59 @@
import { Button } from '@/components/ui/v3/button';
import {
Popover,
PopoverContent,
PopoverTrigger,
} from '@/components/ui/v3/popover';
import { Textarea } from '@/components/ui/v3/textarea';
import { isEmptyValue } from '@/lib/utils';
import { MessageSquare, MessageSquareText } from 'lucide-react';
import { type KeyboardEvent } from 'react';
import { useFormContext, useWatch } from 'react-hook-form';
interface ColumnCommentProps {
index: number;
}
function ColumnComment({ index }: ColumnCommentProps) {
const { register } = useFormContext();
const comment = useWatch({ name: `columns.${index}.comment` });
const CommentIcon = isEmptyValue(comment) ? MessageSquare : MessageSquareText;
const title = isEmptyValue(comment) ? 'Add comment' : 'Edit comment';
function handleKeyDown(event: KeyboardEvent<HTMLTextAreaElement>) {
if (event.key === 'Escape') {
event.stopPropagation();
}
}
return (
<Popover>
<PopoverTrigger asChild>
<Button
type="button"
variant="ghost"
size="icon"
title={title}
data-testid={`columns.${index}.comment`}
className="h-8 w-8 hover:bg-[#eaedf0] dark:hover:bg-[#2f363d]"
>
<CommentIcon strokeWidth={1} className="h-5 w-5" />
</Button>
</PopoverTrigger>
<PopoverContent
className="w-80 p-0 data-[state=closed]:duration-100 data-[state=open]:duration-100"
align="end"
>
<Textarea
{...register(`columns.${index}.comment`, { shouldUnregister: false })}
onKeyDown={handleKeyDown}
className="resize-none"
placeholder="Add a comment for the column"
/>
</PopoverContent>
</Popover>
);
}
export default ColumnComment;

View File

@@ -7,6 +7,7 @@ import { InlineCode } from '@/components/presentational/InlineCode';
import type { CheckboxProps } from '@/components/ui/v2/Checkbox';
import { Input } from '@/components/ui/v2/Input';
import { OptionBase } from '@/components/ui/v2/Option';
import type {
ColumnType,
ForeignKeyRelation,
@@ -17,10 +18,12 @@ import {
postgresTypeGroups,
} from '@/features/orgs/projects/database/dataGrid/utils/postgresqlConstants';
import clsx from 'clsx';
import type { PropsWithoutRef } from 'react';
import { memo, useEffect, useState } from 'react';
import type { FieldError } from 'react-hook-form';
import { useFormContext, useFormState, useWatch } from 'react-hook-form';
import ColumnComment from './ColumnComment';
import { RemoveButton } from './RemoveButton';
export interface FieldArrayInputProps {
@@ -43,7 +46,7 @@ function NameInput({ index }: FieldArrayInputProps) {
name: [`columns.${index}.name`],
});
const primaryKeyIndex: number = useWatch({ name: 'primaryKeyIndex' });
const primaryKeyIndices: string[] = useWatch({ name: 'primaryKeyIndices' });
return (
<Input
@@ -61,17 +64,12 @@ function NameInput({ index }: FieldArrayInputProps) {
clearErrors('columns');
}
if (!event.target.value && primaryKeyIndex === index) {
setValue('primaryKeyIndex', null);
if (!event.target.value && primaryKeyIndices.includes(`${index}`)) {
const updatedPrimaryKeyIndices = primaryKeyIndices.filter(
(pk) => pk !== `${index}`,
);
return;
}
if (
event.target.value &&
(primaryKeyIndex === null || typeof primaryKeyIndex === 'undefined')
) {
setValue('primaryKeyIndex', index);
setValue('primaryKeyIndices', updatedPrimaryKeyIndices);
}
},
})}
@@ -81,6 +79,7 @@ function NameInput({ index }: FieldArrayInputProps) {
hideEmptyHelperText
error={Boolean(errors?.columns?.[index]?.name)}
helperText={errors?.columns?.[index]?.name?.message}
inputProps={{ 'data-testid': `columns.${index}.name` }}
/>
);
}
@@ -98,6 +97,11 @@ function TypeAutocomplete({ index }: FieldArrayInputProps) {
return (
<ControlledAutocomplete
slotProps={{
inputRoot: {
'data-testid': `columns.${index}.type`,
},
}}
id={`columns.${index}.type`}
name={`columns.${index}.type`}
aria-label="Type"
@@ -201,6 +205,9 @@ function DefaultValueAutocomplete({ index }: FieldArrayInputProps) {
freeSolo
slotProps={{
paper: { className: clsx(availableFunctions.length === 0 && 'hidden') },
inputRoot: {
'data-testid': `columns.${index}.defaultValue`,
},
}}
disabled={isIdentity}
noOptionsText="Enter a custom default value"
@@ -225,10 +232,10 @@ function Checkbox({
index,
...props
}: FieldArrayInputProps & PropsWithoutRef<CheckboxProps>) {
const primaryKeyIndex = useWatch({ name: 'primaryKeyIndex' });
const primaryKeyIndices = useWatch({ name: 'primaryKeyIndices' });
const identityColumnIndex = useWatch({ name: 'identityColumnIndex' });
const isPrimary = primaryKeyIndex === index;
const isPrimary = primaryKeyIndices.includes(`${index}`);
const isIdentity = identityColumnIndex === index;
return (
@@ -249,28 +256,39 @@ export interface ColumnEditorRowProps extends FieldArrayInputProps {
}
const ColumnEditorRow = memo(({ index, remove }: ColumnEditorRowProps) => (
<div role="row" className="grid w-full grid-cols-12 gap-1">
<div role="cell" className="col-span-3">
<div role="row" className="flex w-full gap-2">
<div role="cell" className="w-52 flex-none">
<NameInput index={index} />
</div>
<div role="cell" className="col-span-3">
<div role="cell" className="w-52 flex-none">
<TypeAutocomplete index={index} />
</div>
<div role="cell" className="col-span-3">
<div role="cell" className="w-52 flex-none">
<DefaultValueAutocomplete index={index} />
</div>
<div role="cell" className="col-span-1 flex justify-center py-3">
<div role="cell" className="flex w-8 flex-none items-center justify-center">
<ColumnComment index={index} />
</div>
<div
role="cell"
className="flex w-13 flex-none items-center justify-center"
>
<Checkbox
name={`columns.${index}.isNullable`}
aria-label="Nullable"
index={index}
data-testid={`columns.${index}.isNullable`}
/>
</div>
<div role="cell" className="col-span-1 flex justify-center py-3">
<div
role="cell"
className="flex w-13 flex-none items-center justify-center"
>
<Checkbox
name={`columns.${index}.isUnique`}
aria-label="Unique"
@@ -278,7 +296,7 @@ const ColumnEditorRow = memo(({ index, remove }: ColumnEditorRowProps) => (
/>
</div>
<div role="cell" className="col-span-1 flex justify-center py-0.5">
<div role="cell" className="flex w-9 flex-none items-center justify-center">
<RemoveButton
index={index}
onClick={() => {

View File

@@ -25,9 +25,9 @@ export default function ColumnEditorTable() {
return (
<>
<div role="table" className="col-span-8">
<div className="sticky top-0 z-10 grid w-full grid-cols-12 gap-1 pb-2 pt-1">
<div role="columnheader" className="col-span-3">
<div role="table" className="col-span-8 overflow-x-auto">
<div className="sticky top-0 z-10 flex w-full gap-2 pb-2 pt-1">
<div role="columnheader" className="w-52 flex-none">
<InputLabel as="span">
Name
<Text component="span" color="error">
@@ -36,7 +36,7 @@ export default function ColumnEditorTable() {
</InputLabel>
</div>
<div role="columnheader" className="col-span-3">
<div role="columnheader" className="w-52 flex-none">
<InputLabel as="span">
Type
<Text component="span" color="error">
@@ -45,24 +45,30 @@ export default function ColumnEditorTable() {
</InputLabel>
</div>
<div role="columnheader" className="col-span-3">
<div role="columnheader" className="w-52 flex-none">
<InputLabel as="span">Default Value</InputLabel>
</div>
<div role="columnheader" className="w-8 flex-none">
<InputLabel as="span" className="hidden">
Comment
</InputLabel>
</div>
<div role="columnheader" className="col-span-1 truncate text-center">
<div role="columnheader" className="w-13 flex-none text-center">
<InputLabel as="span" className="truncate">
Nullable
</InputLabel>
</div>
<div role="columnheader" className="col-span-1 truncate text-center">
<div role="columnheader" className="w-13 flex-none text-center">
<InputLabel as="span" className="truncate">
Unique
</InputLabel>
</div>
<div className="flex w-9 flex-auto" />
</div>
<div role="rowgroup" className="grid w-full grid-flow-row gap-2">
<div role="rowgroup" className="grid w-full grid-flow-row gap-1">
{fields.map((field, index) => (
<ColumnEditorRow key={field.id} index={index} remove={remove} />
))}
@@ -82,6 +88,7 @@ export default function ColumnEditorTable() {
isNullable: false,
isUnique: false,
isIdentity: false,
comment: null,
})
}
startIcon={<PlusIcon />}

View File

@@ -60,6 +60,7 @@ export default function ForeignKeyEditorSection() {
validateDuplicateRelation(values);
append(values);
}
const primaryKeyIndices = getValues('primaryKeyIndices');
return (
<section className="grid grid-flow-row gap-2 px-6">
@@ -71,15 +72,13 @@ export default function ForeignKeyEditorSection() {
<ForeignKeyEditorRow
index={index}
onEdit={() => {
const primaryKeyIndex = getValues('primaryKeyIndex');
openDialog({
title: 'Edit Foreign Key Relation',
component: (
<EditForeignKeyForm
foreignKeyRelation={fields[index] as ForeignKeyRelation}
availableColumns={columns.map((column, columnIndex) =>
columnIndex === primaryKeyIndex
primaryKeyIndices.includes(`${columnIndex}`)
? { ...column, isPrimary: true }
: column,
)}
@@ -109,8 +108,6 @@ export default function ForeignKeyEditorSection() {
}}
disabled={columnsWithNameAndType?.length === 0}
onClick={() => {
const primaryKeyIndex = getValues('primaryKeyIndex');
openDialog({
title: (
<span className="grid grid-flow-row">
@@ -125,7 +122,7 @@ export default function ForeignKeyEditorSection() {
component: (
<CreateForeignKeyForm
availableColumns={columns.map((column, index) =>
index === primaryKeyIndex
primaryKeyIndices.includes(`${index}`)
? { ...column, isPrimary: true }
: column,
)}

View File

@@ -75,5 +75,3 @@ export default function PrimaryKeySelect() {
</div>
);
}
// #1e293b
// #1b2534

View File

@@ -67,13 +67,14 @@ export default function CreateTableForm({
isNullable: false,
isUnique: false,
isIdentity: false,
comment: '',
},
],
foreignKeyRelations: [],
primaryKeyIndices: [],
identityColumnIndex: null,
},
shouldUnregister: true,
shouldUnregister: false,
reValidateMode: 'onSubmit',
resolver: yupResolver(baseTableValidationSchema),
});
@@ -86,6 +87,7 @@ export default function CreateTableForm({
],
[],
);
try {
const table: DatabaseTable = {
...values,

View File

@@ -1,11 +1,9 @@
import { useDialog } from '@/components/common/DialogProvider';
import { FormActivityIndicator } from '@/components/form/FormActivityIndicator';
import { InlineCode } from '@/components/presentational/InlineCode';
import { KeyIcon } from '@/components/ui/v2/icons/KeyIcon';
import { InlineCode } from '@/components/ui/v3/inline-code';
import { useTablePath } from '@/features/orgs/projects/database/common/hooks/useTablePath';
import { DataBrowserEmptyState } from '@/features/orgs/projects/database/dataGrid/components/DataBrowserEmptyState';
import { DataBrowserGridControls } from '@/features/orgs/projects/database/dataGrid/components/DataBrowserGridControls';
import { useDeleteColumnWithToastMutation } from '@/features/orgs/projects/database/dataGrid/hooks/useDeleteColumnMutation';
import { useTableQuery } from '@/features/orgs/projects/database/dataGrid/hooks/useTableQuery';
import type { UpdateRecordVariables } from '@/features/orgs/projects/database/dataGrid/hooks/useUpdateRecordMutation';
import { useUpdateRecordWithToastMutation } from '@/features/orgs/projects/database/dataGrid/hooks/useUpdateRecordMutation';
@@ -21,8 +19,6 @@ import {
POSTGRESQL_INTEGER_TYPES,
POSTGRESQL_JSON_TYPES,
} from '@/features/orgs/projects/database/dataGrid/utils/postgresqlConstants';
import { isSchemaLocked } from '@/features/orgs/projects/database/dataGrid/utils/schemaHelpers';
import { useProject } from '@/features/orgs/projects/hooks/useProject';
import type { DataGridProps } from '@/features/orgs/projects/storage/dataGrid/components/DataGrid';
import { DataGrid } from '@/features/orgs/projects/storage/dataGrid/components/DataGrid';
import { DataGridBooleanCell } from '@/features/orgs/projects/storage/dataGrid/components/DataGridBooleanCell';
@@ -31,18 +27,11 @@ import { DataGridDecimalCell } from '@/features/orgs/projects/storage/dataGrid/c
import { DataGridIntegerCell } from '@/features/orgs/projects/storage/dataGrid/components/DataGridIntegerCell';
import { DataGridTextCell } from '@/features/orgs/projects/storage/dataGrid/components/DataGridTextCell';
import { useQueryClient } from '@tanstack/react-query';
import { KeyRound } from 'lucide-react';
import dynamic from 'next/dynamic';
import { useRouter } from 'next/router';
import { useEffect, useMemo, useRef, useState } from 'react';
const EditColumnForm = dynamic(
() =>
import(
'@/features/orgs/projects/database/dataGrid/components/EditColumnForm/EditColumnForm'
),
{ ssr: false, loading: () => <FormActivityIndicator /> },
);
const CreateRecordForm = dynamic(
() =>
import(
@@ -63,7 +52,7 @@ export function createDataGridColumn(
const defaultColumnConfiguration = {
Header: () => (
<div className="grid grid-flow-col items-center justify-start gap-1 font-normal">
{column.is_primary && <KeyIcon className="text-sm" />}
{column.is_primary && <KeyRound width={14} height={14} />}
<span className="truncate font-bold" title={column.column_name}>
{column.column_name}
@@ -167,23 +156,15 @@ export default function DataBrowserGrid({
...router
} = useRouter();
const currentTablePath = useTablePath();
const isSchemaEditable = !isSchemaLocked(schemaSlug as string);
const { openDrawer, openAlertDialog } = useDialog();
const { project } = useProject();
const isGitHubConnected = !!project?.githubRepository;
const { openDrawer } = useDialog();
const limit = 25;
const [currentOffset, setCurrentOffset] = useState<number>(
parseInt(page as string, 10) - 1 || 0,
);
const [removableColumnId, setRemovableColumnId] = useState<string>();
const [optimisticlyRemovedColumnId, setOptimisticlyRemovedColumnId] =
useState<string>();
const { mutateAsync: updateRow } = useUpdateRecordWithToastMutation();
const { mutateAsync: deleteColumn } = useDeleteColumnWithToastMutation();
const { data, status, error, refetch } = useTableQuery(
[currentTablePath, limit, currentOffset, sortBy],
@@ -271,26 +252,16 @@ export default function DataBrowserGrid({
const memoizedColumns = useMemo(
() =>
columns
.map((column) => ({
...createDataGridColumn(column, true),
onCellEdit: async (variables: UpdateRecordVariables) => {
const result = await updateRow(variables);
await queryClient.invalidateQueries([currentTablePath]);
columns.map((column) => ({
...createDataGridColumn(column, true),
onCellEdit: async (variables: UpdateRecordVariables) => {
const result = await updateRow(variables);
await queryClient.invalidateQueries([currentTablePath]);
return result;
},
isDisabled: removableColumnId === column.column_name,
}))
.filter((column) => column.id !== optimisticlyRemovedColumnId),
[
columns,
currentTablePath,
optimisticlyRemovedColumnId,
queryClient,
removableColumnId,
updateRow,
],
return result;
},
})),
[columns, currentTablePath, queryClient, updateRow],
);
const memoizedData = useMemo(() => rows, [rows]);
@@ -308,58 +279,6 @@ export default function DataBrowserGrid({
});
}
async function handleEditColumnClick(
column: DataBrowserGridColumn<NormalizedQueryDataRow>,
) {
openDrawer({
title: 'Edit Column',
component: (
<EditColumnForm
column={column}
onSubmit={() => queryClient.refetchQueries([currentTablePath])}
/>
),
});
}
async function handleColumnDeleteConfirmation(
column: DataBrowserGridColumn<NormalizedQueryDataRow>,
) {
try {
// We are greying out and disabling it in the grid
setRemovableColumnId(column.id);
await deleteColumn({ column });
// Note: At this point we can optimistically assume that the column was
// removed, so we can improve the UX by removing it from the grid right
// away, without waiting for the refetch to succeed.
setOptimisticlyRemovedColumnId(column.id);
await queryClient.refetchQueries([currentTablePath]);
} finally {
setRemovableColumnId(undefined);
setOptimisticlyRemovedColumnId(undefined);
}
}
async function handleColumnRemoveClick(
column: DataBrowserGridColumn<NormalizedQueryDataRow>,
) {
openAlertDialog({
title: 'Delete column',
payload: (
<span>
Are you sure you want to delete the{' '}
<strong className="break-all">{column.id}</strong> column?
</span>
),
props: {
primaryButtonText: 'Delete',
primaryButtonColor: 'error',
onPrimaryAction: () => handleColumnDeleteConfirmation(column),
},
});
}
if (metadata?.schemaNotFound) {
return (
<DataBrowserEmptyState
@@ -414,8 +333,6 @@ export default function DataBrowserGrid({
sortBy={sortBy}
className="pb-17 sm:pb-0"
onInsertRow={handleInsertRowClick}
onEditColumn={isSchemaEditable ? handleEditColumnClick : undefined}
onRemoveColumn={isSchemaEditable ? handleColumnRemoveClick : undefined}
options={{
manualSortBy: true,
disableMultiSort: true,
@@ -423,12 +340,6 @@ export default function DataBrowserGrid({
autoResetSelectedRows: false,
autoResetResize: false,
}}
headerProps={{
componentsProps: {
editActionProps: { disabled: isGitHubConnected },
deleteActionProps: { disabled: isGitHubConnected },
},
}}
controls={
<DataBrowserGridControls
onInsertRowClick={handleInsertRowClick}

View File

@@ -603,7 +603,7 @@ export default function DataBrowserSidebar({
</Box>
<IconButton
className="absolute bottom-4 left-4 z-[38] h-11 w-11 rounded-full md:hidden"
className="absolute bottom-4 left-8 z-[38] h-11 w-11 rounded-full md:hidden"
onClick={toggleExpanded}
aria-label="Toggle sidebar"
>

View File

@@ -112,7 +112,7 @@ export default function DatabaseRecordInputGroup({
const isMultiline =
specificType === 'text' ||
specificType === 'bpchar' ||
specificType === 'character varying' ||
specificType === 'varchar' ||
specificType === 'json' ||
specificType === 'jsonb';

View File

@@ -1,151 +0,0 @@
import { Alert } from '@/components/ui/v2/Alert';
import type { AutocompleteOption } from '@/components/ui/v2/Autocomplete';
import { Button } from '@/components/ui/v2/Button';
import type {
BaseColumnFormProps,
BaseColumnFormValues,
} from '@/features/orgs/projects/database/dataGrid/components/BaseColumnForm';
import {
BaseColumnForm,
baseColumnValidationSchema,
} from '@/features/orgs/projects/database/dataGrid/components/BaseColumnForm';
import { useTrackForeignKeyRelationsMutation } from '@/features/orgs/projects/database/dataGrid/hooks/useTrackForeignKeyRelationsMutation';
import { useUpdateColumnMutation } from '@/features/orgs/projects/database/dataGrid/hooks/useUpdateColumnMutation';
import type {
ColumnType,
DataBrowserGridColumn,
} from '@/features/orgs/projects/database/dataGrid/types/dataBrowser';
import { convertDataBrowserGridColumnToDatabaseColumn } from '@/features/orgs/projects/database/dataGrid/utils/convertDataBrowserGridColumnToDatabaseColumn';
import { isNotEmptyValue } from '@/lib/utils';
import { triggerToast } from '@/utils/toast';
import { yupResolver } from '@hookform/resolvers/yup';
import { useRouter } from 'next/router';
import { FormProvider, useForm } from 'react-hook-form';
import type * as Yup from 'yup';
export interface EditColumnFormProps
extends Pick<BaseColumnFormProps, 'onCancel' | 'location'> {
/**
* Column to be edited.
*/
column: DataBrowserGridColumn;
/**
* Function to be called when the form is submitted.
*/
onSubmit?: () => Promise<void>;
}
export default function EditColumnForm({
column: originalColumn,
onSubmit,
...props
}: EditColumnFormProps) {
const {
query: { schemaSlug, tableSlug },
} = useRouter();
const {
mutateAsync: updateColumn,
error: updateColumnError,
reset: resetUpdateColumnError,
} = useUpdateColumnMutation();
const {
mutateAsync: trackForeignKeyRelation,
error: foreignKeyError,
reset: resetForeignKeyError,
} = useTrackForeignKeyRelationsMutation();
const error = updateColumnError || foreignKeyError;
function resetError() {
resetUpdateColumnError();
resetForeignKeyError();
}
const defaultValue: AutocompleteOption = {
value: originalColumn.defaultValue,
label: originalColumn.defaultValue,
custom: originalColumn.isDefaultValueCustom,
};
const columnValues: BaseColumnFormValues = {
name: originalColumn.id,
type: {
value: originalColumn.specificType as ColumnType,
label: originalColumn.specificType as ColumnType,
},
defaultValue,
isNullable: originalColumn.isNullable || false,
isUnique: originalColumn.isUnique || false,
isIdentity: originalColumn.isIdentity || false,
foreignKeyRelation: originalColumn.foreignKeyRelation || null,
comment: originalColumn.comment || null,
};
const form = useForm<
BaseColumnFormValues | Yup.InferType<typeof baseColumnValidationSchema>
>({
defaultValues: columnValues,
reValidateMode: 'onSubmit',
resolver: yupResolver(baseColumnValidationSchema),
});
async function handleSubmit(values: BaseColumnFormValues) {
try {
await updateColumn({
originalColumn:
convertDataBrowserGridColumnToDatabaseColumn(originalColumn),
column: values,
});
if (isNotEmptyValue(values.foreignKeyRelation)) {
await trackForeignKeyRelation({
foreignKeyRelations: [values.foreignKeyRelation],
schema: schemaSlug as string,
table: tableSlug as string,
});
}
if (onSubmit) {
await onSubmit();
}
triggerToast('The column has been updated successfully.');
} catch {
// This error is handled by the useUpdateColumnMutation hook.
}
}
return (
<FormProvider {...form}>
{error && error instanceof Error ? (
<div className="-mt-3 mb-4 px-6">
<Alert
severity="error"
className="grid grid-flow-col items-center justify-between px-4 py-3"
>
<span className="text-left">
<strong>Error:</strong> {error.message}
</span>
<Button
variant="borderless"
color="error"
size="small"
onClick={resetError}
>
Clear
</Button>
</Alert>
</div>
) : null}
<BaseColumnForm
submitButtonText="Save"
onSubmit={handleSubmit}
{...props}
/>
</FormProvider>
);
}

View File

@@ -1,2 +0,0 @@
export * from './EditColumnForm';
export { default as EditColumnForm } from './EditColumnForm';

View File

@@ -133,6 +133,7 @@ export default function EditTableForm({
defaultValue: column.defaultValue,
isNullable: column.isNullable,
isUnique: column.isUnique,
comment: column.comment || '',
})),
primaryKeyIndices,
identityColumnIndex:
@@ -153,7 +154,7 @@ export default function EditTableForm({
async function handleSubmit(values: BaseTableFormValues) {
const primaryKey = values.primaryKeyIndices.map<string>(
(primaryKeys, primaryKeyIndex) => values.columns[primaryKeyIndex].name,
(primaryKeys) => values.columns[primaryKeys].name,
);
try {
const updatedTable: DatabaseTable = {

Some files were not shown because too many files have changed in this diff Show More