diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index 58b3e54e37..119db88bf5 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -1,3 +1,6 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + name: Feature Request description: Request a new feature or enhancement labels: [T-Enhancement] @@ -5,7 +8,7 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to suggest improvements to the SDK! + Thanks for taking the time to suggest improvements to Realm! - type: textarea id: problem attributes: @@ -20,14 +23,33 @@ body: description: Describe the solution you envision, including API and usage example if possible. validations: required: false + - type: textarea + id: alternative-solution + attributes: + label: Alternatives + description: Describe the alternative solutions or features you have considered + validations: + required: false - type: dropdown id: importance attributes: label: How important is this improvement for you? options: + - -- select -- - Dealbreaker - Would be a major improvement - - I'd like to see it, but have a workaround - - Fairly niche, but nice to have anyway. + - I would like to have it but have a workaround + - Fairly niche but nice to have anyway validations: - required: false + required: true + - type: dropdown + id: sync + attributes: + label: Feature would mainly be used with + options: + - -- select -- + - Local Database only + - Atlas Device Sync + - 'Atlas App Services: Auth or Functions etc' + validations: + required: true diff --git a/.github/advanced-issue-labeler.yml b/.github/advanced-issue-labeler.yml new file mode 100644 index 0000000000..87a2ae04a6 --- /dev/null +++ b/.github/advanced-issue-labeler.yml @@ -0,0 +1,76 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +# syntax - https://github.com/redhat-plumbers-in-action/advanced-issue-labeler#policy +# Below keys map from the option used in issue form dropdowns to issue labels +# Limitation: +# Currently it's not possible to use strings containing ,␣ in the dropdown menus in the issue forms. + +--- + +policy: + - template: [bug.yml, feature.yml] + section: + - id: [frequency] + label: + - name: 'Frequency:Once' + keys: ['Once'] + - name: 'Frequency:Sometimes' + keys: ['Sometimes'] + - name: 'Frequency:Always' + keys: ['Always'] + + - id: [repro] + label: + - name: 'Repro:Always' + keys: ['Always'] + - name: 'Repro:Sometimes' + keys: ['Sometimes'] + - name: 'Repro:No' + keys: ['No'] + + - id: [sync, flavour, services] + block-list: [] + label: + - name: 'SDK-Use:Local' + keys: ['Local Database only'] + - name: 'SDK-Use:Sync' + keys: ['Atlas Device Sync'] + - name: 'SDK-Use:Services' + keys: ['Atlas App Services: Function or GraphQL or DataAPI etc'] + - name: ['SDK-Use:All'] + keys: ['Both Atlas Device Sync and Atlas App Services'] + + - id: [encryption] + block-list: [] + label: + - name: 'Encryption:On' + keys: ['Yes'] + - name: 'Encryption:Off' + keys: ['No'] + + - id: [app-type] + block-list: [] + label: + - name: 'App-type:Unity' + keys: ['Unity'] + - name: 'App-type:Xamarin' + keys: ['Xamarin'] + - name: 'App-type:WPF' + keys: ['WPF'] + - name: 'App-type:Console' + keys: ['Console or Server'] + - name: 'App-type:Other' + keys: ['Other'] + + - id: [importance] + block-list: [] + label: + - name: 'Importance:Dealbraker' + keys: ['Dealbreaker'] + - name: 'Importance:Major' + keys: ['Would be a major improvement'] + - name: 'Importance:Workaround' + keys: ['I would like to have it but have a workaround'] + - name: 'Importance:Nice' + keys: ['Fairly niche but nice to have anyway'] diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml new file mode 100644 index 0000000000..cb3b1df80f --- /dev/null +++ b/.github/auto_assign.yml @@ -0,0 +1,3 @@ +addAssignees: author +addReviewers: false +runOnDraft: true diff --git a/.github/workflows/Issue-Needs-Attention.yml b/.github/workflows/Issue-Needs-Attention.yml new file mode 100644 index 0000000000..842194ac42 --- /dev/null +++ b/.github/workflows/Issue-Needs-Attention.yml @@ -0,0 +1,12 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +name: Issue Needs Attention +# This workflow is triggered on issue comments. +on: + issue_comment: + types: created + +jobs: + applyNeedsAttentionLabel: + uses: realm/ci-actions/.github/workflows/issue-needs-attention.yml@main diff --git a/.github/workflows/auto-assign.yml b/.github/workflows/auto-assign.yml new file mode 100644 index 0000000000..e2861e4490 --- /dev/null +++ b/.github/workflows/auto-assign.yml @@ -0,0 +1,13 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +name: 'Auto Assign' +on: + pull_request: + types: [opened] + +jobs: + add-assignee: + runs-on: ubuntu-latest + steps: + - uses: kentaro-m/auto-assign-action@248761c4feb3917c1b0444e33fad1a50093b9847 diff --git a/.github/workflows/check-changelog.yml b/.github/workflows/check-changelog.yml new file mode 100644 index 0000000000..e23ae17512 --- /dev/null +++ b/.github/workflows/check-changelog.yml @@ -0,0 +1,21 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +name: "Check Changelog" +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] + +jobs: + changelog: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@8230315d06ad95c617244d2f265d237a1682d445 + with: + submodules: false + - name: Enforce Changelog + uses: dangoslen/changelog-enforcer@c0b9fd225180a405c5f21f7a74b99e2eccc3e951 + with: + skipLabels: no-changelog + missingUpdateErrorMessage: Please add an entry in CHANGELOG.md or apply the 'no-changelog' label to skip this check. diff --git a/.github/workflows/issue-labeler.yml b/.github/workflows/issue-labeler.yml new file mode 100644 index 0000000000..5c9af500c0 --- /dev/null +++ b/.github/workflows/issue-labeler.yml @@ -0,0 +1,35 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +# See configuration in .github/advanced-issue-labeler.yml + +name: Issue labeler (policy) +on: + issues: + types: [ opened ] + +jobs: + label-issues-policy: + runs-on: ubuntu-latest + permissions: + issues: write + + strategy: + matrix: + template: [ bug.yml, feature.yml ] + + steps: + - uses: actions/checkout@v3 + + - name: Parse issue form + uses: stefanbuck/github-issue-parser@c1a559d78bfb8dd05216dab9ffd2b91082ff5324 # v3.0.1 + id: issue-parser + with: + template-path: .github/ISSUE_TEMPLATE/${{ matrix.template }} + + - name: Set labels based on policy + uses: redhat-plumbers-in-action/advanced-issue-labeler@6ee6fddfd744ee26b977e6a0436916f256896971 # v2.0.3 + with: + issue-form: ${{ steps.issue-parser.outputs.jsonString }} + template: ${{ matrix.template }} + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/no-response.yml b/.github/workflows/no-response.yml new file mode 100644 index 0000000000..2505323873 --- /dev/null +++ b/.github/workflows/no-response.yml @@ -0,0 +1,22 @@ +# NOTE: This is a common file that is overwritten by realm/ci-actions sync service +# and should only be modified in that repository. + +name: No Response + +# Both `issue_comment` and `scheduled` event types are required for this Action +# to work properly. +on: + issue_comment: + types: [created] + schedule: + # Schedule at 00:00 every day + - cron: '0 0 * * *' + +jobs: + noResponse: + runs-on: ubuntu-latest + steps: + - uses: lee-dohm/no-response@v0.5.0 + with: + token: ${{ github.token }} + responseRequiredLabel: More-information-needed diff --git a/LICENSE b/LICENSE index f13a843379..66a27ec5ff 100644 --- a/LICENSE +++ b/LICENSE @@ -174,4 +174,4 @@ of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS - \ No newline at end of file +