Merge pull request #4048 from esl/update-xep-0050 #945
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: CI | |
on: | |
push: | |
branches: [ master ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
env: | |
# required for run_common_test.erl | |
KEEP_COVER_RUNNING: '1' | |
SKIP_AUTO_COMPILE: 'true' | |
# required for tools/gh-upload-to-s3.sh script | |
AWS_DEFAULT_REGION: "${{ secrets.AWS_DEFAULT_REGION }}" | |
AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ACCESS_KEY_ID }}" | |
AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_SECRET_ACCESS_KEY }}" | |
jobs: | |
small_tests: | |
name: small_tests on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: [ '24.3.4', '25.2' ] | |
runs-on: ubuntu-22.04 | |
env: | |
PRESET: 'small_tests' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{ matrix.otp }} | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cache/rebar3 | |
key: rebar3-${{ hashFiles('rebar.lock') }} | |
- name: create certificates | |
run: make certs | |
- name: run test | |
run: tools/test.sh -p $PRESET -s true -e true | |
- name: prepare coverage report | |
run: ./rebar3 codecov analyze --lcov --json false | |
- name: report coverage | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
flag-name: small_tests on OTP ${{matrix.otp}} | |
path-to-lcov: ./lcov.info | |
- name: upload common test results on failure | |
if: ${{ failure() }} | |
run: tools/gh-upload-to-s3.sh _build/test/logs test_logs | |
big_tests: | |
name: ${{matrix.preset}} on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
preset: [internal_mnesia, pgsql_mnesia, mysql_redis, odbc_mssql_mnesia, | |
ldap_mnesia, elasticsearch_and_cassandra_mnesia] | |
otp: [ '25.2' ] | |
include: | |
- test-spec: "default.spec" | |
- preset: elasticsearch_and_cassandra_mnesia | |
test-spec: "mam.spec" | |
- preset: ldap_mnesia | |
test-spec: "default.spec" | |
otp: '24.3.4' | |
- preset: pgsql_mnesia | |
test-spec: "default.spec" | |
otp: '24.3.4' | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/big-tests | |
with: | |
otp: ${{matrix.otp}} | |
preset: ${{matrix.preset}} | |
gh-token: ${{secrets.GITHUB_TOKEN}} | |
test-spec: ${{matrix.test-spec}} | |
- name: upload common test results on failure | |
if: ${{ failure() }} | |
run: tools/gh-upload-to-s3.sh big_tests/ct_report | |
dynamic_domains_big_tests: | |
name: dynamic domains ${{matrix.preset}} on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
preset: [pgsql_mnesia, mysql_redis, odbc_mssql_mnesia] | |
otp: [ '25.2' ] | |
test-spec: ["dynamic_domains.spec"] | |
include: | |
- preset: pgsql_mnesia | |
otp: '24.3.4' | |
test-spec: "dynamic_domains.spec" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/big-tests | |
with: | |
otp: ${{matrix.otp}} | |
preset: ${{matrix.preset}} | |
gh-token: ${{secrets.GITHUB_TOKEN}} | |
test-spec: ${{matrix.test-spec}} | |
- name: upload common test results on failure | |
if: ${{ failure() }} | |
run: tools/gh-upload-to-s3.sh big_tests/ct_report | |
coveralls_webhook: | |
needs: [big_tests, small_tests, dynamic_domains_big_tests] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Finish coveralls parallel build | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true | |
dialyzer: | |
name: dialyzer on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: [ '25.2' ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.otp}} | |
- run: tools/test.sh -p dialyzer_only | |
xref: | |
name: xref on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: [ '25.2' ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.otp}} | |
- run: tools/test.sh -p xref_only | |
edoc: | |
name: edoc on OTP ${{matrix.otp}} | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: [ '25.2' ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.otp}} | |
- run: tools/test.sh -p edoc_only | |
pkg: | |
name: ${{matrix.pkg}} package | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg: [centos_7, debian_stretch] | |
runs-on: ubuntu-22.04 | |
env: | |
ESL_ERLANG_PKG_VER: "25.0.1-1" | |
pkg_PLATFORM: ${{matrix.pkg}} | |
steps: | |
- uses: actions/checkout@v3 | |
- run: tools/test.sh -p pkg |