Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
74df3cb
chore: migrate to official storybook nuxt module
tobiasdiez Sep 29, 2023
f7cc0d4
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Oct 3, 2023
5909dbb
upgrade @storybook-vue/nuxt
tobiasdiez Oct 3, 2023
b8dbc53
update @storybook-vue/nuxt
tobiasdiez Oct 3, 2023
a82e2c5
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Apr 9, 2024
f93fc2f
fix merge mistake
tobiasdiez Apr 9, 2024
cbe8a9b
update lock file
tobiasdiez Apr 9, 2024
2899ec0
install dependencies
tobiasdiez Apr 9, 2024
37a47f2
update main config
tobiasdiez Apr 9, 2024
e3c4ca7
add storybook dependency
tobiasdiez Apr 9, 2024
2483a6e
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Jul 13, 2024
2a1e4be
update storybook module
tobiasdiez Jul 13, 2024
64b5847
chore: remove external-iframe
tobiasdiez Jul 13, 2024
1ea7ea8
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 11, 2024
c6c6f91
use nightly
tobiasdiez Aug 11, 2024
f5102d8
disable vue stories for now
tobiasdiez Aug 11, 2024
e185884
update storybook
tobiasdiez Aug 11, 2024
d1b6a6a
dedupe
tobiasdiez Aug 11, 2024
916d060
update lock file
tobiasdiez Aug 11, 2024
646c746
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 11, 2024
c54d38b
migrate to v8
tobiasdiez Aug 11, 2024
8b5485c
Update Storybook imports to use @storybook-vue/nuxt
tobiasdiez Aug 11, 2024
bbb762a
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 12, 2024
4d5cf6e
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 12, 2024
308a399
add chromatic config
tobiasdiez Aug 12, 2024
e535481
build storybook even if tests fail
tobiasdiez Aug 12, 2024
8012bca
readd runtime compiler
tobiasdiez Aug 12, 2024
4ac2be6
fix storybook build
tobiasdiez Aug 12, 2024
3a0fb07
remove another workaround
tobiasdiez Aug 12, 2024
dd3cfc4
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 12, 2024
3b44aa4
publish storybook always
tobiasdiez Aug 12, 2024
c2cb577
update chromatic
tobiasdiez Aug 12, 2024
d7bc175
remove only changed in chromatic
tobiasdiez Aug 12, 2024
b125f06
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 13, 2024
75d5a08
improve ci
tobiasdiez Aug 13, 2024
0968791
update deps
tobiasdiez Aug 14, 2024
6b6a799
try to fix ts
tobiasdiez Aug 14, 2024
b97d641
fix ts
tobiasdiez Aug 14, 2024
40a7fd4
update vue-addon
tobiasdiez Aug 20, 2024
3e79ca3
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 20, 2024
853423f
remove unnedded nuxt module
tobiasdiez Aug 21, 2024
3739566
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Dec 28, 2024
d2e017b
remove vue runtime compiler configuration from nuxt config
tobiasdiez Dec 28, 2024
931aa38
fix linter
tobiasdiez Dec 28, 2024
75c0fb8
update storybook
tobiasdiez Dec 28, 2024
b13086e
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Jul 16, 2025
1e14945
chore(deps): update @chromatic-com/storybook to version 4.0.1 and rem…
tobiasdiez Jul 16, 2025
8f8d605
Merge remote-tracking branch 'origin/main' into storybook-module
tobiasdiez Aug 3, 2025
3cffa05
Dedupe
tobiasdiez Aug 3, 2025
427e882
fix linter
tobiasdiez Aug 3, 2025
b19fe80
Improve test
tobiasdiez Aug 3, 2025
b8cf790
try not to follow redirect
tobiasdiez Aug 3, 2025
ba8ebf1
Fix status code
tobiasdiez Aug 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/main' into storybook-module
  • Loading branch information
