diff --git a/.github/workflows/deploy-cloud.yaml b/.github/workflows/deploy-cloud.yaml new file mode 100644 index 0000000000..778029bf03 --- /dev/null +++ b/.github/workflows/deploy-cloud.yaml @@ -0,0 +1,41 @@ +name: Budibase Cloud Deploy + +on: + workflow_dispatch: + inputs: + version: + description: Budibase release version. For example - 1.0.0 + required: false + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Pull values.yaml from budibase-infra + run: | + curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ [c3a7a9d12] + -H 'Accept: application/vnd.github.v3.raw' \ + -o values.production.yaml \ + -L https://api.github.com/repos/budibase/budibase-infra/contents/kubernetes/values.yaml + + - name: Get the latest budibase release version if not specifically set + if: ${{ !github.event.inputs.version }} + id: version + run: | + sudo apt-get install -y jq + release_version=$(cat lerna.json | jq -r '.version') + echo "::set-output name=release_version::$release_version" + + - uses: peymanmortazavi/eks-helm-deploy@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: eu-west-1 + cluster-name: budibase-eks-production + config-files: values.production.yaml + namespace: budibase + values: appVersion=v${{ github.event.inputs.version || github.steps.version.outputs.release_version }} + name: budibase-prod \ No newline at end of file diff --git a/.github/workflows/release-charts.yml b/.github/workflows/release-charts.yml deleted file mode 100644 index 1ad5a54edd..0000000000 --- a/.github/workflows/release-charts.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Budibase Release Helm Charts - -on: - workflow_dispatch: - -jobs: - release: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - uses: actions/setup-node@v1 - with: - node-version: 14.x - - run: yarn - - run: yarn bootstrap - - - name: 'Get Previous tag' - id: previoustag - uses: "WyriHaximus/github-action-get-previous-tag@v1" - - - name: Install Helm - uses: azure/setup-helm@v1 - with: - version: v3.4.0 - - # - run: yarn release:helm - # env: - # BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }} - - - name: Configure Git - run: | - git config user.name "Budibase Helm Bot" - git config user.email "<>" - - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1.2.1 - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/release-selfhost.yml b/.github/workflows/release-selfhost.yml index 4fc8a98350..933fee947c 100644 --- a/.github/workflows/release-selfhost.yml +++ b/.github/workflows/release-selfhost.yml @@ -1,45 +1,60 @@ -name: Budibase Release Docker Selfhost +name: Budibase Release Selfhost on: workflow_dispatch: -env: - POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }} - INTERCOM_TOKEN: ${{ secrets.INTERCOM_TOKEN }} - POSTHOG_URL: ${{ secrets.POSTHOG_URL }} - jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - uses: actions/setup-node@v1 - with: - node-version: 14.x - - run: yarn - - run: yarn bootstrap - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: eu-west-1 - - - name: 'Get Previous tag' - id: previoustag - uses: "WyriHaximus/github-action-get-previous-tag@v1" - - - name: Build/release Docker images (Self Host) + - name: Tag and release Docker images (Self Host) run: | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - yarn build - yarn build:docker:selfhost + + # Get latest release version + sudo apt-get install -y jq + release_version=$(cat lerna.json | jq -r '.version') + echo "::set-output name=release_version::$release_version" + release_tag=v$release_version + + # Pull apps and worker images + docker pull budibase/apps:$release_tag + docker pull budibase/worker:$release_tag + + # Tag apps and worker images + docker tag budibase/apps:$release_tag $SELF_HOST_TAG + docker tag budibase/worker:$release_tag $SELF_HOST_TAG + + # Push images + docker push --all-tags budibase/apps + docker push --all-tags budibase/worker env: DOCKER_USER: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }} - BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }} - \ No newline at end of file + SELF_HOST_TAG: latest + + - name: Setup Helm + uses: azure/setup-helm@v1 + id: helm-install + + # - name: Build and release helm chart + # run: | + # git config user.name "Budibase Helm Bot" + # git config user.email "<>" + # helm package charts/budibase + # git checkout gh-pages + # mv budibase-${{ github.steps.version.outputs.release_version }}.tgz docs + # git add -A + # git commit -m "Helm Release: ${{ github.steps.version.outputs.release_version }}" + # git push + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # - name: Perform github release + # run: | + # echo release + # env: + # GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d4142f7ac9..8768a01c78 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,4 +57,25 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }} BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }} - # Release to pre-prod environment \ No newline at end of file + # - name: Pull values.yaml from budibase-infra + # run: | + # curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ [c3a7a9d12] + # -H 'Accept: application/vnd.github.v3.raw' \ + # -o values.preprod.yaml \ + # -L https://api.github.com/repos/budibase/budibase-infra/contents/kubernetes/values.preprod.yaml + + # - name: Deploy to Preprod Environment + # uses: deliverybot/helm@v1 + # with: + # release: budibase-preprod + # namespace: budibase + # chart: charts/budibase + # token: ${{ github.token }} + # values: | + # appVersion: ${{ steps.previoustag.outputs.tag }} + # value-files: >- + # [ + # "values.preprod.yaml" + # ] + # env: + # KUBECONFIG_FILE: '${{ secrets.PREPROD_KUBECONFIG }}' diff --git a/lerna.json b/lerna.json index 09d7a43df9..2d5e3c1efd 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.22", + "version": "1.0.23", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 74897f1b2b..7d360ce9fb 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "1.0.22", + "version": "1.0.23", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index d86371c554..c017bd8de5 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.22", + "version": "1.0.23", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/bbui/src/Layout/Layout.svelte b/packages/bbui/src/Layout/Layout.svelte index af60675582..0dcb1f46ee 100644 --- a/packages/bbui/src/Layout/Layout.svelte +++ b/packages/bbui/src/Layout/Layout.svelte @@ -63,6 +63,9 @@ .gap-L { grid-gap: var(--spectrum-alias-grid-gutter-medium); } + .gap-XL { + grid-gap: var(--spectrum-alias-grid-gutter-large); + } .horizontal.gap-S :global(*) + :global(*) { margin-left: var(--spectrum-alias-grid-gutter-xsmall); } diff --git a/packages/bbui/src/Typography/Detail.svelte b/packages/bbui/src/Typography/Detail.svelte index 7cbafdadef..bb5c78c11e 100644 --- a/packages/bbui/src/Typography/Detail.svelte +++ b/packages/bbui/src/Typography/Detail.svelte @@ -13,3 +13,9 @@ >

