André Arko 5635bf05bc Upgrade Rails workflow to true CI (#1353)
* Upgrade Rails workflow to true CI

The existing Rails CI example only runs linters, which is not continuous
integration. This change brings the Rails example workflow up to par
with the other web framework CI flows, like Django.

This example is optimized for Rails 7, which does not include NodeJS,
webpack, or yarn by default. No Rails application code changes are
required for this flow to run the tests, and both minitest and rspec are
supported via the `test` rake task.

* add Rails icon

* use env vars, hopefully

* use the full hash for ruby/setup-ruby

* remove PORT since services cannot use it

* stop repeating identical step envs

* resolve env var declaration error

* update setup-ruby to the SHA of v1.92

* use setup-ruby SHA for lint job too

Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
2022-01-18 02:04:33 +05:30
2022-01-14 03:00:11 +00:00
2021-12-16 10:55:17 +00:00
2020-03-21 14:53:31 +00:00
2020-05-20 10:00:39 -07:00
2021-07-16 12:30:45 -07:00
2020-11-24 13:39:40 -08:00
2021-09-24 18:05:34 -04:00

Starter Workflows

These are the workflow files for helping people get started with GitHub Actions. They're presented whenever you start to create a new GitHub Actions workflow.

If you want to get started with GitHub Actions, you can use these starter workflows by clicking the "Actions" tab in the repository where you want to create a workflow.

Directory structure

Each workflow must be written in YAML and have a .yml extension. They also need a corresponding .properties.json file that contains extra metadata about the workflow (this is displayed in the GitHub.com UI).

For example: ci/django.yml and ci/properties/django.properties.json.

Valid properties

  • name: the name shown in onboarding. This property is unique within the repository.
  • description: the description shown in onboarding
  • iconName: the icon name in the relevant folder, for example, django should have an icon icons/django.svg. Only SVG is supported at this time. Another option is to use octicon. The format to use an octicon is octicon <<icon name>>. Example: octicon person
  • creator: creator of the template shown in onboarding. All the workflow templates from an author will have the same creator field.
  • categories: the categories that it will be shown under. Choose at least one category from the list here. Further, choose the categories from the list of languages available here. When a user views the available templates, those templates that match the same language will feature more prominently.

Categories

  • continuous-integration
  • deployment
  • testing
  • code-quality
  • code-review
  • dependency-management
  • monitoring
  • Automation
  • utilities

Variables

These variables can be placed in the starter workflow and will be substituted as detailed below:

  • $default-branch: will substitute the branch from the repository, for example main and master
  • $protected-branches: will substitute any protected branches from the repository
  • $cron-daily: will substitute a valid but random time within the day
Languages
TypeScript 100%