diff options
Diffstat (limited to '')
-rw-r--r-- | .github/workflows/beam.yml | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/.github/workflows/beam.yml b/.github/workflows/beam.yml new file mode 100644 index 0000000..c8785d7 --- /dev/null +++ b/.github/workflows/beam.yml @@ -0,0 +1,56 @@ +name: BEAM + +on: + push: + paths: + - "**.ex*" + - "**.erl" + - "**.beam" + pull_request: + paths: + - "**.ex*" + - "**.erl" + - "**.beam" + +jobs: + lint-build-and-test: + name: Lint, Build and Test + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup the BEAM + uses: erlef/setup-beam@v1 + with: + otp-version: latest + elixir-version: latest + gleam-version: latest + - name: Install dependencies + run: mix deps.get + - name: Lint + run: mix format --check-formatted + - name: Test + run: mix test + publish: + name: Publish to hex.pm + needs: lint-build-and-test + # Only run on this on proper semver (vX.Y.Z) tags + if: ${{ github.ref_type == 'tag' && startsWith(github.ref_name, 'v') }} + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup the BEAM + uses: erlef/setup-beam@v1 + with: + otp-version: latest + elixir-version: latest + gleam-version: latest + - name: Publish + run: mix hex.publish --yes + env: + HEX_API_KEY: ${{ secrets.HEX_TOKEN }}
\ No newline at end of file |