diff --git a/.github/workflows/create-release.yaml b/.github/workflows/create-release.yaml new file mode 100644 index 000000000..668b8600b --- /dev/null +++ b/.github/workflows/create-release.yaml @@ -0,0 +1,23 @@ +name: Create Release + +on: + push: + tags: + - "v*.*.*" + +jobs: + create-release: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: Check out + uses: actions/checkout@v3 + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v1 + if: github.ref_type == 'tag' + with: + draft: true + prerelease: false + generate_release_notes: true diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 000000000..c3ba3ba17 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,38 @@ +name: Publish to Hex.pm + +on: + release: + types: [published] + +jobs: + publish: + name: Publish package to Hex.pm + runs-on: ubuntu-latest + steps: + - name: Check out + uses: actions/checkout@v3 + + - name: Set up Elixir + uses: erlef/setup-beam@v1.18.0 + with: + elixir-version: "1.17.3" + otp-version: "27.1.2" + + - name: Cache Mix + uses: actions/cache@v4 + with: + path: | + deps + _build + key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} + restore-keys: ${{ runner.os }}-mix- + + - name: Install Dependencies + run: mix deps.get + + - name: Publish to Hex.pm + env: + HEX_API_KEY: ${{ secrets.HEX_API_KEY }} + run: | + mix hex.build + mix hex.publish --yes