diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 00000000..119db88b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,55 @@ +# 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] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest improvements to Realm! + - type: textarea + id: problem + attributes: + label: Problem + description: A clear and concise description of the problem you are trying to solve. + validations: + required: true + - type: textarea + id: solution + attributes: + label: Solution + 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 would like to have it but have a workaround + - Fairly niche but nice to have anyway + validations: + 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 00000000..87a2ae04 --- /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 00000000..cb3b1df8 --- /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 00000000..842194ac --- /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 00000000..e2861e44 --- /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 00000000..9c856000 --- /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@v4 + 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/check-pr-title.yml b/.github/workflows/check-pr-title.yml index 40c3c3a4..1842f5bf 100644 --- a/.github/workflows/check-pr-title.yml +++ b/.github/workflows/check-pr-title.yml @@ -17,6 +17,6 @@ jobs: - name: Enforce PR title uses: realm/ci-actions/title-checker@main with: - regex: R[A-Z]{2,5}-[0-9]{1,6} + regex: R[A-Z]{2,6}-[0-9]{1,6} error-hint: Invalid PR title. Make sure it's prefixed with the JIRA ticket the PR addresses or add the no-jira-ticket label. ignore-labels: 'no-jira-ticket' \ No newline at end of file diff --git a/.github/workflows/issue-labeler.yml b/.github/workflows/issue-labeler.yml new file mode 100644 index 00000000..a93e0c8c --- /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@v4 + + - 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 00000000..25053238 --- /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 ff104813..66a27ec5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,10 +1,3 @@ -TABLE OF CONTENTS - -1. Apache License version 2.0 -2. Export Compliance - -1. ------------------------------------------------------------------------------- - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -180,25 +173,5 @@ TABLE OF CONTENTS incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -2. ------------------------------------------------------------------------------- - -EXPORT COMPLIANCE - -You understand that the Software may contain cryptographic functions that may be -subject to export restrictions, and you represent and warrant that you are not -(i) located in a jurisdiction that is subject to United States economic -sanctions (“Prohibited Jurisdiction”), including Cuba, Iran, North Korea, -Sudan, Syria or the Crimea region, (ii) a person listed on any U.S. government -blacklist (to include the List of Specially Designated Nationals and Blocked -Persons or the Consolidated Sanctions List administered by the U.S. Department -of the Treasury’s Office of Foreign Assets Control, or the Denied Persons List -or Entity List administered by the U.S. Department of Commerce) -(“Sanctioned Person”), or (iii) controlled or 50% or more owned by a Sanctioned -Person. - -You agree to comply with all export, re-export and import restrictions and -regulations of the U.S. Department of Commerce or other agency or authority of -the United States or other applicable countries. You also agree not to transfer, -or authorize the transfer of, directly or indirectly, of the Software to any -Prohibited Jurisdiction, or otherwise in violation of any such restrictions or -regulations. \ No newline at end of file + END OF TERMS AND CONDITIONS +