2023-01-25 22:46:38 +00:00
|
|
|
name: release
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
tags: ["v*"]
|
|
|
|
|
|
|
|
jobs:
|
2023-11-10 02:07:41 +00:00
|
|
|
publish:
|
2023-01-25 22:46:38 +00:00
|
|
|
runs-on: ubuntu-latest
|
2023-11-10 02:07:41 +00:00
|
|
|
|
2023-01-25 22:46:38 +00:00
|
|
|
steps:
|
2023-11-10 02:07:41 +00:00
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
|
|
|
- uses: erlef/setup-beam@v1
|
2023-01-25 22:46:38 +00:00
|
|
|
with:
|
2024-03-11 23:22:31 +00:00
|
|
|
otp-version: "26.2"
|
2024-08-12 21:32:37 +00:00
|
|
|
gleam-version: "1.4.1"
|
2023-11-10 02:07:41 +00:00
|
|
|
|
2023-12-09 00:16:46 +00:00
|
|
|
- uses: actions/setup-node@v3
|
|
|
|
with:
|
|
|
|
node-version: "20.x"
|
|
|
|
|
2023-01-25 22:46:38 +00:00
|
|
|
- run: |
|
2023-11-10 02:07:41 +00:00
|
|
|
version="v$(cat gleam.toml | grep -m 1 "version" | sed -r "s/version *= *\"([[:digit:].]+)\"/\1/")"
|
|
|
|
if [ "$version" != "${{ github.ref_name }}" ]; then
|
|
|
|
echo "tag '${{ github.ref_name }}' does not match the version in gleam.toml"
|
|
|
|
echo "expected a tag name 'v$version'"
|
|
|
|
exit 1
|
2023-01-25 22:46:38 +00:00
|
|
|
fi
|
2023-11-10 02:07:41 +00:00
|
|
|
name: check version
|
|
|
|
|
|
|
|
- run: gleam format --check
|
|
|
|
|
2023-09-16 21:34:00 +00:00
|
|
|
- run: gleam test --target erlang
|
|
|
|
- run: gleam test --target javascript
|
2023-11-10 02:07:41 +00:00
|
|
|
|
2023-01-25 22:46:38 +00:00
|
|
|
- run: gleam publish -y
|
|
|
|
env:
|
|
|
|
HEXPM_USER: ${{ secrets.HEX_USERNAME }}
|
|
|
|
HEXPM_PASS: ${{ secrets.HEX_PASSWORD }}
|
|
|
|
|
2023-11-10 02:07:41 +00:00
|
|
|
- uses: softprops/action-gh-release@v1
|