Skip to content

Commit 4d55e58

Browse files
authored
Merge pull request #65 from ueberauth/yordis/adding-github-ci
chore: add github ci config
2 parents 0617af3 + af7db78 commit 4d55e58

6 files changed

Lines changed: 109 additions & 37 deletions

File tree

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Order is important. The last matching pattern takes the most precedence.
2+
# Default owners for everything in the repo.
3+
* @ueberauth/developers

.github/workflows/ci.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Continuous Integration
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, synchronize]
6+
push:
7+
branches:
8+
- 'master'
9+
jobs:
10+
Test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout Code
14+
uses: actions/checkout@v1
15+
16+
- name: Set up Elixir
17+
uses: erlef/setup-elixir@v1
18+
with:
19+
elixir-version: '1.11'
20+
otp-version: '22.3'
21+
22+
- name: Install Dependencies
23+
run: |
24+
mix local.rebar --force
25+
mix local.hex --force
26+
mix deps.get
27+
28+
- name: Run Tests
29+
run: mix test
30+
31+
Linting:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout Code
35+
uses: actions/checkout@v1
36+
37+
- name: Set up Elixir
38+
uses: erlef/setup-elixir@v1
39+
with:
40+
elixir-version: '1.11'
41+
otp-version: '22.3'
42+
43+
- name: Install Dependencies
44+
run: |
45+
mix local.rebar --force
46+
mix local.hex --force
47+
mix deps.get
48+
49+
- name: Run Formatter
50+
run: mix format --check-formatted
51+
52+
- name: Run Credo
53+
run: mix credo

.github/workflows/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
publish:
9+
name: Publish
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: Set up Elixir
14+
uses: erlef/setup-elixir@v1
15+
with:
16+
elixir-version: '1.11'
17+
otp-version: '22.3'
18+
- name: Restore dependencies cache
19+
uses: actions/cache@v2
20+
with:
21+
path: deps
22+
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
23+
restore-keys: ${{ runner.os }}-mix-
24+
- name: Install dependencies
25+
run: |
26+
mix local.rebar --force
27+
mix local.hex --force
28+
mix deps.get
29+
- name: Run Hex Publish
30+
run: mix hex.publish --yes
31+
env:
32+
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}

.travis.yml

Lines changed: 0 additions & 22 deletions
This file was deleted.

lib/ueberauth/strategy/github/oauth.ex

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ defmodule Ueberauth.Strategy.Github.OAuth do
1616
strategy: __MODULE__,
1717
site: "https://api.github.com",
1818
authorize_url: "https://github.com/login/oauth/authorize",
19-
token_url: "https://github.com/login/oauth/access_token",
19+
token_url: "https://github.com/login/oauth/access_token"
2020
]
2121

2222
@doc """
@@ -35,10 +35,10 @@ defmodule Ueberauth.Strategy.Github.OAuth do
3535
"""
3636
def client(opts \\ []) do
3737
config =
38-
:ueberauth
39-
|> Application.fetch_env!(Ueberauth.Strategy.Github.OAuth)
40-
|> check_credential(:client_id)
41-
|> check_credential(:client_secret)
38+
:ueberauth
39+
|> Application.fetch_env!(Ueberauth.Strategy.Github.OAuth)
40+
|> check_credential(:client_id)
41+
|> check_credential(:client_secret)
4242

4343
client_opts =
4444
@defaults
@@ -47,7 +47,8 @@ defmodule Ueberauth.Strategy.Github.OAuth do
4747

4848
json_library = Ueberauth.json_library()
4949

50-
OAuth2.Client.new(client_opts)
50+
client_opts
51+
|> OAuth2.Client.new()
5152
|> OAuth2.Client.put_serializer("application/json", json_library)
5253
end
5354

@@ -70,10 +71,10 @@ defmodule Ueberauth.Strategy.Github.OAuth do
7071
end
7172

7273
def get_token!(params \\ [], options \\ []) do
73-
headers = Keyword.get(options, :headers, [])
74-
options = Keyword.get(options, :options, [])
74+
headers = Keyword.get(options, :headers, [])
75+
options = Keyword.get(options, :options, [])
7576
client_options = Keyword.get(options, :client_options, [])
76-
client = OAuth2.Client.get_token!(client(client_options), params, headers, options)
77+
client = OAuth2.Client.get_token!(client(client_options), params, headers, options)
7778
client.token
7879
end
7980

