From 734a7528c638df3476c8385f3c5e813181257e2f Mon Sep 17 00:00:00 2001 From: Kasper Seweryn Date: Thu, 23 Jun 2022 17:21:06 +0000 Subject: [PATCH] Add Gitpod support and guide --- .gitpod.yml | 52 +++++++++++++++ .vscode/settings.json | 3 + CONTRIBUTING.rst | 60 +++++++++++++++++- changes/changelog.d/1831.feature | 1 + docker/nginx/conf.dev | 6 -- .../images/select-gitpod-in-gitlab.png | Bin 0 -> 89061 bytes front/vite.config.js | 30 +++++---- 7 files changed, 134 insertions(+), 18 deletions(-) create mode 100644 .gitpod.yml create mode 100644 .vscode/settings.json create mode 100644 changes/changelog.d/1831.feature create mode 100644 docs/_static/images/select-gitpod-in-gitlab.png diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..a4587f3ab --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,52 @@ +tasks: + - name: Funkwhale + env: + COMPOSE_FILE: dev.yml + init: | + cd front + yarn install + cd .. + echo "# Gitpod Environment Variables" > .env + echo "MEDIA_URL=http://localhost:8000/media/" >> .env + echo "STATIC_URL=http://localhost:8000/staticfiles/" >> .env + echo "GITPOD_WORKSPACE_URL=$GITPOD_WORKSPACE_URL" >> .env + echo "HMR_PORT=8000" >> .env + docker network create federation + docker-compose pull + docker-compose build + docker-compose up -d postgres redis + sleep 10 # allow postgres and redis to initialize + docker-compose run --rm api python manage.py migrate + docker-compose run --rm api python manage.py createsuperuser --no-input --username gitpod --email gitpod@example.com + echo "from django.contrib.auth import get_user_model;u=get_user_model().objects.get(username='gitpod');u.set_password('gitpod');u.save()" | docker-compose run --rm -T api python manage.py shell -i python + echo "from funkwhale_api.music import fake_data; fake_data.create_data(25)" | docker-compose run --rm -T api python manage.py shell -i python + docker-compose run --rm front yarn run i18n-compile + command: docker-compose up nginx + + - name: Welcome to Funkwhale development! + command: | + clear + echo "You can now start developing Funkwhale with gitpod!" + echo "" + echo "To sign in to the superuser account, please this credentials:" + echo "gitpod:gitpod" + +ports: + - port: 8000 + visibility: public + onOpen: notify + + - port: 4000 + visibility: public + onOpen: open-preview + +vscode: + extensions: + - antfu.vite + - lukashass.volar + - lextudio.restructuredtext + - trond-snekvik.simple-rst + - ms-python.python + - ms-toolsai.jupyter + - ms-toolsai.jupyter-keymap + - ms-toolsai.jupyter-renderers diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..a7d0fc7b7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "esbonio.sphinx.confDir": "" +} \ No newline at end of file diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index d4c62b93e..b2f68bb64 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -12,6 +12,64 @@ This document will guide you through common operations such as: - Writing unit tests to validate your work - Submit your work +The quickest way to contribute to the project is through Gitpod! +---------------------------------------------------------------- + +.. image:: https://gitpod.io/button/open-in-gitpod.svg + :alt: Open in Gitpod + :target: https://gitpod.io/#https://dev.funkwhale.audio/funkwhale/funkwhale + +When you click the button above, you will be redirected to the gitpod.io site. Here you +can sign in with your Gitlab or GitHub account and a new workspace will be automatically +created for you. + +The workspace will checkout current ``development`` branch and run a Funkwhale instance +with both frontend and backend started so you can jump straight into development. + +The provided backend instance has a default admin user ``gitpod`` authenticated with +password ``gitpod``. + +In case you want to develop only frontend, you can go to ``File > Open Folder`` and navigate to +``/workspace/funkwhale/front``. This will start a new vite server on port 4000. This server +integrates well with the extension provided by Gitpod but is disconnected from any instance by default. + +Usage with Gitlab +^^^^^^^^^^^^^^^^^ + +We understand that having to go to the contribution guide and clicking the ``Open in Gitpod`` +is not an optimal way to create new branches or test existing ones. That's why we've enabled the +Gitpod integration on our Gitlab server. + +You can now simply choose to use Gitpod instead of Gitlab Web IDE on any of branch, commit or merge request: + +.. image:: ./docs/_static/images/select-gitpod-in-gitlab.png + :alt: Select Gitpod as the default Web IDE. + +Gitlab Workflow extension +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Gitpod offers a `Gitlab Workflow` extension that can help with managing Gitlab issues, +merge requests and pipelines. To use it you need to create a personal access token with +``api`` and ``read_user`` scopes. You can create it by visiting `your Gitlab profile settings `_. + +Setting the token through the extension is not an optimal approach as you'd need to do this +every single time you start a new workspace. However you can work around this by creating +user environment variables in `your Gitpod settings `_. + +When you configure your environment variables as follows, you will be signed in to the extension +automatically in old and new workspaces. + ++----------------------------------+---------------------------------+-----------------+ +| Name | Value | Scope | ++==================================+=================================+=================+ +| ``GITLAB_WORKFLOW_INSTANCE_URL`` | ``https://dev.funkwhale.audio`` | ``funkwhale/*`` | ++----------------------------------+---------------------------------+-----------------+ +| ``GITLAB_WORKFLOW_TOKEN`` | ``TOKEN`` | ``funkwhale/*`` | ++----------------------------------+---------------------------------+-----------------+ + +The scope ``funkwhale/*`` will ensure that you will be signed into our instance on every +project that we're hosting, not only Funkwhale itself. + A quick path to contribute on the front-end ------------------------------------------- @@ -185,7 +243,7 @@ Injecting fake data is done by running the following script:: artists=25 command="from funkwhale_api.music import fake_data; fake_data.create_data($artists)" - echo $command | docker-compose -f dev.yml run --rm api python manage.py shell -i python + echo $command | docker-compose -f dev.yml run --rm -T api python manage.py shell -i python The previous command will create 25 artists with random albums, tracks and metadata. diff --git a/changes/changelog.d/1831.feature b/changes/changelog.d/1831.feature new file mode 100644 index 000000000..ed6dd552c --- /dev/null +++ b/changes/changelog.d/1831.feature @@ -0,0 +1 @@ +Add Gitpod configuration and guide \ No newline at end of file diff --git a/docker/nginx/conf.dev b/docker/nginx/conf.dev index 11c0b1307..6d27ed4a1 100644 --- a/docker/nginx/conf.dev +++ b/docker/nginx/conf.dev @@ -88,12 +88,6 @@ http { add_header X-Frame-Options "" always; proxy_pass http://funkwhale-front/front/embed.html; } - location /front-server/ { - proxy_pass http://funkwhale-front/; - } - location /sockjs-node/ { - proxy_pass http://funkwhale-front/sockjs-node/; - } location / { include /etc/nginx/funkwhale_proxy.conf; diff --git a/docs/_static/images/select-gitpod-in-gitlab.png b/docs/_static/images/select-gitpod-in-gitlab.png new file mode 100644 index 0000000000000000000000000000000000000000..6f52e3c3c7ed84ab00f7ef0ec4ebbc7efcdea51e GIT binary patch literal 89061 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 LNkvXXu0mjfT*;B| literal 0 HcmV?d00001 diff --git a/front/vite.config.js b/front/vite.config.js index 59fa8f7a6..5fc11249a 100644 --- a/front/vite.config.js +++ b/front/vite.config.js @@ -1,10 +1,24 @@ // vite.config.js import { defineConfig } from 'vite' -import { createVuePlugin as vue } from "vite-plugin-vue2"; +import { createVuePlugin as vue } from 'vite-plugin-vue2' import path from 'path' +const port = process.env.VUE_PORT ?? 8080 + +const hmr = { + port: process.env.HMR_PORT || (process.env.FUNKWHALE_PROTOCOL === 'https' ? 443 : port), + protocol: process.env.HMR_PROTOCOL || (process.env.FUNKWHALE_PROTOCOL === 'https' ? 'wss' : 'ws') +} + +if (process.env.GITPOD_WORKSPACE_URL) { + hmr.host = process.env.GITPOD_WORKSPACE_URL.replace('https://', `${process.env.HMR_PORT ?? process.env.VUE_PORT ?? 4000}-`) + hmr.clientPort = 443 + hmr.protocol = 'wss' + delete hmr.port +} + // https://vitejs.dev/config/ export default defineConfig({ plugins: [ @@ -16,19 +30,13 @@ export default defineConfig({ return `import jQuery from 'jquery';${src}` } } - }, - ], - server: { - port: process.env.VUE_PORT || '8080', - hmr: { - port: process.env.FUNKWHALE_PROTOCOL === 'https' ? 443 : 8000, - protocol: process.env.FUNKWHALE_PROTOCOL === 'https' ? 'wss' : 'ws', } - }, + ], + server: { port, hmr }, resolve: { alias: { - "@": path.resolve(__dirname, "./src"), - }, + '@': path.resolve(__dirname, './src') + } }, build: { rollupOptions: {