tobiasdiez committed Jul 16, 2025
commit b13086e10c8c2b133777e461898748417719dfb1
4 changes: 2 additions & 2 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: '3.8'
services:
app:
# Use offical typescript-node devcontainer image
image: mcr.microsoft.com/vscode/devcontainers/typescript-node:1-20@sha256:6a200731ff2e66af7d342c8118f989822e81ab98c2ad2e5c180fa308d057e395
image: mcr.microsoft.com/vscode/devcontainers/typescript-node:1-20@sha256:49698b6eae8a476ebfe37652b03a415d66f4e7ea8e1f8253a46b7a7836fe59ef

volumes:
- ..:/workspace:cached
Expand All @@ -20,7 +20,7 @@ services:
# (Adding the "ports" property to this file will not forward from a Codespace.)

db:
image: postgres:latest@sha256:79c927b43c8bf2fc1e78b7f4badb394237ee0001032324ef015da562e57a5dcd
image: postgres:latest@sha256:3962158596daaef3682838cc8eb0e719ad1ce520f88e34596ce8d5de1b6330a1
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
Expand Down
155 changes: 0 additions & 155 deletions .eslintrc.cjs

This file was deleted.

108 changes: 66 additions & 42 deletions .github/scripts/deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
)


def main(environment_name: str, verbose: bool = False):
def main(environment_name: str, verbose: bool = False, secret: bool = False):
logger = logging.getLogger("script")
logger.addHandler(logging.StreamHandler(stream=os.sys.stdout))
if verbose:
logger.setLevel(level=logging.DEBUG)
elif secret:
logger.setLevel(level=5)
else:
logger.setLevel(level=logging.INFO)

Expand Down Expand Up @@ -75,24 +77,72 @@ def main(environment_name: str, verbose: bool = False):
resource_group_name=GROUP_NAME, account_name=STORAGE_ACCOUNT
)
storage_connection_string = f"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName={STORAGE_ACCOUNT};AccountKey={storage_keys.keys[0].value}"
logger.debug(f"Storage connection string: {storage_connection_string}")
logger.log(5, f"Storage connection string: {storage_connection_string}")

# Azure CLI equivalent: az communication list-key
email_connection_string = email_client.communication_services.list_keys(
resource_group_name=GROUP_NAME, communication_service_name="JabRefCommunication"
).primary_connection_string
logger.debug(f"Email connection string: {email_connection_string}")
logger.log(5, f"Email connection string: {email_connection_string}")

appinsights = appinsights_client.components.get(GROUP_NAME, APP_INSIGHTS_NAME)
logger.debug(
f"Application insights instrumentation key: {appinsights.instrumentation_key}"
)
logger.log(5, f"Application insights instrumentation key: {appinsights.instrumentation_key}")
redis = redis_client.redis.get(resource_group_name=GROUP_NAME, name=REDIS_NAME)
logger.debug(f"Redis client: {redis}")
logger.log(5, f"Redis client: {redis}")
redis_keys = redis_client.redis.list_keys(
resource_group_name=GROUP_NAME, name=REDIS_NAME
)
logger.debug(f"Redis keys: {redis_keys}")
logger.log(5, f"Redis keys: {redis_keys}")

# We can even link to a certain slot in an function app
# however, we are currently limited to 2 slots per app, so this doesn't make much sense for PRs
# https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#service-limits
# but maybe for production + staging with swapping this might be handy in the future
# poller_function_app_slot = web_client.web_apps.begin_create_or_update_slot(
# resource_group_name=GROUP_NAME,
# name=function_app_name,
# site_envelope=Site(
# server_farm_id=function_app.server_farm_id,
# location=function_app.location,
# ),
# slot="test",
# )
# function_app_slot = poller_function_app_slot.result()
# print("Created function app slot:\n{}".format(function_app_slot))

# Detach and delete already attached function apps
linked_function_apps = (
web_client.static_sites.get_user_provided_function_apps_for_static_site_build(
resource_group_name=GROUP_NAME,
name=STATIC_SITE,
environment_name=environment_name,
)
)
for app in linked_function_apps:
logger.info(f"Detaching and deleting function app {app.name}")
logger.debug(f"{app}")
try:
web_client.static_sites.detach_user_provided_function_app_from_static_site_build(
resource_group_name=GROUP_NAME,
name=STATIC_SITE,
environment_name=environment_name,
function_app_name=app.name,
)
except Exception as e:
logger.error(f"Failed to detach function app {app.name}: {e}")

