name: release on: push: tags: ["v*"] jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: otp-version: "26.2" gleam-version: "1.4.1" - uses: actions/setup-node@v3 with: node-version: "20.x" - run: | 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 fi name: check version - run: gleam format --check - run: gleam test --target erlang - run: gleam test --target javascript - run: gleam publish -y env: HEXPM_USER: ${{ secrets.HEX_USERNAME }} HEXPM_PASS: ${{ secrets.HEX_PASSWORD }} - uses: softprops/action-gh-release@v1