Generate types and type specs for all generated functions in aws-elixir and aws-erlang #236
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Generate aws-erlang | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build: | |
strategy: | |
matrix: | |
platform: [ubuntu-latest] | |
elixir: ["1.13.4"] | |
erlang: ["25.0.4"] | |
rebar3: ['3.20.0'] | |
runs-on: ${{ matrix.platform }} | |
services: | |
ddb: | |
image: amazon/dynamodb-local:1.21.0 | |
ports: | |
- 8000:8000 | |
s3mock: | |
image: adobe/s3mock:2.11.0 | |
ports: | |
- 9090:9090 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Erlang / Elixir / Rebar3 | |
uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.erlang}} | |
elixir-version: ${{matrix.elixir}} | |
rebar3-version: ${{matrix.rebar3}} | |
- name: Checkout aws/aws-sdk-go-v2 | |
uses: actions/checkout@v4 | |
with: | |
repository: aws/aws-sdk-go-v2 | |
path: aws/aws-sdk-go-v2/ | |
- name: Checkout aws-erlang | |
uses: actions/checkout@v4 | |
with: | |
repository: aws-beam/aws-erlang | |
path: aws-beam/aws-erlang | |
- name: Get mix dependencies | |
run: mix deps.get | |
- name: Generate aws-erlang | |
env: | |
SPEC_PATH: aws/aws-sdk-go-v2/codegen/sdk-codegen/aws-models | |
TEMPLATE_PATH: priv | |
ERLANG_OUTPUT_PATH: aws-beam/aws-erlang/src | |
run: mix run generate.exs erlang $SPEC_PATH $TEMPLATE_PATH $ERLANG_OUTPUT_PATH | |
- name: Compile | |
run: rebar3 compile | |
working-directory: aws-beam/aws-erlang | |
- name: Run EUnit Tests | |
run: rebar3 eunit | |
working-directory: aws-beam/aws-erlang | |
- name: Run Common Tests | |
run: rebar3 ct | |
working-directory: aws-beam/aws-erlang | |
env: | |
DYNAMODB_HOST: localhost | |
S3MOCK_HOST: localhost | |
- name: Produce Documentation | |
run: rebar3 ex_doc | |
working-directory: aws-beam/aws-erlang |