# Delete function app if it exists
# This is actually not necessary (and perhaps desired), since we can just update the function app (see below)
# however, when doing this, we sometimes got function apps that were stuck in "deleting" state
# so deleting the function app is a workaround for that azure bug
try:
web_client.web_apps.delete(
resource_group_name=GROUP_NAME,
name=app.name,
)
logger.info(f"Deleted function app: {app.name}")
except Exception as e:
logger.error(f"Failed to delete function app {app.name}: {e}")

poller_function_app = web_client.web_apps.begin_create_or_update(
resource_group_name=GROUP_NAME,
Expand Down Expand Up @@ -151,40 +201,6 @@ def main(environment_name: str, verbose: bool = False):
logger.info(f"Created function app: {function_app.name}")
logger.debug(f"{function_app}")

# We can even link to a certain slot in an function app
# however, we are currently limited to 2 slots per app, so this doesn't make much sense for PRs
# https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#service-limits
# but maybe for production + staging with swapping this might be handy in the future
# poller_function_app_slot = web_client.web_apps.begin_create_or_update_slot(
# resource_group_name=GROUP_NAME,
# name=function_app_name,
# site_envelope=Site(
# server_farm_id=function_app.server_farm_id,
# location=function_app.location,
# ),
# slot="test",
# )
# function_app_slot = poller_function_app_slot.result()
# print("Created function app slot:\n{}".format(function_app_slot))

# Detach already attached function apps
linked_function_apps = (
web_client.static_sites.get_user_provided_function_apps_for_static_site_build(
resource_group_name=GROUP_NAME,
name=STATIC_SITE,
environment_name=environment_name,
)
)
for app in linked_function_apps:
logger.info(f"Detaching function app {app.name}")
logger.debug(f"{app}")
web_client.static_sites.detach_user_provided_function_app_from_static_site_build(
resource_group_name=GROUP_NAME,
name=STATIC_SITE,
environment_name=environment_name,
function_app_name=app.name,
)

# Attach new function app
poller_link = web_client.static_sites.begin_register_user_provided_function_app_with_static_site_build(
resource_group_name=GROUP_NAME,
Expand Down Expand Up @@ -215,6 +231,14 @@ def main(environment_name: str, verbose: bool = False):
"-v",
"--verbose",
help="increase output verbosity",
dest="verbose",
action="store_true",
)
# add secret flag
parser.add_argument(
"--secret",
help="also show sensitive information (e.g. connection strings)",
dest="secret",
action="store_true",
)
args = parser.parse_args()
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4

- name: Setup Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20
cache: 'pnpm'
Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:

services:
postgres:
image: postgres@sha256:79c927b43c8bf2fc1e78b7f4badb394237ee0001032324ef015da562e57a5dcd
image: postgres@sha256:3962158596daaef3682838cc8eb0e719ad1ce520f88e34596ce8d5de1b6330a1
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: jabref
Expand All @@ -68,7 +68,7 @@ jobs:
- 5432:5432

redis:
image: redis@sha256:05f99264e2928ad472f2751b3a8d1f65c9c2cc1819be04548b2261c08e2e026b
image: redis@sha256:b43d2dcbbdb1f9e1582e3a0f37e53bf79038522ccffb56a25858969d7a9b6c11
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
Expand All @@ -91,10 +91,10 @@ jobs:
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4

- name: Setup Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:

- name: Publish and test Storybook
if: always()
uses: chromaui/action@64a9c0ca3bfb724389b0d536e544f56b7b5ff5b3 # v11
uses: chromaui/action@4d8ebd13658d795114f8051e25c28d66f14886c6 # v13
with:
projectToken: 'b3787adf2fa5'
# Don't wait until Chroma verified the build (for this we have the Github check)
Expand All @@ -135,6 +135,6 @@ jobs:
debug: true

- name: Upload coverage to Codecov
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
with:
token: ${{ secrets.CODECOV_TOKEN }}
Loading
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.