diff --git a/.github/workflows/example.yml b/.github/workflows/example.yml new file mode 100644 index 0000000..d35f1a1 --- /dev/null +++ b/.github/workflows/example.yml @@ -0,0 +1,25 @@ +name: Test github action + +on: [pull_request] + +jobs: + test: + runs-on: ubuntu-latest + name: Ruby ${{ matrix.ruby }} + strategy: + matrix: + ruby: + - "3.0.6" + steps: + - uses: actions/checkout@v3 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Test action in local workflow + id: test-action + uses: ./ + with: + github_token: xxxxx + rubygems_api_key: xxxxx diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..47de3f7 --- /dev/null +++ b/action.yml @@ -0,0 +1,26 @@ +name: Build and publish gem +description: Publish gem in github packages and rubygems +author: juliocabrera820 +branding: + icon: box + color: black +inputs: + github_token: + description: GitHub packages token + required: false + rubygems_api_key: + description: Rubygems API key + required: false + github_username: + description: Repository owner + required: false + default: ${{ github.repository_owner }} +runs: + using: composite + steps: + - run: ruby -W0 $GITHUB_ACTION_PATH/publish.rb + shell: sh + env: + RUBYGEMS_API_KEY: ${{inputs.rubygems_api_key}} + GITHUB_TOKEN: ${{inputs.github_token}} + GITHUB_USERNAME: ${{inputs.github_username}} diff --git a/credentials.rb b/credentials.rb new file mode 100644 index 0000000..d2c73a1 --- /dev/null +++ b/credentials.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# Module to handle credentials +module Credentials + RUBYGEMS_API_KEY = ENV['RUBYGEMS_API_KEY'] + GITHUB_TOKEN = ENV['GITHUB_TOKEN'] + GITHUB_USERNAME = ENV['GITHUB_USERNAME'] + + def self.print_credentials + puts "RUBYGEMS_API_KEY: #{RUBYGEMS_API_KEY}" + puts "GITHUB_TOKEN: #{GITHUB_TOKEN}" + puts "GITHUB_USERNAME: #{GITHUB_USERNAME}" + end +end diff --git a/publish.rb b/publish.rb new file mode 100644 index 0000000..aaae229 --- /dev/null +++ b/publish.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +require_relative 'credentials' + +Credentials.print_credentials