Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
721e049
fix: use setup-beam GH action (#222)
polvalente Jul 16, 2022
11a2e05
Fix typos in stub.ex (#164)
nmashton Jul 16, 2022
73ab681
Don't crash on errors from the adapter (#175)
frekw Jul 16, 2022
d1b9dd7
Add support for `request_id` in `GRPC.Server.Stream` (#198)
ilyashuma Jul 17, 2022
d284d36
chore: update Elixir, Erlang and dependencies (#224)
polvalente Jul 18, 2022
e025811
deps: upgrade protobuf to 0.10 (#228)
wingyplus Jul 19, 2022
8988ada
fix: correct typespec in GRPC.Message.Protobuf (#230)
wingyplus Jul 19, 2022
28a6ebe
feat: accept more combos of log level (#227)
polvalente Jul 19, 2022
109bcd3
Provide a mechanism to inject a custom status handler (#171)
carrascoacd Jul 19, 2022
65cab5c
fix: add @impl to logger interceptor callback (#231)
wingyplus Jul 19, 2022
0480473
include some specs on status and format entire project (#210)
rands0n Jul 19, 2022
6ba8dd0
chore: make protobuf optional (#233)
polvalente Jul 19, 2022
63096c3
chore: delete GRPC.Message.Protobuf (#234)
wingyplus Jul 19, 2022
a0ac3b2
fix: return adapter error instead of wrapped string (#235)
polvalente Jul 19, 2022
736c878
Define behaviours for client and server adapters (#200)
avillen Jul 21, 2022
d91104d
ci: run interop test on PR and master branch (#238)
wingyplus Jul 21, 2022
854d475
Update README.md (#240)
polvalente Jul 21, 2022
d6c765b
ci: remove cron_ci.yml and .ci (#243)
wingyplus Jul 22, 2022
2517b7c
refactor: revise helloworld example (#244)
wingyplus Jul 22, 2022
8db5727
refactor: revise route_guide example (#245)
wingyplus Jul 22, 2022
0585e1f
feat(ci): add dialyzer and improve workflows (#248)
polvalente Jul 23, 2022
d15bdb3
chore(ci): upgrade actions/checkout to v3 (#251)
wingyplus Jul 23, 2022
a3e4445
chore: bump to 0.5.0 (#253)
polvalente Jul 27, 2022
3f1a6b6
Allow to use iolists in GRPC.Message.to_data/2 (#195)
bszaf Jul 29, 2022
da37494
chore: resolve some doc warnings (#250)
polvalente Jul 29, 2022
1e0598b
fix: avoid overriding user config if possible (#236)
polvalente Jul 29, 2022
0dda897
refactor: accept keywords for opts instead of maps (#255)
polvalente Jul 29, 2022
ce73826
Adds support for grpc-web (#206)
drowzy Jul 31, 2022
f181e31
fix: rollback timeout opt handling (#256)
polvalente Jul 31, 2022
d172921
refactor: change application config methods (#258)
polvalente Aug 1, 2022
dd6cc87
Feat/timestamp example (#262)
angelo-moreira Aug 5, 2022
c7ee0c1
add test to the example app (#263)
angelo-moreira Aug 5, 2022
4f3c476
Update README.md (#275)
josevalim Sep 28, 2022
4c14873
update action/cache version to v3 (#277)
AdrielBento Oct 12, 2022
8368435
Remove gun-specific code from stub to improve client adapter flexibil…
beligante Oct 12, 2022
f21e2e1
Replace tuple style supervisor child_spec with map on cowboy adapter …
prihandi Oct 12, 2022
b85a393
url encode/decode status-message header (#271)
drowzy Oct 12, 2022
ff166c1
Update README.md (#276)
AdrielBento Oct 12, 2022
f02a498
docs: typo in contributors section (#279)
angelo-moreira Nov 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .ci/build-plt-cache.sh

This file was deleted.

7 changes: 5 additions & 2 deletions .formatter.exs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@

[
inputs: ["mix.exs", "{config,lib,test}/**/*.{ex,exs}", "examples/*/{config,lib,priv}/*.ex"],
inputs: [
"{mix,.formatter}.exs",
"{config,lib,test}/**/*.{ex,exs}",
"examples/*/{config,lib,priv}/*.ex"
],
import_deps: [:protobuf],
locals_without_parens: [rpc: 3, intercept: 1, intercept: 2, run: 1, run: 2],
export: [
Expand Down
171 changes: 128 additions & 43 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
pull_request:
branches:
- '**'
- "**"
push:
branches:
- master
Expand All @@ -12,15 +12,20 @@ jobs:
check_format:
runs-on: ubuntu-latest
name: Check format
container:
image: elixir:1.9-slim
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: 24
elixir-version: 1.13.1
- name: Retrieve dependencies cache
uses: actions/cache@v3
id: mix-cache # id to use in retrieve action
with:
path: deps
key: v1-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
run: mix deps.get 1>/dev/null
- name: Check format
run: mix format --check-formatted

Expand All @@ -29,57 +34,137 @@ jobs:
name: OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
strategy:
matrix:
otp: [20.x, 21.x, 22.x]
elixir: [1.7.x, 1.8.x, 1.9.x, 1.10.x]
otp: [22.x, 23.x, 24.x, 25.x]
elixir: [1.11.x, 1.12.x, 1.13.x]
exclude:
- otp: 20.x
elixir: 1.10.x
- otp: 25.x
elixir: 1.11.x
- otp: 25.x
elixir: 1.12.x
needs: check_format
steps:
- uses: actions/checkout@v1
- uses: actions/[email protected]
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
- name: Run Tests
run: mix test
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- name: Retrieve dependencies cache
uses: actions/cache@v3
id: mix-cache # id to use in retrieve action
with:
path: deps
key: v1-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: Install Dependencies
run: mix deps.get 1>/dev/null
- name: Run Tests
run: mix test

interop-tests:
runs-on: ubuntu-latest
name: Interop tests
container:
image: elixir:1.9-slim
needs: check_format
if: ${{ github.ref != 'refs/heads/master' }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: 25.x
elixir-version: 1.13.x
- name: Retrieve dependencies cache
uses: actions/cache@v3
id: mix-cache # id to use in retrieve action
with:
path: deps
key: v1-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: Install Dependencies
run: mix deps.get 1>/dev/null
working-directory: ./interop
- name: Run interop tests
run: mix run script/run.exs --rounds 64
working-directory: ./interop

interop-tests-all:
runs-on: ubuntu-latest
name: Interop tests OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
needs: check_format
if: ${{ github.ref == 'refs/heads/master' }}
strategy:
matrix:
otp: [22.x, 23.x, 24.x, 25.x]
elixir: [1.11.x, 1.12.x, 1.13.x]
exclude:
- otp: 25.x
elixir: 1.11.x
- otp: 25.x
elixir: 1.12.x
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
working-directory: ./interop
- name: Run interop tests
run: mix run script/run.exs
working-directory: ./interop
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: 25.x
elixir-version: 1.13.x
- name: Retrieve dependencies cache
uses: actions/cache@v3
id: mix-cache # id to use in retrieve action
with:
path: deps
key: v1-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: Install Dependencies
run: mix deps.get 1>/dev/null
working-directory: ./interop
- name: Run interop tests
run: mix run script/run.exs --rounds 64
working-directory: ./interop

dialyzer:
name: Dialyzer
runs-on: ubuntu-latest
strategy:
matrix:
otp: [24.x, 25.x]
elixir: [1.13.x]
env:
MIX_ENV: test
steps:
- uses: actions/checkout@v3
- id: set_vars
run: |
mix_hash="${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}"
echo "::set-output name=mix_hash::$mix_hash"
- id: cache-plt
uses: actions/cache@v3
with:
path: |
_build/test/plts/dialyzer.plt
_build/test/plts/dialyzer.plt.hash
key: plt-cache-${{ matrix.otp }}-${{ matrix.elixir }}-${{ steps.set_vars.outputs.mix_hash }}
restore-keys: |
plt-cache-${{ matrix.otp }}-${{ matrix.elixir }}-
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- run: mix deps.get 1>/dev/null
- run: mix dialyzer --format short

check_release:
runs-on: ubuntu-latest
name: Check release
needs: check_format
container:
image: elixir:1.9-slim
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: 24
elixir-version: 1.13.1
- name: Retrieve dependencies cache
uses: actions/cache@v3
id: mix-cache # id to use in retrieve action
with:
path: deps
key: v1-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
- name: Install Dependencies
run: |
mix local.rebar --force
mix local.hex --force
mix deps.get
run: mix deps.get 1>/dev/null
- name: Build hex
run: mix hex.build
- name: Generate docs
Expand Down
22 changes: 0 additions & 22 deletions .github/workflows/cron_ci.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
elixir 1.13.3-otp-25
erlang 25.0.3
6 changes: 0 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,4 @@ test-all:
mix test
cd interop && mix run script/run.exs

# This is heavy
ci-cron:
cd interop && mix deps.get && mix run script/run.exs --rounds 1000 --concurrency 30 && cd -
mix deps.get && bash .ci/build-plt-cache.sh && mix dialyzer


.PHONY: test release test-prepare test-all ci-cron
Loading