diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000000..08b8e76892 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,41 @@ +--- +name: Gem Release + +on: + push: + tags: + - '7.*' + +jobs: + release: + name: Release gem + runs-on: ubuntu-24.04 + # Optional but recommended to use a specific environment + environment: release + # Prevent releases from forked repositories + if: github.repository_owner == 'OpenVoxProject' + + permissions: + id-token: write + contents: write + packages: write + + steps: + - uses: voxpupuli/ruby-release@v0 + - name: Setup GitHub packages access + run: | + mkdir -p ~/.gem + echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials + chmod 0600 ~/.gem/credentials + - name: Publish gem to GitHub packages + run: gem push --key github --host https://rubygems.pkg.github.com/OpenVoxProject *.gem + - name: Create Release Page + shell: bash + env: + GH_TOKEN: ${{ github.token }} + run: gh release create ${{ github.ref_name }} --generate-notes + - name: Attach gem to GitHub Release + shell: bash + env: + GH_TOKEN: ${{ github.token }} + run: gh release upload ${{ github.ref_name }} pkg/*.gem