diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..e69de29 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..394de14 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,24 @@ +--- +name: Bug report +about: Create a report to help me fix bugs and problems +title: '[BUG]' +labels: bug +assignees: akoutmos +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior or a GitHub repo that reproduces the issue. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Environment** + +- Elixir version: +- Erlang/OTP version: + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..ada2c3b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '[FEATURE]' +labels: feature request +assignees: akoutmos +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. + +**Describe the solution you would like to see** +A clear and concise description of what you want to happen. + +**How would you expect this feature to work** +A description of a possible API, behaviour, modules, etc. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e69de29 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..3c18482 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,72 @@ +name: GithubReleaseFetcher CI + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + static_analysis: + name: Static Analysis + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Elixir + uses: erlef/setup-beam@v1 + with: + elixir-version: '1.14.0' + otp-version: '25.0' + - name: Restore cache + uses: actions/cache@v3 + with: + path: | + deps + _build + priv/plts + key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} + restore-keys: | + ${{ runner.os }}-mix- + - name: Install dependencies + run: mix deps.get + - name: Mix Formatter + run: mix format --check-formatted + - name: Check for compiler warnings + run: mix compile --warnings-as-errors + - name: Credo strict checks + run: mix credo --strict + - name: Doctor documentation checks + run: mix doctor + - name: Dialyzer checks + run: mix dialyzer + + unit_test: + name: Run ExUnit tests + runs-on: ubuntu-latest + + strategy: + matrix: + elixir: + - '1.14' + otp: + - '25.0' + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Set up Elixir + uses: erlef/setup-beam@v1 + with: + elixir-version: ${{ matrix.elixir }} + otp-version: ${{ matrix.otp }} + - name: Install dependencies + run: mix deps.get + - name: ExUnit tests + env: + MIX_ENV: test + run: mix coveralls.github