diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a7df903b9..95bcd55dff 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: jobs: release: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 @@ -24,10 +24,22 @@ jobs: SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - run: yarn test - # - name: Publish budibase packages to NPM - # env: - # NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - # run: yarn release + - 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: Publish budibase packages to NPM + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: | + # setup the username and email. I tend to use 'GitHub Actions Bot' with no email by default + git config user.name "Budibase Release Bot" + git config user.email "<>" + echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} >> .npmrc + yarn release - name: Build/release Docker images run: | diff --git a/LICENSE b/LICENSE index 9a75fba1f7..a6bd926020 100644 --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,12 @@ -Copyright 2019-2021, Budibase Ltd +Copyright 2019-2021, Budibase Inc. Each Budibase package has its own license: -builder: AGPLv3 +builder: GPLv3 server: GPLv3 client: MPLv2.0 standard-components: MPLv2.0 + +You can consider Budibase to be GPLv3 licensed. + +The apps that you build with Budibase do not fall under GPLv3 - hence why our components and client library are licensed differently. diff --git a/README.md b/README.md index ca7299ff7c..4d87e531e3 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,10 @@
- Budibase is an open-source low-code platform, helping developers and IT professionals build, automate, and ship custom business apps in minutes and on their own infrastructure. + Budibase is an open-source low-code platform, helping developers and IT professionals build, automate, and ship internal tools on their own infrastructure in minutes.
+--- + + ## ⌛ Status - [x] Alpha: We are demoing Budibase to users and receiving feedback - [x] Private Beta: We are testing Budibase with a closed set of customers @@ -96,25 +96,43 @@ Watch "releases" of this repo to get notified of major updates, and give the sta If you are having issues between updates of the builder, please use the guide [here](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md#troubleshooting) to clear down your environment. -## 🏁 Getting Started with Budibase - -The Budibase builder runs in Electron, on Mac, PC and Linux. Follow the steps below to get started: -- [ ] [Sign-up to Budibase](https://portal.budi.live/signup) -- [ ] Create a username and password -- [ ] Copy your API key -- [ ] Download Budibase -- [ ] Open Budibase and enter your API key - -[Here is a guided tutorial](https://docs.budibase.com/tutorial/tutorial-signing-up) if you need extra help. +--- -## 🤖 Self-hosting +## 🏁 Getting Started with Budibase in 5 minutes -Budibase wants to make sure anyone can use the tools we develop and we know a lot of people need to be able to host the apps they make on their own systems - that is why we've decided to try and make self hosting as easy as possible! +To get started, you must have docker and docker compose installed on your machine. +Once you have Docker installed, the process takes 5 minutes, with these four steps: -Currently, you can host your apps using Docker or Digital Ocean. The documentation for self-hosting can be found [here](https://docs.budibase.com/self-hosting/introduction-to-self-hosting). +1. Install the Budibase CLI. -[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?onboarding_origin=marketplace&i=09038e&fleetUuid=bb04f9c8-1de8-4687-b2ae-1d5177a0535b&appId=77729671&type=applications&size=s-4vcpu-8gb®ion=nyc1&refcode=0caaa6085a82&image=budibase-20-04) +``` +$ npm i -g @budibase/cli +``` + + +2. Setup Budibase (select where to store Budibase, and the port to run it on) + +``` +budi hosting --init +``` + + +3. Run Budibase + +``` +budi hosting --start +``` + + +4. Create your admin user + +Enter the email and password for the new admin user. + +Done! You are now ready to build powerful internal tools in minutes. For additional information on how to get started and learn Budibase, visit our [docs](https://docs.budibase.com/getting-started). + + +--- ## 🎓 Learning Budibase @@ -124,6 +142,9 @@ The Budibase [documentation lives here](https://docs.budibase.com). You can also follow a quick tutorial on [how to build a CRM with Budibase](https://docs.budibase.com/tutorial/tutorial-introduction) +--- + + ## Roadmap Checkout our [Public Roadmap](https://github.com/Budibase/budibase/projects/10). If you would like to discuss some of the items on the roadmap, please feel to reach out on [Discord](https://discord.gg/rCYayfe), or via [Github discussions](https://github.com/Budibase/budibase/discussions) @@ -151,10 +172,18 @@ Budibase is a monorepo managed by lerna. Lerna manages the building and publishi For more information, see [CONTRIBUTING.md](https://github.com/Budibase/budibase/blob/HEAD/.github/CONTRIBUTING.md) + +--- + + ## 📝 License Budibase is open-source. The builder is licensed [AGPL v3](https://www.gnu.org/licenses/agpl-3.0.en.html), the server is licensed [GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html), and the client is licensed [MPL](https://directory.fsf.org/wiki/License:MPL-2.0). + +--- + + ## 💬 Get in touch If you have a question or would like to talk with other Budibase users, please hop over to [Github discussions](https://github.com/Budibase/budibase/discussions) or join our Discord server: @@ -164,6 +193,9 @@ If you have a question or would like to talk with other Budibase users, please h ![Discord Shield](https://discordapp.com/api/guilds/733030666647765003/widget.png?style=shield) +--- + + ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): diff --git a/lerna.json b/lerna.json index cc04032307..84762fd054 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.5", + "version": "0.9.18", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/package.json b/package.json index 380407d48d..61c81ecb63 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "initialise": "lerna run initialise", "publishdev": "lerna run publishdev", "publishnpm": "yarn build && lerna publish --force-publish", - "release": "lerna publish --force-publish --yes", + "release": "yarn build && lerna publish patch --yes --force-publish", "restore": "yarn run clean && yarn run bootstrap && yarn run build", "nuke": "yarn run nuke:packages && yarn run nuke:docker", "nuke:packages": "yarn run restore", diff --git a/packages/auth/package.json b/packages/auth/package.json index f97b397ab9..822ed527d5 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.5", + "version": "0.9.18", "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 1f5cefdcf0..feb4887cc7 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": "0.9.5", + "version": "0.9.18", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/bbui/src/ActionButton/ActionButton.svelte b/packages/bbui/src/ActionButton/ActionButton.svelte index 4bb592aa26..83f71d385b 100644 --- a/packages/bbui/src/ActionButton/ActionButton.svelte +++ b/packages/bbui/src/ActionButton/ActionButton.svelte @@ -11,6 +11,7 @@ export let icon = "" export let dataCy = null export let size = "M" + export let active = false function longPress(element) { if (!longPressable) return @@ -40,6 +41,7 @@ class:spectrum-ActionButton--emphasized={emphasized} class:is-selected={selected} class="spectrum-ActionButton spectrum-ActionButton--size{size}" + class:active {disabled} on:longPress on:click|preventDefault @@ -67,3 +69,10 @@