@@ -96,10 +97,12 @@ defmodule Ueberauth.Strategy.Github.OAuth do
9697
case Keyword.get(config, key) do
9798
value when is_binary(value) ->
9899
config
100+
99101
{:system, env_key} ->
100102
case System.get_env(env_key) do
101103
nil ->
102-
raise "#{inspect (env_key)} missing from environment, expected in config :ueberauth, Ueberauth.Strategy.Github"
104+
raise "#{inspect(env_key)} missing from environment, expected in config :ueberauth, Ueberauth.Strategy.Github"
105+
103106
value ->
104107
Keyword.put(config, key, value)
105108
end
@@ -108,10 +111,12 @@ defmodule Ueberauth.Strategy.Github.OAuth do
108111

109112
defp check_config_key_exists(config, key) when is_list(config) do
110113
unless Keyword.has_key?(config, key) do
111-
raise "#{inspect (key)} missing from config :ueberauth, Ueberauth.Strategy.Github"
114+
raise "#{inspect(key)} missing from config :ueberauth, Ueberauth.Strategy.Github"
112115
end
116+
113117
config
114118
end
119+
115120
defp check_config_key_exists(_, _) do
116121
raise "Config :ueberauth, Ueberauth.Strategy.Github is not a keyword list, as expected"
117122
end

mix.lock

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212
"makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"},
1313
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},
1414
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
15-
"mime": {:hex, :mime, "1.3.1", "30ce04ab3175b6ad0bdce0035cba77bba68b813d523d1aac73d9781b4d193cf8", [:mix], [], "hexpm", "6cbe761d6a0ca5a31a0931bf4c63204bceb64538e664a8ecf784a9a6f3b875f1"},
15+
"mime": {:hex, :mime, "2.0.1", "0de4c81303fe07806ebc2494d5321ce8fb4df106e34dd5f9d787b637ebadc256", [:mix], [], "hexpm", "7a86b920d2aedce5fb6280ac8261ac1a739ae6c1a1ad38f5eadf910063008942"},
1616
"mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"},
1717
"nimble_parsec": {:hex, :nimble_parsec, "1.1.0", "3a6fca1550363552e54c216debb6a9e95bd8d32348938e13de5eda962c0d7f89", [:mix], [], "hexpm", "08eb32d66b706e913ff748f11694b17981c0b04a33ef470e33e11b3d3ac8f54b"},
1818
"oauth2": {:hex, :oauth2, "2.0.0", "338382079fe16c514420fa218b0903f8ad2d4bfc0ad0c9f988867dfa246731b0", [:mix], [{:hackney, "~> 1.13", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "881b8364ac7385f9fddc7949379cbe3f7081da37233a1aa7aab844670a91e7e7"},
1919
"parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"},
20-
"plug": {:hex, :plug, "1.8.3", "12d5f9796dc72e8ac9614e94bda5e51c4c028d0d428e9297650d09e15a684478", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "164baaeb382d19beee0ec484492aa82a9c8685770aee33b24ec727a0971b34d0"},
21-
"plug_crypto": {:hex, :plug_crypto, "1.0.0", "18e49317d3fa343f24620ed22795ec29d4a5e602d52d1513ccea0b07d8ea7d4d", [:mix], [], "hexpm", "73c1682f0e414cfb5d9b95c8e8cd6ffcfdae699e3b05e1db744e58b7be857759"},
20+
"plug": {:hex, :plug, "1.12.1", "645678c800601d8d9f27ad1aebba1fdb9ce5b2623ddb961a074da0b96c35187d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d57e799a777bc20494b784966dc5fbda91eb4a09f571f76545b72a634ce0d30b"},
21+
"plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"},
2222
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.4", "f0eafff810d2041e93f915ef59899c923f4568f4585904d010387ed74988e77b", [:make, :mix, :rebar3], [], "hexpm", "603561dc0fd62f4f2ea9b890f4e20e1a0d388746d6e20557cafb1b16950de88c"},
23-
"ueberauth": {:hex, :ueberauth, "0.6.1", "9e90d3337dddf38b1ca2753aca9b1e53d8a52b890191cdc55240247c89230412", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "81ea8303ef676a7b8e6e308584e9b9232d2b6fb02110d00dba351edd823a7d96"},
23+
"telemetry": {:hex, :telemetry, "1.0.0", "0f453a102cdf13d506b7c0ab158324c337c41f1cc7548f0bc0e130bbf0ae9452", [:rebar3], [], "hexpm", "73bc09fa59b4a0284efb4624335583c528e07ec9ae76aca96ea0673850aec57a"},
24+
"ueberauth": {:hex, :ueberauth, "0.7.0", "9c44f41798b5fa27f872561b6f7d2bb0f10f03fdd22b90f454232d7b087f4b75", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "2efad9022e949834f16cc52cd935165049d81fa9e925690f91035c2e4b58d905"},
2425
"unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"},
2526
}

0 commit comments

Comments
 (0)