diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index ec43c1237..435bd3aa8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -6,7 +6,15 @@ body: id: description attributes: label: What happened? - placeholder: Describe the bug and what you expected instead + placeholder: Describe the bug + validations: + required: false + + - type: textarea + id: expected + attributes: + label: Expected behavior + placeholder: What did you expect to happen instead? validations: required: false @@ -30,9 +38,42 @@ body: required: false - type: input - id: environment + id: version + attributes: + label: Bitkit Version + placeholder: e.g., 2.0.0 + validations: + required: false + + - type: input + id: device attributes: - label: Environment - placeholder: e.g., v2.0.0, Pixel 7, Android 14, mainnet + label: Device / OS + placeholder: e.g., Pixel 7, Android 14 + validations: + required: false + + - type: dropdown + id: reproducibility + attributes: + label: Reproducibility + options: + - Always + - Often (>50%) + - Sometimes (<50%) + - Rarely (once or twice) + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional context + placeholder: | + Any other context about the problem, e.g.: + - New wallet / Restored from backup / Migrated from RN + - Lightning or on-chain related + - Specific channel state + - Environment (Mainnet / Regtest / Local) validations: required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..dff972cd7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,35 @@ +name: Feature Request +description: Suggest a new feature or improvement +type: feature +body: + - type: textarea + id: problem + attributes: + label: Problem or use case + placeholder: What problem does this solve? Why do you need this? + validations: + required: false + + - type: textarea + id: solution + attributes: + label: Proposed solution + placeholder: Describe what you'd like to happen + validations: + required: false + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + placeholder: Any workarounds or alternative solutions you've thought of? + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional context + placeholder: Screenshots, mockups, links, or any other context + validations: + required: false diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 120a90e2f..52859397d 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -8,12 +8,6 @@ on: required: false default: "default-feature-branch" pull_request: - paths: - - 'app/**' - - 'gradle/**' - - '*.gradle.kts' - - 'gradle.properties' - - '.github/workflows/e2e.yml' env: TERM: xterm-256color @@ -24,9 +18,29 @@ concurrency: cancel-in-progress: true jobs: - build: + detect-changes: if: github.event.pull_request.draft == false runs-on: ubuntu-latest + outputs: + code: ${{ github.event_name == 'workflow_dispatch' || steps.filter.outputs.code == 'true' }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + if: github.event_name == 'pull_request' + id: filter + with: + filters: | + code: + - 'app/**' + - 'gradle/**' + - '*.gradle.kts' + - 'gradle.properties' + - '.github/workflows/e2e.yml' + + build: + needs: detect-changes + if: github.event.pull_request.draft == false && needs.detect-changes.outputs.code == 'true' + runs-on: ubuntu-latest steps: - name: Checkout @@ -67,16 +81,17 @@ jobs: path: app/build/outputs/apk/dev/debug/bitkit_e2e.apk e2e-branch: - if: github.event.pull_request.draft == false + needs: detect-changes + if: github.event.pull_request.draft == false && needs.detect-changes.outputs.code == 'true' uses: synonymdev/bitkit-e2e-tests/.github/workflows/determine-e2e-branch.yml@main with: app_branch: ${{ github.head_ref || github.ref_name }} e2e_branch_input: ${{ github.event.inputs.e2e_branch || 'default-feature-branch' }} e2e-tests: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false && needs.detect-changes.outputs.code == 'true' runs-on: ubuntu-latest - needs: [build, e2e-branch] + needs: [detect-changes, build, e2e-branch] strategy: fail-fast: false @@ -238,12 +253,17 @@ jobs: if: always() && github.event.pull_request.draft == false name: e2e-status runs-on: ubuntu-latest - needs: [e2e-tests] + needs: [detect-changes, e2e-tests] steps: + - name: E2E skipped - no code changes + if: needs.detect-changes.outputs.code != 'true' + run: echo "✅ E2E skipped - no code changes" + - name: Verify all E2E shards succeeded + if: needs.detect-changes.outputs.code == 'true' run: | if [ "${{ needs.e2e-tests.result }}" != "success" ]; then echo "❌ Some E2E shards failed." exit 1 fi - echo "✅ All E2E shards passed!" \ No newline at end of file + echo "✅ All E2E shards passed!"