aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yml43
-rw-r--r--.github/workflows/docs.yml67
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