diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 3a82761892..32c339ce66 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,11 +9,22 @@ assignees: '' **Please enter the following details** -Copy and paste project info : [Youtube Video](https://www.youtube.com/watch?v=AUSNN-RCwhE) - -or - -please provide the following details : +Copy and Paste Project Info - Tutorials: How to check my Project info? ([YouTube Tutorial](https://www.youtube.com/watch?v=AUSNN-RCwhE) or [Documentation](https://docs.nocodb.com/FAQs#how-to-check-my-project-info-)) + +``` +Node: **v16.14.0** +Arch: **arm64** +Platform: **darwin** +Docker: **false** +Database: **mysql2** +ProjectOnRootDB: **false** +RootDB: **mysql2** +PackageVersion: **0.90.5** +``` + +or provide the following info + +``` NocoDB used as docker : true / false NocoDB version : Database used in NC_DB URL : mysql | pg | mssql | sqlite3 / (defaults to sqlite3 if empty) @@ -22,23 +33,20 @@ Database on which spreadsheet is created : mysql | pg | mssql | sqlite3 / (defau OS on which NocoDB is running : Node.js version if running as node : Database version : +``` **Steps To Reproduce** + 1. Go to '...' 2. Click on '....' 3. See error -**Expected behavior** +**Expected Behavior** + A clear and concise description of what you expected to happen. **Screenshots** -If applicable, add screenshots to help explain your problem. -Join our discord : https://discord.gg/5RgZmkW for realtime help. +If applicable, add screenshots to help explain your problem. -Node version : **v12.22.1** -Arch type: **x64** -Platform: **linux** -Docker: **true** -Database: **sqlite3** -packageVersion: **0.9.27** +Join our discord : https://discord.gg/5RgZmkW for realtime help. \ No newline at end of file diff --git a/.github/workflows/pr-to-master.yml b/.github/workflows/pr-to-master.yml new file mode 100644 index 0000000000..5519b34951 --- /dev/null +++ b/.github/workflows/pr-to-master.yml @@ -0,0 +1,62 @@ +name: 'PR to master branch from develop' + +on: + # Triggered manually + workflow_dispatch: + inputs: + tag: + description: "Tag" + required: true + targetEnv: + description: "Target Environment" + required: true + type: choice + options: + - DEV + - PROD + # Triggered by release-nocodb.yml + workflow_call: + inputs: + tag: + description: "Tag" + required: true + type: string + targetEnv: + description: "Target Environment" + required: true + type: string + +jobs: + pr-to-master: + runs-on: ubuntu-latest + steps: + - run: | + echo 'triggering pr-to-master' + - name: Checkout + uses: actions/checkout@v2 + with: + ref: develop + + - name: Create Pull Request + if: ${{ github.event.inputs.targetEnv == 'PROD' || inputs.targetEnv == 'PROD' }} + id: cpr + uses: repo-sync/pull-request@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + source_branch: "develop" + destination_branch: "master" + pr_title: '${{ github.event.inputs.tag || inputs.tag }} Pre-release' + pr_label: 'Bot: Automated PR,Bot: Automerge' + - name: Check outputs + if: ${{ github.event.inputs.targetEnv == 'PROD' || inputs.targetEnv == 'PROD' }} + run: | + echo "Pull Request Number - ${{ steps.cpr.outputs.pr_number }}" + echo "Pull Request URL - ${{ steps.cpr.outputs.pr_url }}" + - name: automerge + if: ${{ github.event.inputs.targetEnv == 'PROD' || inputs.targetEnv == 'PROD' }} + uses: "pascalgn/automerge-action@v0.14.3" + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + PULL_REQUEST: "${{ steps.cpr.outputs.pr_number }}" + MERGE_LABELS: "Bot: Automerge" \ No newline at end of file diff --git a/.github/workflows/release-nocodb.yml b/.github/workflows/release-nocodb.yml index fa25dc65bb..927caaf8d9 100644 --- a/.github/workflows/release-nocodb.yml +++ b/.github/workflows/release-nocodb.yml @@ -6,48 +6,99 @@ on: inputs: tag: description: "Target Tag" - required: true + required: false prev_tag: description: "Previous Tag" - required: true + required: false jobs: + # Validate Branch + validate-branch: + runs-on: ubuntu-latest + steps: + - run: | + if [[ ${{ github.ref }} != 'refs/heads/master' ]]; then + echo "NocoDB Release is only allowed to run on master branch" + exit 1 + fi + + # Process Input + process-input: + runs-on: ubuntu-latest + needs: validate-branch + outputs: + target_tag: ${{ steps.process-input.outputs.target_tag }} + prev_tag: ${{ steps.process-input.outputs.prev_tag }} + steps: + - id: process-input + name: process-input + run: | + TARGET_TAG=${{github.event.inputs.tag}} + PREV_TAG=${{github.event.inputs.prev_tag}} + + if [[ ${PREV_TAG} == '' ]]; then + # fetch the latest version + PREV_TAG=$(basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/nocodb/nocodb/releases/latest)) + fi + + if [[ ${TARGET_TAG} == '' ]]; then + # bump the version from PREV_TAG + TARGET_TAG=$(echo ${PREV_TAG} | awk -F. -v OFS=. '{$NF += 1 ; print}') + fi + + echo target version: ${TARGET_TAG} + echo previous version: ${PREV_TAG} + echo "::set-output name=target_tag::${TARGET_TAG}" + echo "::set-output name=prev_tag::${PREV_TAG}" + - name: Verify + run : | + echo ${{ steps.process-input.outputs.target_tag }} + + # Merge develop to master + pr-to-master: + needs: process-input + uses: ./.github/workflows/pr-to-master.yml + with: + tag: ${{ needs.process-input.outputs.target_tag }} + targetEnv: ${{ github.event.inputs.targetEnv || 'PROD' }} + # Close all issues with target tags 'Fixed' & 'Resolved' close-fixed-issues: + needs: [pr-to-master, process-input] uses: ./.github/workflows/release-close-issue.yml with: issue_label: 'Status: Fixed' - version: ${{ github.event.inputs.tag }} + version: ${{ needs.process-input.outputs.target_tag }} close-resolved-issues: - needs: close-fixed-issues + needs: [close-fixed-issues, process-input] uses: ./.github/workflows/release-close-issue.yml with: issue_label: 'Status: Resolved' - version: ${{ github.event.inputs.tag }} + version: ${{ needs.process-input.outputs.target_tag }} # Build, install, publish frontend and backend to npm release-npm: - needs: close-resolved-issues + needs: [close-resolved-issues, process-input] uses: ./.github/workflows/release-npm.yml with: - tag: ${{ github.event.inputs.tag }} + tag: ${{ needs.process-input.outputs.target_tag }} targetEnv: ${{ github.event.inputs.targetEnv || 'PROD' }} secrets: NPM_TOKEN: "${{ secrets.NPM_TOKEN }}" # Draft Release Note release-draft-note: - needs: release-npm + needs: [release-npm, process-input] uses: ./.github/workflows/release-draft.yml with: - tag: ${{ github.event.inputs.tag }} - prev_tag: ${{ github.event.inputs.prev_tag }} + tag: ${{ needs.process-input.outputs.target_tag }} + prev_tag: ${{ needs.process-input.outputs.prev_tag }} # Build docker image and push to docker hub release-docker: - needs: release-draft-note + needs: [release-draft-note, process-input] uses: ./.github/workflows/release-docker.yml with: - tag: ${{ github.event.inputs.tag }} + tag: ${{ needs.process-input.outputs.target_tag }} targetEnv: ${{ github.event.inputs.targetEnv || 'PROD' }} secrets: DOCKERHUB_USERNAME: "${{ secrets.DOCKERHUB_USERNAME }}" diff --git a/package.json b/package.json index 7783eef1cf..b22e825a96 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ }, "scripts": { "build:common": "cd ./packages/nocodb-sdk; npm install; npm run build", + "install:common": "cd ./packages/nocodb; npm install ../nocodb-sdk; cd ../nc-gui; npm install ../nocodb-sdk", "start:api": "cd ./packages/nocodb; npm install; NC_DISABLE_CACHE=true NC_DISABLE_TELE=true npm run watch:run:cypress", "start:xcdb-api": "cd ./packages/nocodb; npm install; NC_DISABLE_CACHE=true NC_DISABLE_TELE=true NC_INFLECTION=camelize DATABASE_URL=sqlite:../../../scripts/cypress/fixtures/sqlite-sakila/sakila.db npm run watch:run:cypress", "start:api:cache": "cd ./packages/nocodb; npm install; NC_DISABLE_TELE=true npm run watch:run:cypress", diff --git a/packages/nc-gui/components/ProjectTreeView.vue b/packages/nc-gui/components/ProjectTreeView.vue index f77494d607..7da30e6573 100644 --- a/packages/nc-gui/components/ProjectTreeView.vue +++ b/packages/nc-gui/components/ProjectTreeView.vue @@ -17,7 +17,7 @@ > {{ $store.getters["project/GtrProjectName"] }} - + - {{ $t("objects.tables") + {{ + $t("objects.tables") }} + item.children.filter( + (child) => + !search || + child.name + .toLowerCase() + .includes(search.toLowerCase()) + ).length + }}) - {{ $t("objects.tables") + {{ + $t("objects.tables") }} + item.children.filter( + (child) => + !search || + child.name + .toLowerCase() + .includes(search.toLowerCase()) + ).length + }}) {{ item.name }} - + @@ -340,13 +342,13 @@ {{ - child.creator_tooltip - }} + child.creator_tooltip + }} {{ child.name }} @@ -609,8 +611,8 @@ {{ - $t("title.audit") - }} + $t("title.audit") + }} @@ -619,14 +621,14 @@ - + {{ - $t("activity.previewAs") - }} + $t("activity.previewAs") + }} mdi-drama-masks @@ -668,18 +670,31 @@ {{ - $t("activity.resetReview") - }} + $t("activity.resetReview") + }} -