From 48c31f12b393e01f80f72dfa692b45f0d8a030d5 Mon Sep 17 00:00:00 2001 From: Darragh Bailey Date: Wed, 5 Oct 2022 00:11:00 +0100 Subject: [PATCH] Make code available as gem for test installs (#1629) Make it possible for others to help validate vagrant-libvirt plugin changes by building a gem that can be installed from a github packages repository. --- .github/workflows/publish-gem-package.yml | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/publish-gem-package.yml diff --git a/.github/workflows/publish-gem-package.yml b/.github/workflows/publish-gem-package.yml new file mode 100644 index 0000000..49375ec --- /dev/null +++ b/.github/workflows/publish-gem-package.yml @@ -0,0 +1,55 @@ +name: publish-gem + +on: + push: + branches: + - main + pull_request: + +permissions: + packages: write + +jobs: + build-package: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install rake & ruby + run: | + sudo apt-get install -y \ + rake \ + ruby \ + ; + - name: Build gem + run: | + rake build + - uses: actions/upload-artifact@v3 + with: + name: gem + path: pkg/**.gem + + publish-package: + needs: build-package + runs-on: ubuntu-22.04 + if: github.ref == 'refs/heads/main' + steps: + - uses: actions/download-artifact@v3 + with: + name: gem + - name: setup credentials + run: | + mkdir ~/.gem + cat < ~/.gem/credentials + --- + :github: Bearer ${GITHUB_TOKEN} + EOF + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: publish package + run: | + gem push --key github \ + --host https://rubygems.pkg.github.com/${GITHUB_REPOSITORY_OWNER} \ + *.gem +