diff options
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/ci.yml | 43 | ||||
| -rw-r--r-- | .github/workflows/docs.yml | 67 |
2 files changed, 110 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b2ec401 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI + +on: + pull_request: + +jobs: + test: + name: Test on OTP ${{matrix.otp}} / rebar3 ${{matrix.rebar3}} + runs-on: ubuntu-latest + + strategy: + matrix: + otp: ['26', '27'] + rebar3: ['3.23'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Erlang/OTP + uses: erlef/setup-beam@v1 + with: + otp-version: ${{matrix.otp}} + rebar3-version: ${{matrix.rebar3}} + + - name: Restore dependencies cache + uses: actions/cache@v4 + with: + path: | + _build + rebar.lock + key: ${{ runner.os }}-rebar3-${{ hashFiles('rebar.config') }} + restore-keys: | + ${{ runner.os }}-rebar3- + + - name: Compile + run: rebar3 compile + + - name: Run tests + run: rebar3 eunit + + - name: Run dialyzer + run: rebar3 dialyzer diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..e659d8e --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,67 @@ +name: Documentation + +on: + push: + branches: + - master + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + name: Build documentation + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Erlang/OTP + uses: erlef/setup-beam@v1 + with: + otp-version: '27' + rebar3-version: '3.23' + + - name: Restore dependencies cache + uses: actions/cache@v4 + with: + path: | + _build + rebar.lock + key: ${{ runner.os }}-rebar3-${{ hashFiles('rebar.config') }} + restore-keys: | + ${{ runner.os }}-rebar3- + + - name: Compile + run: rebar3 compile + + - name: Generate EDoc + run: rebar3 edoc + + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: 'doc' + + deploy: + name: Deploy to GitHub Pages + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 |
