1 Commits

Author SHA1 Message Date
argoyle 79e7bb3474 ci: add KUBECONFIG_CONTENT secret to deploy job
dancefinder-app / build (pull_request) Failing after 4m8s
dancefinder-app / deploy-prod (pull_request) Has been skipped
2026-01-07 17:11:34 +01:00
15 changed files with 6381 additions and 5649 deletions
+3 -2
View File
@@ -13,7 +13,7 @@ jobs:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
GITEA_REPOSITORY: ${{ gitea.repository }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: buildtool/setup-buildtools-action@v1
- name: Build and push
run: unset GITEA_TOKEN && build && push
@@ -25,9 +25,10 @@ jobs:
env:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
GITEA_REPOSITORY: ${{ gitea.repository }}
KUBECONFIG_CONTENT: ${{ secrets.KUBECONFIG_CONTENT }}
environment: prod
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: buildtool/setup-buildtools-action@v1
- name: Deploy
run: deploy prod
+27
View File
@@ -0,0 +1,27 @@
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- project: unboundsoftware/ci-templates
file: Defaults.gitlab-ci.yml
stages:
- build
- deploy
image: buildtool/build-tools:${BUILDTOOLS_VERSION}
build:
stage: build
script:
- build
- push
deploy-to-prod:
stage: deploy
when: on_success
script:
- echo Deploy to PROD.
- deploy prod
environment:
name: prod
only:
- main
+1 -1
View File
@@ -12,7 +12,7 @@ COPY . /build
RUN npm run postinstall && npm run generate && npm run lint
#RUN yarn start:ci & yarn wait && yarn test:cypress
FROM amd64/nginx:1.29.7@sha256:e024ff0d0692587d16aecca603706b453428f476da24547b3df582ea65f54c8b
FROM amd64/nginx:1.29.4@sha256:1ead684dc0a33ef421caa42403272afeae59c8933edcedda6926d964a44d3f01
MAINTAINER Joakim Olsson <joakim@unbound.se>
COPY --from=builder /build/.output/public/ /usr/share/nginx/html/
+8 -3
View File
@@ -1,7 +1,7 @@
<template>
<v-card flat variant="outlined" rounded="xl">
<v-card-title v-if="event.band">
<h3 class="text-h6 mb-0">
<v-card-title v-if="event.band" primary-title>
<h3 class="headline mb-0">
<v-icon
v-if="hasUser"
class="ml-1 mr-1 text-medium-emphasis"
@@ -17,6 +17,7 @@
<v-row dense>
<v-col
cols="12"
xs="12"
sm="6"
>
<strong class="mr-1" v-text="t('events.date')" />{{
@@ -24,7 +25,7 @@
}}
({{ weekday }} {{ daysUntil }})
</v-col>
<v-col v-if="event.time" cols="12" sm="6">
<v-col v-if="event.time" cols="12" xs="12" sm="6">
<strong class="mr-1" v-text="t('events.time')" />{{
event.time
}}
@@ -33,6 +34,7 @@
<v-row v-if="event.danceHall" dense>
<v-col
cols="12"
xs="12"
sm="6"
>
<strong class="mr-1" v-text="t('events.hall')" />
@@ -48,6 +50,7 @@
</v-col>
<v-col
cols="12"
xs="12"
sm="6"
>
<strong class="mr-1" v-text="t('events.city')" />
@@ -63,6 +66,7 @@
</v-col>
<v-col
cols="12"
xs="12"
sm="6"
>
<strong class="mr-1" v-text="t('events.municipality')" />
@@ -80,6 +84,7 @@
</v-col>
<v-col
cols="12"
xs="12"
sm="6"
>
<strong class="mr-1" v-text="t('events.state')" />
+2 -2
View File
@@ -1,7 +1,7 @@
<template>
<div>
<v-row v-for="event in events" :key="event.id">
<v-col cols="12">
<v-row v-for="event in events" :key="event.id" wrap>
<v-col xs="12">
<event-card
:event="event"
:has-user="hasUser"
+10 -10
View File
@@ -1,13 +1,13 @@
<template>
<div :key="isAuthenticated ? 'true' : 'false'">
<v-container :key="range" fluid class="app-fade-in">
<v-row v-if="!isAuthenticated">
<v-col cols="12">
<v-container :key="range" fluid grid-list-md class="app-fade-in">
<v-row v-if="!isAuthenticated" wrap>
<v-col xs="12">
<p><b v-text="t('events.login')" /></p>
</v-col>
</v-row>
<v-row>
<v-col cols="12">
<v-row wrap>
<v-col xs="12">
<v-text-field
v-model="origin"
variant="underlined"
@@ -16,7 +16,7 @@
:placeholder="t('origins.geolocation')"
>
<template #append>
<v-tooltip location="top">
<v-tooltip top>
<template #activator="{ props }">
<v-icon
icon='mdi-crosshairs-gps'
@@ -28,7 +28,7 @@
</v-tooltip>
</template>
<template #prepend>
<v-tooltip v-if="isAuthenticated" location="top">
<v-tooltip v-if="isAuthenticated" top>
<template #activator="{ props }">
<v-icon
icon='mdi-bookmark-plus-outline'
@@ -43,7 +43,7 @@
</v-text-field>
</v-col>
</v-row>
<v-row>
<v-row wrap>
<v-col>
<v-btn-toggle
v-if="smAndUp"
@@ -65,12 +65,12 @@
/>
</v-col>
</v-row>
<v-row>
<v-row wrap>
<v-col cols="12" sm="8">
<v-text-field
v-model="state.search"
variant="underlined"
append-icon="mdi-magnify"
append-outer-icon="mdi-magnify"
:label="t('events.filter')"
:placeholder="t('events.filter')"
hide-details
+1 -1
View File
@@ -7,7 +7,7 @@
<v-list-item v-for="item in model" :key="item" :title="item">
<template #prepend>
<v-list-item-action @click="toggleIgnore(type, item)">
<v-tooltip location="top">
<v-tooltip top>
<template #activator="{ props }">
<v-icon icon='mdi-delete-outline' v-bind="props" />
</template>
+6 -6
View File
@@ -1,12 +1,12 @@
<template>
<div :key="isAuthenticated ? 'true' : 'false'">
<v-container fluid class="app-fade-in">
<v-row>
<v-container fluid grid-list-md class="app-fade-in">
<v-row wrap>
<v-col cols="12">
<v-card>
<v-container fluid>
<v-row>
<v-col cols="12" sm="12" md="4" lg="4">
<v-container fluid grid-list-md>
<v-row wrap>
<v-col xs="12" sm="12" md="4" lg="4">
<list
:model="bands || []"
title-key="filters.band"
@@ -14,7 +14,7 @@
:toggle-ignore="toggleIgnore"
/>
</v-col>
<v-col cols="12" sm="12" md="4" lg="4">
<v-col xs="12" sm="12" md="4" lg="4">
<v-row>
<v-col cols="12">
<list
+10 -10
View File
@@ -1,8 +1,8 @@
<template>
<div :key="isAuthenticated ? 'true' : 'false'">
<v-container fluid class="app-fade-in">
<v-row>
<v-col cols="12">
<v-container fluid grid-list-md class="app-fade-in">
<v-layout row wrap>
<v-col xs="12">
<v-text-field
v-model="origin"
variant="underlined"
@@ -10,7 +10,7 @@
:placeholder="t('origins.geolocation')"
>
<template #append>
<v-tooltip location="top">
<v-tooltip top>
<template #activator="{ props }">
<v-icon
icon='mdi-crosshairs-gps'
@@ -22,7 +22,7 @@
</v-tooltip>
</template>
<template #prepend>
<v-tooltip location="top">
<v-tooltip top>
<template #activator="{ props }">
<v-icon
icon='mdi-bookmark-plus-outline'
@@ -36,10 +36,10 @@
</template>
</v-text-field>
</v-col>
</v-row>
<v-row v-for="o in origins" :key="o">
<v-col cols="12">
<v-tooltip location="top">
</v-layout>
<v-layout v-for="o in origins" :key="o" row wrap>
<v-col xs="12">
<v-tooltip top>
<template #activator="{ props }">
<v-icon
icon='mdi-delete-outline'
@@ -51,7 +51,7 @@
</v-tooltip>
<span>{{ o }}</span>
</v-col>
</v-row>
</v-layout>
</v-container>
<v-snackbar
v-model="snackbar.active"
+3 -3
View File
@@ -1,7 +1,7 @@
<template>
<v-app :key='locale + isAuthenticated'>
<v-navigation-drawer v-model='nav' temporary>
<v-list density="compact">
<v-navigation-drawer v-model='nav' temporary app>
<v-list dense>
<v-list-item v-if='isAuthenticated && user' :title='user.name' :prepend-avatar='user.picture' />
<v-list-item>
<v-switch v-model='darkMode' color='primary' :label="t('app.darkMode')" hide-details class='ms-1' />
@@ -35,7 +35,7 @@ v-if='isAuthenticated' link :title="t('app.logout')" prepend-icon='mdi-logout'
@click='doLogout' />
</v-list>
</v-navigation-drawer>
<v-app-bar scroll-behavior="hide">
<v-app-bar app scroll-off-screen>
<v-app-bar-nav-icon @click='nav = !nav' />
<v-toolbar-title :title='title' />
<v-spacer />
+1
View File
@@ -52,6 +52,7 @@ spec:
cpu: 10m
memory: 10Mi
limits:
cpu: 300m
memory: 300Mi
-16
View File
@@ -66,22 +66,6 @@ export default defineNuxtConfig({
},
},
},
optimizeDeps: {
include: [
'@vue/devtools-core',
'@vue/devtools-kit',
'@auth0/auth0-vue',
'@apollo/client/core',
'@apollo/client/link/context',
'@apollo/client/link/ws',
'@apollo/client/utilities',
'@opentelemetry/api',
'@vue/apollo-composable',
'@grafana/faro-web-sdk',
'@grafana/faro-web-tracing',
'@opentelemetry/instrumentation-fetch',
],
},
resolve: {
dedupe: ['pinia'],
},
+6277 -5555
View File
File diff suppressed because it is too large Load Diff
+31 -29
View File
@@ -16,46 +16,48 @@
"codegen": "graphql-codegen && eslint graphql/generated/operations.ts --fix"
},
"devDependencies": {
"@commitlint/cli": "20.5.0",
"@commitlint/config-conventional": "20.5.0",
"@graphql-codegen/cli": "6.2.1",
"@commitlint/cli": "20.3.0",
"@commitlint/config-conventional": "20.3.0",
"@graphql-codegen/cli": "6.1.0",
"@graphql-codegen/fragment-matcher": "6.0.0",
"@graphql-codegen/typescript": "5.0.9",
"@graphql-codegen/typescript-operations": "5.0.9",
"@graphql-codegen/typescript-vue-apollo": "5.0.0",
"@nuxt/devtools": "3.2.4",
"@nuxt/eslint": "1.15.2",
"@nuxtjs/i18n": "10.2.4",
"@stylistic/eslint-plugin": "5.10.0",
"@graphql-codegen/typescript": "5.0.7",
"@graphql-codegen/typescript-operations": "5.0.7",
"@graphql-codegen/typescript-vue-apollo": "4.1.2",
"@nuxt/devtools": "3.1.1",
"@nuxt/eslint": "1.12.1",
"@nuxtjs/eslint-module": "4.1.0",
"@nuxtjs/i18n": "10.2.1",
"@stylistic/eslint-plugin": "5.6.1",
"@vue/test-utils": "2.4.6",
"esbuild": "0.28.0",
"eslint": "10.2.0",
"eslint-plugin-simple-import-sort": "13.0.0",
"eslint-plugin-vue": "10.8.0",
"nuxt": "4.4.2",
"postcss-html": "1.8.1",
"sass": "1.99.0",
"stylelint": "17.6.0",
"esbuild": "0.27.2",
"eslint": "9.39.2",
"eslint-plugin-nuxt": "4.0.0",
"eslint-plugin-simple-import-sort": "12.1.1",
"eslint-plugin-vue": "10.6.2",
"nuxt": "4.2.2",
"postcss-html": "1.8.0",
"sass": "1.97.1",
"stylelint": "16.26.1",
"stylelint-config-recommended-vue": "1.6.1",
"stylelint-config-standard": "40.0.0",
"typescript": "6.0.2",
"typescript-eslint": "8.58.0",
"vite-plugin-vuetify": "2.1.3",
"vue": "3.5.32",
"vue-eslint-parser": "10.4.0",
"stylelint-config-standard": "39.0.1",
"typescript": "5.9.3",
"typescript-eslint": "8.51.0",
"vite-plugin-vuetify": "2.1.2",
"vue": "3.5.26",
"vue-eslint-parser": "10.2.0",
"vue-router": "4.6.4",
"vuetify": "4.0.5"
"vuetify": "3.11.6"
},
"dependencies": {
"@apollo/client": "3.14.1",
"@apollo/client": "3.14.0",
"@auth0/auth0-vue": "2.5.0",
"@grafana/faro-web-sdk": "2.3.1",
"@grafana/faro-web-tracing": "2.3.1",
"@grafana/faro-web-sdk": "2.1.0",
"@grafana/faro-web-tracing": "2.1.0",
"@mdi/font": "7.4.47",
"@pinia/nuxt": "0.11.3",
"@vue/apollo-composable": "4.2.2",
"date-fns": "4.1.0",
"graphql": "16.13.2",
"graphql": "16.12.0",
"graphql-tag": "2.12.6",
"pinia": "3.0.4",
"pinia-plugin-persistedstate": "4.7.1",
+1 -11
View File
@@ -9,16 +9,6 @@
"matchPackageNames": [
"@grafana/faro-**"
]
},
{
"groupName": "stylelint",
"matchPackageNames": [
"stylelint",
"stylelint-config-standard"
]
}
],
"constraints": {
"node": ">=24"
}
]
}