+ + diff --git a/packages/builder/package.json b/packages/builder/package.json index 85e43edaaf..b8b329a85a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.22", + "version": "1.0.23", "license": "GPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.22", - "@budibase/client": "^1.0.22", + "@budibase/bbui": "^1.0.23", + "@budibase/client": "^1.0.23", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.22", + "@budibase/string-templates": "^1.0.23", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/builder/src/components/start/AppRow.svelte b/packages/builder/src/components/start/AppRow.svelte index 7466d3717d..bda7356a88 100644 --- a/packages/builder/src/components/start/AppRow.svelte +++ b/packages/builder/src/components/start/AppRow.svelte @@ -63,12 +63,13 @@
+ Open + {#if app.deployed} @@ -91,7 +92,7 @@ updateApp(app)} icon="Edit">Edit deleteApp(app)} icon="Delete">Delete {/if} - editIcon(app)} icon="Brush">Edit Icon + editIcon(app)} icon="Brush">Edit icon
diff --git a/packages/builder/src/components/start/ChooseIconModal.svelte b/packages/builder/src/components/start/ChooseIconModal.svelte index c3050f8b6c..4efb679a51 100644 --- a/packages/builder/src/components/start/ChooseIconModal.svelte +++ b/packages/builder/src/components/start/ChooseIconModal.svelte @@ -4,10 +4,11 @@ export let app let modal - $: selectedIcon = app?.icon?.name + $: selectedIcon = app?.icon?.name || "Apps" $: selectedColor = app?.icon?.color let iconsList = [ + "Apps", "Actions", "ConversionFunnel", "App", @@ -31,7 +32,6 @@ "GraphDonut", "GraphBarHorizontal", "Demographic", - "Apps", ] export const show = () => { modal.show() @@ -68,13 +68,13 @@ >
- +
{#each iconsList as item}
(selectedIcon = item)} > @@ -84,7 +84,7 @@
- +
diff --git a/packages/builder/src/pages/builder/portal/apps/index.svelte b/packages/builder/src/pages/builder/portal/apps/index.svelte index bcdcd96486..336489be8d 100644 --- a/packages/builder/src/pages/builder/portal/apps/index.svelte +++ b/packages/builder/src/pages/builder/portal/apps/index.svelte @@ -4,7 +4,6 @@ Layout, Detail, Button, - ButtonGroup, Input, Select, Modal, @@ -43,6 +42,7 @@ let cloud = $admin.cloud let appName = "" let creatingFromTemplate = false + $: enrichedApps = enrichApps($apps, $auth.user, sortBy) $: filteredApps = enrichedApps.filter(app => app?.name?.toLowerCase().includes(searchTerm.toLowerCase()) @@ -280,99 +280,104 @@ - +
- Welcome to Budibase + + Welcome to Budibase + + Manage your apps and get a head start with templates + + - +
{#if cloud} - + {/if} - - - + + +
-
- Manage your apps and get a head start with templates -
- Quick Start Templates -
- {#each $templates as item} -
{ - template = item - creationModal.show() - creatingApp = true - }} - class="template-card" - > -
-
- - - -
-
- {item.name} -
- {item.category.toUpperCase()} + + Quick start templates +
+ {#each $templates as item} +
{ + template = item + creationModal.show() + creatingApp = true + }} + class="template-card" + > +
+
+ + + +
+
+ {item.name} +
+ {item.category.toUpperCase()} +
-
- {/each} -
- {#if loaded && enrichedApps.length} -
- My Apps -
-
-
- + +
+
+ +
+ {#each filteredApps as app (app.appId)} + + {/each} +
+ {/if} + {#if !enrichedApps.length && !creatingApp && loaded}
@@ -380,6 +385,7 @@
{/if} + {#if creatingFromTemplate}

Creating your Budibase app from your selected template...

@@ -427,68 +433,61 @@ diff --git a/packages/cli/package.json b/packages/cli/package.json index de319745a1..a4d619ac2c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.22", + "version": "1.0.23", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 2f40808ae0..9b78f34089 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.22", + "version": "1.0.23", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.22", + "@budibase/bbui": "^1.0.23", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.22", + "@budibase/string-templates": "^1.0.23", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 97ab577241..68b464d452 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.22", + "version": "1.0.23", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -69,10 +69,9 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/auth": "^1.0.22", - "@budibase/client": "^1.0.22", - "@budibase/string-templates": "^1.0.22", + "@budibase/auth": "^1.0.23", + "@budibase/client": "^1.0.23", + "@budibase/string-templates": "^1.0.23", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 005d6304fe..7816c22830 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.22", + "version": "1.0.23", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index f1e09ebf60..86b4841af5 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.22", + "version": "1.0.23", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/auth": "^1.0.22", - "@budibase/string-templates": "^1.0.22", + "@budibase/auth": "^1.0.23", + "@budibase/string-templates": "^1.0.23", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0",