{"id":349,"date":"2022-03-10T14:42:00","date_gmt":"2022-03-10T14:42:00","guid":{"rendered":"https:\/\/www.simplybusiness.co.uk\/creating-github-action-in-ruby\/"},"modified":"2024-05-30T09:38:04","modified_gmt":"2024-05-30T09:38:04","slug":"creating-github-action-in-ruby","status":"publish","type":"post","link":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby","title":{"rendered":"How to create GitHub actions in Ruby"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">GitHub Actions enables you to create custom workflows for your software development life cycle and automate them within your GitHub repository. In this article, we&#8217;ll walk through how to create a GitHub action in Ruby to automate your continuous integration pipeline.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong>&nbsp;Before you start, you&#8217;ll need a basic understanding of GitHub Actions. If you&#8217;re not familiar with GitHub Actions, first read the GitHub guide to&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/learn-github-actions\/understanding-github-actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">understanding GitHub Actions<\/a>, which explains essential concepts and terminology.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why GitHub Actions?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub Actions is becoming increasingly popular with organisations who are looking to automate the workflows in their CI\/CD pipeline. GitHub Actions is free to use in public and private repositories, with&nbsp;<a href=\"https:\/\/docs.github.com\/en\/billing\/managing-billing-for-github-actions\/about-billing-for-github-actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">limited free minutes and storage per month<\/a>. It&#8217;s also very easy to configure GitHub Actions, as the workflow is available in the repository, with no need for any additional configuration. There is a substantial&nbsp;<a href=\"https:\/\/github.com\/marketplace?type=actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">library<\/a>&nbsp;of built-in actions available for free, which makes it easy to get started. You can also compose your workflow by using multiple actions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a GitHub action in Ruby<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Much has been documented about how to create a GitHub action in JavaScript. The GitHub guide to&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.github.com\/en\/actions\/creating-actions\/creating-a-javascript-action\" rel=\"noopener noreferrer\" target=\"_blank\">creating a JavaScript action<\/a>&nbsp;walks through the steps. However, in Ruby, it&#8217;s not as straightforward.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You have two options:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Using a Dockerfile.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Using the&nbsp;<a href=\"https:\/\/github.com\/ruby\/setup-ruby\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">setup-ruby<\/a>&nbsp;GitHub action. (Recommended).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Using a Dockerfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To create a GitHub action in Ruby using a Dockerfile, you&#8217;ll need to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create a minimal Ruby project that contains a Ruby file, for example&nbsp;<code>run.rb<\/code>, in the root directory and a Gemfile to manage dependencies in your project.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create a Dockerfile in the root of your project. Add&nbsp;<code>run.rb<\/code>&nbsp;as the entry point.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-white-color has-dark-800-background-color has-text-color has-background has-link-color wp-elements-ea4ce094155207605d36da228ccd515a\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\"><code>FROM ruby:2.7.0\n\nRUN gem install bundler\n\nRUN mkdir -p \/runner\/action\n\nWORKDIR \/runner\/action\n\nCOPY Gemfile* .\/\n\nCOPY run.rb .\/\n\nRUN bundle install --retry 3\n\nENV BUNDLE_GEMFILE \/runner\/action\/Gemfile\n\nRUN chmod +x \/runner\/action\/run.rb\n\nENTRYPOINT &#091;\"ruby\", \"\/runner\/action\/run.rb\"]<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li class=\"wp-block-list-item\">Create an&nbsp;<code>action.yml<\/code>&nbsp;metadata file that defines the input\/output and the information required to publish your action. You can customise your action by using the&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/creating-actions\/metadata-syntax-for-github-actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">metadata syntax for GitHub Actions<\/a>, including customising how your action will look. Here is an example:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-white-color has-dark-800-background-color has-text-color has-background has-link-color wp-elements-b7afe435d537b520afc68e7ba99c87ce\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\"><code>name: 'Unique name of your action'\nauthor: 'opensourcetech@simplybusiness.co.uk'\ndescription: 'description of what action does'\nbranding:\n  icon: code\n  color: red\nruns:\n  using: 'docker'\n  image: 'Dockerfile'<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li class=\"wp-block-list-item\">Push your changes to your default branch (master\/main).<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.github.com\/en\/actions\/creating-actions\/publishing-actions-in-github-marketplace#publishing-an-action\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Publish the GitHub action<\/a>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an example of a Simply Business public GitHub action &#8211; the&nbsp;<a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-status-action\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">deploy status action<\/a>. The&nbsp;<strong>deploy status action<\/strong>&nbsp;uses the&nbsp;<a href=\"https:\/\/github.com\/octokit\/octokit.rb\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Octokit<\/a>&nbsp;library to call the GitHub API and create statuses that can be used to block and unblock deploys in the pipeline.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Using the action in your project<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To use the action you created in your project:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create a workflow file&nbsp;<code>.github\/workflows\/my-workflow.yml<\/code>&nbsp;in your repository, which will be triggered by an event such as when a pull request is opened or changes are pushed to the repository.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-white-color has-dark-800-background-color has-text-color has-background has-link-color wp-elements-08be4ff2e93dc44afb4c17d04694c189\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\"><code>name: 'my workflow'\non:\n  pull_request:\n    types: &#091;opened, synchronize]\npermissions:\n  contents: read\n  statuses: write # change according to the permissions your workflow needs. For more info, visit: https:\/\/docs.github.com\/en\/actions\/learn-github-actions\/workflow-syntax-for-github-actions#permissions\njobs:\n  build:\n    runs-on: ubuntu-20.04\n    steps:\n      - uses: org-name\/worklfow-name@v1.0.0\n        env:\n          ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} # provided by GitHub. You can use this to access the GitHub API.<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li class=\"wp-block-list-item\">Open a PR and check that it runs your Ruby action in the&nbsp;<code>actions<\/code>&nbsp;tab of your repository. If not, check the workflow to ensure there are no typos or syntax errors.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.tech.sb\/the-team\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" height=\"368\" width=\"1024\" src=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\" alt=\"sb-tech-site-banner\" class=\"wp-image-12317\" srcset=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp 1152w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=800,288 800w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=768,276 768w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=1024,368 1024w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=150,54 150w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Using the setup-ruby action (Recommended)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker container actions are great, but they don&#8217;t take advantage of the&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/actions\/cache\" rel=\"noopener noreferrer\" target=\"_blank\">caching action<\/a>&nbsp;that GitHub provides. Therefore, each run can take a long time. We can save a lot of time (over half) by caching bundler dependencies after the first run. It not only saves time but reduces the number of minutes taken to run the action, thereby saving money if you&#8217;re using a private repository.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the steps for creating an action using the&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/ruby\/setup-ruby\" rel=\"noopener noreferrer\" target=\"_blank\">setup-ruby<\/a>&nbsp;action:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create a minimal Ruby project with a simple&nbsp;<code>run.rb<\/code>&nbsp;file,&nbsp;<code>.ruby-version<\/code>&nbsp;to specify ruby at the root directory and a Gemfile to manage dependencies in your project.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create an&nbsp;<code>action.yml<\/code>&nbsp;metadata file. Note here we are not using a Dockerfile in the run section, instead using a composite action to run the Ruby code. You can customise your action by using the&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/creating-actions\/metadata-syntax-for-github-actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">metadata syntax for GitHub Actions<\/a>, including customising how your action will look.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an example:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-dark-800-background-color has-text-color has-background has-link-color wp-elements-c8be1e2fb255359b221c35366385898d\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\"><code>name: 'Unique name of your action'\ndescription: 'Description of what your action does'\nauthor: 'opensourcetech@simplybusiness.co.uk'\nbranding:\n  icon: filter\n  color: red\nruns:\n  using: 'composite'\n  steps:\n    - run: |\n        bundle exec ruby run.rb\n      shell: bash<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Push the changes to your default branch (master\/main).<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/docs.github.com\/en\/actions\/creating-actions\/publishing-actions-in-github-marketplace#publishing-an-action\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Publish the GitHub action<\/a>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an example of a Simply Business public GitHub action &#8211;&nbsp;<a href=\"https:\/\/github.com\/marketplace\/actions\/dobby-bot\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">dobby<\/a>. Dobby uses the&nbsp;<a href=\"https:\/\/github.com\/octokit\/octokit.rb\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Octokit<\/a>&nbsp;library to call the GitHub API to update the gem version based on a comment added to a pull request.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Using the action in your workflow<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To use the action in your project, you&#8217;ll need to add some additional steps in your workflow:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Check out the repository that will use the action, and then use the&nbsp;<a href=\"https:\/\/github.com\/ruby\/setup-ruby\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">setup-ruby action<\/a>. Create a workflow file&nbsp;<code>.github\/workflows\/my-workflow.yml<\/code>, for example:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-white-color has-dark-800-background-color has-text-color has-background has-link-color wp-elements-9bff1fce56fc71e46732aa508a04e704\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\"><code>name: 'my workflow'\non:\n  pull_request:\n    types: &#091;opened, synchronize]\npermissions:\n  contents: read\n  statuses: write # change according to the permissions your workflow needs. For more info, visit: https:\/\/docs.github.com\/en\/actions\/learn-github-actions\/workflow-syntax-for-github-actions#permissions\njobs:\n  build:\n    runs-on: ubuntu-20.04\n    steps:\n     - uses: actions\/checkout@v2.4.0\n       with:\n         repository: 'org-name\/worklfow-name@v1.0.0'\n         ref: 'v1.0.0'\n     - uses: ruby\/setup-ruby@v1\n       with:\n         bundler-cache: true # runs 'bundle install' and caches installed gems automatically\n      - uses: org-name\/worklfow-name@v1.0.0\n        env:\n          ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} # provided by GitHub. You can use this to access the GitHub API.<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li class=\"wp-block-list-item\">Open a PR and ensure that it runs in the&nbsp;<code>actions<\/code>&nbsp;tab of your repository. If not, check the workflow to ensure there are no typos or syntax errors.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Running and debugging GitHub Actions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s not easy to debug a GitHub action locally, primarily because an action provides a lot of tools and environments (ENV) that are not available locally. That said, there are several things that you can try:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/github.com\/nektos\/act#nix-linuxmacos\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">act<\/a>&nbsp;&#8211; you can pass an event payload to test locally.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/github.com\/nektos\/act#nix-linuxmaco\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">action-tmate<\/a>&nbsp;&#8211; debug via ssh shell.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Create a test repository and play around by directly changing the workflow in the default branch. I like this option best because you can use the UI editor in GitHub. It also highlights any issue, and you can quickly run the workflow in the same environment with all the environment variables and secrets available.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">I hope this article helps you to get started with GitHub actions in Ruby. Enjoy!<\/p>\n\n\n\n<div id=\"nba-upsell-001\" class=\"wp-block-group has-azure-200-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-94e519ba wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--80);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--40)\">\n<h3 class=\"wp-block-heading has-text-align-center\">Ready to start your career at Simply Business?<\/h3>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Want to know more about what it&#8217;s like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-font-size has-medium-font-size\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/careers\/tech\/\" style=\"padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--30)\">Find out more<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-azure-800-color has-azure-200-background-color has-text-color has-background has-link-color wp-elements-742fdc2e97df25eb9ebc6b1e70f77d16 has-global-padding is-layout-constrained wp-container-core-group-is-layout-80fb368b wp-block-group-is-layout-constrained\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<p class=\"has-text-align-center has-xxs-font-size wp-block-paragraph\">We create this content for general information purposes and it should not be taken as advice. Always take professional advice.&nbsp;<a href=\"https:\/\/www.simplybusiness.co.uk\/legal\/knowledge-centre-disclaimer\/\">Read our full disclaimer<\/a><\/p>\n<\/div>\n\n\n\n<div id=\"newsletter-subscribe\" class=\"wp-block-group newsletter-subscribe is-layout-flow wp-block-group-is-layout-flow wp-block-block\" style=\"border-top-color:#cccccc;border-top-width:1px;padding-top:var(--wp--preset--spacing--80);padding-right:0;padding-bottom:var(--wp--preset--spacing--80);padding-left:0\">\n<p class=\"has-text-align-center has-dark-800-color has-text-color has-link-color has-medium-font-size wp-elements-ced002c3d2e03fde51d8880b5da0f3bb wp-block-paragraph\" style=\"margin-bottom:var(--wp--preset--spacing--50)\">A free monthly newsletter with the latest news and tools for small businesses and landlords.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-222c5d1d wp-block-buttons-is-layout-flex\" style=\"margin-bottom:var(--wp--preset--spacing--50)\">\n<div class=\"wp-block-button is-style-outline has-size-medium is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/newsletter-signup\/\">Subscribe to our newsletter<\/a><\/div>\n<\/div>\n\n\n\n<ul class=\"wp-block-social-links has-small-icon-size is-style-logos-only is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-a89b3969 wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.facebook.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on Facebook<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-x  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.x.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z\" \/><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on X<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-youtube  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.youtube.com\/user\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Subscribe to Simply Business Videos on Youtube<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/company\/simply-business_39914\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on LinkedIn<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-instagram  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.instagram.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on Instagram<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-tiktok  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.tiktok.com\/@simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M16.708 0.027c1.745-0.027 3.48-0.011 5.213-0.027 0.105 2.041 0.839 4.12 2.333 5.563 1.491 1.479 3.6 2.156 5.652 2.385v5.369c-1.923-0.063-3.855-0.463-5.6-1.291-0.76-0.344-1.468-0.787-2.161-1.24-0.009 3.896 0.016 7.787-0.025 11.667-0.104 1.864-0.719 3.719-1.803 5.255-1.744 2.557-4.771 4.224-7.88 4.276-1.907 0.109-3.812-0.411-5.437-1.369-2.693-1.588-4.588-4.495-4.864-7.615-0.032-0.667-0.043-1.333-0.016-1.984 0.24-2.537 1.495-4.964 3.443-6.615 2.208-1.923 5.301-2.839 8.197-2.297 0.027 1.975-0.052 3.948-0.052 5.923-1.323-0.428-2.869-0.308-4.025 0.495-0.844 0.547-1.485 1.385-1.819 2.333-0.276 0.676-0.197 1.427-0.181 2.145 0.317 2.188 2.421 4.027 4.667 3.828 1.489-0.016 2.916-0.88 3.692-2.145 0.251-0.443 0.532-0.896 0.547-1.417 0.131-2.385 0.079-4.76 0.095-7.145 0.011-5.375-0.016-10.735 0.025-16.093z\" \/><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on TikTok<\/span><\/a><\/li><\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GitHub Actions enables you to create custom workflows for your software development life cycle and automate them within your GitHub repository. In this article, we&#8217;ll walk through how to create a GitHub action in Ruby to automate your continuous integration pipeline. Note:&nbsp;Before you start, you&#8217;ll need a basic understanding of GitHub Actions. If you&#8217;re not [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sb_hreflang":"","sb_hreflang_url":"","disable_breadcrumbs":false,"sb_breadcrumbs":[],"footnotes":""},"tags":[],"hidden-category":[],"coauthors":[266],"class_list":["post-349","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Creating GitHub actions in Ruby<\/title>\n<meta name=\"description\" content=\"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create GitHub actions in Ruby\" \/>\n<meta property=\"og:description\" content=\"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\" \/>\n<meta property=\"og:site_name\" content=\"Simply Business UK\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/simplybusiness\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-10T14:42:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-30T09:38:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/06\/github-actions.jpeg\" \/>\n<meta name=\"author\" content=\"Punit Jain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@simplybusiness\" \/>\n<meta name=\"twitter:site\" content=\"@simplybusiness\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Punit Jain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\"},\"author\":{\"@type\":\"Person\",\"name\":\"Punit Jain\",\"description\":\"\"},\"headline\":\"How to create GitHub actions in Ruby\",\"datePublished\":\"2022-03-10T14:42:00+00:00\",\"dateModified\":\"2024-05-30T09:38:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\"},\"wordCount\":980,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\",\"name\":\"Creating GitHub actions in Ruby\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\",\"datePublished\":\"2022-03-10T14:42:00+00:00\",\"dateModified\":\"2024-05-30T09:38:04+00:00\",\"description\":\"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp\",\"width\":1152,\"height\":414,\"caption\":\"sb-tech-site-banner\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.simplybusiness.co.uk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to create GitHub actions in Ruby\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#website\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/\",\"name\":\"Simply Business UK\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.simplybusiness.co.uk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#\/schema\/person\/77f91625e7ec1b88a7fca8910ce6c69f\",\"name\":\"rishvashah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp9df6147f02078f0218660330fdfbacf3\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp\",\"caption\":\"rishvashah\"}},{\"@type\":\"PostalAddress\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#local-main-place-address\",\"streetAddress\":\"Hylo, 105 Bunhill Row\",\"addressLocality\":\"London\",\"postalCode\":\"EC1Y 8LZ\",\"addressCountry\":\"GB\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#local-main-organization-logo\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png\",\"width\":533,\"height\":187,\"caption\":\"Simply Business UK\"}]}<\/script>\n<meta name=\"geo.placename\" content=\"London\" \/>\n<meta name=\"geo.region\" content=\"United Kingdom (UK)\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creating GitHub actions in Ruby","description":"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/","og_locale":"en_GB","og_type":"article","og_title":"How to create GitHub actions in Ruby","og_description":"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.","og_url":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/","og_site_name":"Simply Business UK","article_publisher":"https:\/\/www.facebook.com\/simplybusiness","article_published_time":"2022-03-10T14:42:00+00:00","article_modified_time":"2024-05-30T09:38:04+00:00","og_image":[{"url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/06\/github-actions.jpeg","type":"","width":"","height":""}],"author":"Punit Jain","twitter_card":"summary_large_image","twitter_creator":"@simplybusiness","twitter_site":"@simplybusiness","twitter_misc":{"Written by":"Punit Jain","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#article","isPartOf":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/"},"author":{"@type":"Person","name":"Punit Jain","description":""},"headline":"How to create GitHub actions in Ruby","datePublished":"2022-03-10T14:42:00+00:00","dateModified":"2024-05-30T09:38:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/"},"wordCount":980,"commentCount":0,"publisher":{"@id":"https:\/\/www.simplybusiness.co.uk\/#organization"},"image":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024","inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/","url":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/","name":"Creating GitHub actions in Ruby","isPartOf":{"@id":"https:\/\/www.simplybusiness.co.uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage"},"image":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024","datePublished":"2022-03-10T14:42:00+00:00","dateModified":"2024-05-30T09:38:04+00:00","description":"Much has been written about how to set up GitHub actions in JavaScript, but less so in Ruby. Follow our step-by-step guide to creating GitHub actions in Ruby.","breadcrumb":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#primaryimage","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp","width":1152,"height":414,"caption":"sb-tech-site-banner"},{"@type":"BreadcrumbList","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.simplybusiness.co.uk\/"},{"@type":"ListItem","position":2,"name":"How to create GitHub actions in Ruby"}]},{"@type":"WebSite","@id":"https:\/\/www.simplybusiness.co.uk\/#website","url":"https:\/\/www.simplybusiness.co.uk\/","name":"Simply Business UK","description":"","publisher":{"@id":"https:\/\/www.simplybusiness.co.uk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.simplybusiness.co.uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.simplybusiness.co.uk\/#\/schema\/person\/77f91625e7ec1b88a7fca8910ce6c69f","name":"rishvashah","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp9df6147f02078f0218660330fdfbacf3","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp","caption":"rishvashah"}},{"@type":"PostalAddress","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#local-main-place-address","streetAddress":"Hylo, 105 Bunhill Row","addressLocality":"London","postalCode":"EC1Y 8LZ","addressCountry":"GB"},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby\/#local-main-organization-logo","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png","width":533,"height":187,"caption":"Simply Business UK"}]},"geo.placename":"London","geo.region":"United Kingdom (UK)"},"parsely":{"version":"1.1.0","canonical_url":"https:\/\/simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby","smart_links":{"inbound":0,"outbound":0},"traffic_boost_suggestions_count":0,"meta":{"@context":"https:\/\/schema.org","@type":"NewsArticle","headline":"How to create GitHub actions in Ruby","url":"http:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby","mainEntityOfPage":{"@type":"WebPage","@id":"http:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/creating-github-action-in-ruby"},"thumbnailUrl":"","image":{"@type":"ImageObject","url":""},"articleSection":"Uncategorised","author":[{"@type":"Person","name":"Punit Jain"}],"creator":["Punit Jain"],"publisher":{"@type":"Organization","name":"Simply Business UK","logo":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/04\/icon-512x512-1.png"},"keywords":[],"dateCreated":"2022-03-10T14:42:00Z","datePublished":"2022-03-10T14:42:00Z","dateModified":"2024-05-30T09:38:04Z"},"rendered":"<script type=\"application\/ld+json\" class=\"wp-parsely-metadata\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"NewsArticle\",\"headline\":\"How to create GitHub actions in Ruby\",\"url\":\"http:\\\/\\\/www.simplybusiness.co.uk\\\/about-us\\\/tech\\\/2022\\\/03\\\/creating-github-action-in-ruby\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.simplybusiness.co.uk\\\/about-us\\\/tech\\\/2022\\\/03\\\/creating-github-action-in-ruby\"},\"thumbnailUrl\":\"\",\"image\":{\"@type\":\"ImageObject\",\"url\":\"\"},\"articleSection\":\"Uncategorised\",\"author\":[{\"@type\":\"Person\",\"name\":\"Punit Jain\"}],\"creator\":[\"Punit Jain\"],\"publisher\":{\"@type\":\"Organization\",\"name\":\"Simply Business UK\",\"logo\":\"https:\\\/\\\/www.simplybusiness.co.uk\\\/wp-content\\\/uploads\\\/sites\\\/3\\\/2024\\\/04\\\/icon-512x512-1.png\"},\"keywords\":[],\"dateCreated\":\"2022-03-10T14:42:00Z\",\"datePublished\":\"2022-03-10T14:42:00Z\",\"dateModified\":\"2024-05-30T09:38:04Z\"}<\/script>","tracker_url":"https:\/\/cdn.parsely.com\/keys\/simplybusiness.co.uk\/p.js"},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/comments?post=349"}],"version-history":[{"count":36,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/349\/revisions"}],"predecessor-version":[{"id":13894,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/349\/revisions\/13894"}],"wp:attachment":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/media?parent=349"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/tags?post=349"},{"taxonomy":"hidden-category","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/hidden-category?post=349"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/coauthors?post=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}