Skip to content

Commit

Permalink
Merge branch 'main' into mars-2020/post-launch-updates
Browse files Browse the repository at this point in the history
  • Loading branch information
saritai authored Apr 23, 2021
2 parents a0385e8 + 3de9e6c commit 2b48c31
Show file tree
Hide file tree
Showing 34 changed files with 698 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,9 @@ jobs:
path: vendor/bundle
key: administrate-${{ matrix.image }}-${{ hashFiles('Gemfile.lock') }}
- name: Install postgres headers
run: sudo apt-get install libpq-dev
run: |
sudo apt-get update
sudo apt-get install libpq-dev
- name: Install dependencies
run: bundle install --path vendor/bundle
- name: Setup environment configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ We recommend using actions to interact with the software installed on runners. T

If there is a tool that you'd like to request, please open an issue at [actions/virtual-environments](https://github.com/actions/virtual-environments). This repository also contains announcements about all major software updates on runners.

#### Installing additional software

You can install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Customizing GitHub-hosted runners](/actions/using-github-hosted-runners/customizing-github-hosted-runners)".

### IP addresses

{% note %}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: Customizing GitHub-hosted runners
intro: >-
You can install additional software on GitHub-hosted runners as a
part of your workflow.
product: '{% data reusables.gated-features.actions %}'
versions:
free-pro-team: '*'
enterprise-server: '>=2.22'
type: tutorial
topics:
- Workflows
---

{% data reusables.actions.enterprise-github-hosted-runners %}

If you require additional software packages on {% data variables.product.prodname_dotcom %}-hosted runners, you can create a job that installs the packages as part of your workflow.

To see which packages are already installed by default, see "[Preinstalled software](/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software)."

This guide demonstrates how to create a job that installs additional software on a {% data variables.product.prodname_dotcom %}-hosted runner.

### Installing software on Ubuntu runners

The following example demonstrates how to install an `apt` package as part of a job.

{% raw %}
```yaml
name: Build on Ubuntu
on: push

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Install jq tool
run: |
sudo apt-get update
sudo apt-get install jq
```
{% endraw %}
{% note %}
**Note:** Always run `sudo apt-get update` before installing a package. In case the `apt` index is stale, this command fetches and re-indexes any available packages, which helps prevent package installation failures.

{% endnote %}

### Installing software on macOS runners

The following example demonstrates how to install Brew packages and casks as part of a job.

{% raw %}
```yaml
name: Build on macOS
on: push
jobs:
build:
runs-on: macos-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Install GitHub CLI
run: |
brew update
brew install gh
- name: Install Microsoft Edge
run: |
brew update
brew install --cask microsoft-edge
```
{% endraw %}

### Installing software on Windows runners

The following example demonstrates how to use [Chocolatey](https://community.chocolatey.org/packages) to install the {% data variables.product.prodname_dotcom %} CLI as part of a job.

{% raw %}
```yaml
name: Build on Windows
on: push
jobs:
build:
runs-on: windows-latest
steps:
- run: choco install gh
- run: gh version
```
{% endraw %}
1 change: 1 addition & 0 deletions content/actions/using-github-hosted-runners/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ versions:
{% data reusables.actions.enterprise-github-hosted-runners %}

{% link_in_list /about-github-hosted-runners %}
{% link_in_list /customizing-github-hosted-runners %}
{% link_in_list /about-ae-hosted-runners %}
{% link_in_list /adding-ae-hosted-runners %}
{% link_in_list /using-ae-hosted-runners-in-a-workflow %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,19 @@ You can use {% data variables.product.prodname_github_connect %} to allow {% dat

Once {% data variables.product.prodname_github_connect %} is configured, you can use the latest version of an action by deleting its local repository in the `actions` organization on your instance. For example, if your enterprise instance is using the `actions/checkout@v1` action, and you need to use `actions/checkout@v2` which isn't available on your enterprise instance, perform the following steps to be able to use the latest `checkout` action from {% data variables.product.prodname_dotcom_the_website %}:

1. To get the required access to delete the `checkout` repository, use the `ghe-org-admin-promote` command to promote a user to be an owner of the bundled `actions` organization. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[`ghe-org-admin-promote`](/admin/configuration/command-line-utilities#ghe-org-admin-promote)." For example:
1. By default, site administrators are not owners of the bundled actions organization. To get the required access to delete the `checkout` repository, use the `ghe-org-admin-promote` command to promote a user to be an owner of the bundled `actions` organization. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[`ghe-org-admin-promote`](/admin/configuration/command-line-utilities#ghe-org-admin-promote)." For example:

```shell
ghe-org-admin-promote -u <em>USERNAME</em> -o actions
$ ghe-org-admin-promote -u octocat -o actions
Do you want to give organization admin privileges for actions to octocat? (y/N) y
Making octocat an admin of actions
--> Adding octocat as an admin of actions
--> octocat is now an admin of the actions organization
--> Done.
```
1. On your {% data variables.product.product_name %} instance, delete the `checkout` repository within the `actions` organization. For information on how to delete a repository, see "[Deleting a repository
](/github/administering-a-repository/deleting-a-repository)."
1. It is recommended that you leave the `actions` organization once you no longer require administrative access. For more information, see "[Removing yourself from an organization
](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-an-organization)."
1. Configure your workflow's YAML to use `actions/checkout@v2`.
1. Each time your workflow runs, the runner will use the `v2` version of `actions/checkout` from {% data variables.product.prodname_dotcom_the_website %}.
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ After adding a new SSH key to your {% data variables.product.product_name %} acc
If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace.

```shell
$ sudo apt-get update
$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ topics:

{% tip %}

**GitHub Enterprise users**: Accessing GitHub Enterprise via SSH over the HTTPS port is currently not supported.
**{% data variables.product.prodname_ghe_server %} users**: Accessing {% data variables.product.prodname_ghe_server %} via SSH over the HTTPS port is currently not supported.

{% endtip %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Dropbox | Dropbox Short Lived Access Token | dropbox_short_lived_access_token
Dynatrace | Dynatrace Access Token | dynatrace_access_token
Dynatrace | Dynatrace Internal Token | dynatrace_internal_token
Facebook | Facebook Access Token | facebook_access_token
Fastly | Fastly API Token | fastly_api_token
Finicity | Finicity App Key | finicity_app_key
Frame.io | Frame.io JSON Web Token | frameio_jwt
Frame.io| Frame.io Developer Token | frameio_developer_token
Expand All @@ -54,6 +55,7 @@ Mailchimp | Mailchimp API Key | mailchimp_api_key
Mailgun | Mailgun API Key | mailgun_api_key
npm | npm Access Token | npm_access_token
NuGet | NuGet API Key | nuget_api_key
OpenAI | OpenAI API Key | openai_api_key
Palantir | Palantir JSON Web Token | palantir_jwt
Postman | Postman API Key | postman_api_key
Proctorio | Proctorio Consumer Key | proctorio_consumer_key
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Mailgun | Mailgun API Key
MessageBird | MessageBird API Key
npm | npm Access Token
NuGet | NuGet API Key
OpenAI | OpenAI API Key
Palantir | Palantir JSON Web Token
Plivo | Plivo Auth Token
Postman | Postman API Key
Expand Down
3 changes: 2 additions & 1 deletion feature-flags.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"FEATURE_TEST_TRUE": true,
"FEATURE_TEST_FALSE": false
"FEATURE_TEST_FALSE": false,
"FEATURE_NEW_SITETREE": false
}
8 changes: 8 additions & 0 deletions includes/article.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,14 @@ <h2 id="in-this-article" class="f5 mb-2"><a class="Link--primary" href="#in-this
{% include featured-links %}
{% endif %}
{{ renderedPage }}

{% if tocItems and tocItems.length %}
{% if page.documentType == "category" or page.relativePath == "github/index.md" %}
{% include generic-toc-list %}
{% else %}
{% include generic-toc-items %}
{% endif %}
{% endif %}
</div>
</div>

Expand Down
14 changes: 14 additions & 0 deletions includes/breadcrumbs.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
{% if FEATURE_NEW_SITETREE %}
<nav class="breadcrumbs f5" aria-label="Breadcrumb">
{% for breadcrumb in breadcrumbs %}
{% if breadcrumb.href == '' %}
<span title="{{ breadcrumb.documentType }}: {{ breadcrumb.title }}">{{ breadcrumb.title }}</span>
{% else %}
<a title="{{ breadcrumb.documentType }}: {{ breadcrumb.title }}" href="{{ breadcrumb.href }}" class="d-inline-block {% if breadcrumb.href == currentPath %}text-gray-light{% endif %}">
{{ breadcrumb.title }}
</a>
{% endif %}
{% endfor %}
</nav>
{% else %}
<nav class="breadcrumbs f5" aria-label="Breadcrumb">
{% for breadcrumb in breadcrumbs %}
{% if breadcrumb[1].href == '' %}
Expand All @@ -9,3 +22,4 @@
{% endif %}
{% endfor %}
</nav>
{% endif %}
34 changes: 34 additions & 0 deletions includes/category-articles-list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{% for categoryPage in currentProductTree.childPages %}
{% if categoryPage.href == currentPath %}{% assign currentCategory = categoryPage %}{% endif %}
{% endfor %}

{% if currentCategory.page.shortTitle and currentCategory.page.shortTitle != '' %}{% assign currentCategoryTitle = currentCategory.page.shortTitle %}{% else %}{% assign currentCategoryTitle = currentCategory.page.title %}{% endif %}

{% assign maxArticles = 10 %}

<div class="py-6 all-articles-list">
<h2 class="font-mktg mb-4">{{ currentCategoryTitle }} docs</h2>

<div class="d-flex gutter flex-wrap">
{% for childPage in currentCategory.childPages %}
{% unless childPage.page.hidden %}
<div class="col-12 col-lg-4 mb-6 height-full">
<h4 class="mb-3"><a href="{{ childPage.href }}">{{ childPage.page.title }}</a></h4>
<ul class="list-style-none">
{% for grandchildPage in childPage.childPages %}
<li class="mb-3 {% if forloop.index > maxArticles %}d-none{% endif %}">
<a href="{{ grandchildPage.href }}">
{{ grandchildPage.page.title }}
</a>
</li>
{% endfor %}
{% assign numArticles = childPage.childPages | obj_size %}
{% if numArticles > maxArticles %}
<button class="js-all-articles-show-more btn-link Link--secondary">Show {{ numArticles | minus: maxArticles }} more {% octicon "chevron-up" class="v-align-text-bottom" %}</button>
{% endif %}
</ul>
</div>
{% endunless %}
{% endfor %}
</div>
</div>
12 changes: 12 additions & 0 deletions includes/generic-toc-items.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{% if tocItems %}

{% for tocItem in tocItems %}

{% assign title = tocItem.title %}
{% assign fullPath = tocItem.fullPath %}
{% assign intro = tocItem.intro %}
{% include liquid-tags/link-with-intro %}

{% endfor %}

{% endif %}
24 changes: 24 additions & 0 deletions includes/generic-toc-list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{% if tocItems %}
<ul>
{% for tocItem in tocItems %}

{% assign title = tocItem.title %}
{% assign fullPath = tocItem.fullPath %}
{% assign intro = tocItem.intro %}

<li>{% include liquid-tags/link %}
{% if tocItem.childTocItems %}
{% unless page.relativePath == "github/index.md" %}
<ul>
{% for childItem in tocItem.childTocItems %}
{% assign title = childItem.title %}
{% assign fullPath = childItem.fullPath %}
<li>{% include liquid-tags/link %}</li>
{% endfor %}
</ul>
{% endunless %}
{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
46 changes: 46 additions & 0 deletions includes/product-articles-list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{% assign maxArticles = 10 %}

{% if currentProductTree.page.shortTitle and currentProductTree.page.shortTitle != '' %}{% assign productTitle = currentProductTree.page.shortTitle %}{% else %}{% assign productTitle = currentProductTree.page.title %}{% endif %}

<div class="py-6 all-articles-list">
<h2 class="font-mktg mb-4">All {{ productTitle }} docs</h2>

<div class="d-flex gutter flex-wrap">
{% for childPage in currentProductTree.childPages %}
{% if childPage.page.documentType == "article" %}{% assign standaloneCategory = true %}{% else %}{% assign standaloneCategory = false %}{% endif %}
{% unless standaloneCategory %}
<div class="col-12 col-lg-4 mb-6 height-full">
<h4 class="mb-3"><a href="{{ childPage.href }}">{{ childPage.page.title }}</a></h4>

{% if childPage.childPages and childPage.childPages[0].page.documentType == "mapTopic" %}
<ul class="list-style-none">
{% for grandchildPage in childPage.childPages %}
{% unless grandchildPage.page.hidden %}
{% assign numArticles = childPage.childPages | obj_size %}
<li class="mb-3 {% if forloop.index > maxArticles %}d-none{% endif %}">
<a href="{{ grandchildPage.href }}">
{{ grandchildPage.page.title }}
</a>
</li>
{% if numArticles > maxArticles %}
<button class="js-all-articles-show-more btn-link Link--secondary">Show {{ numArticles | minus: maxArticles }} more {% octicon "chevron-up" class="v-align-text-bottom" %}</button>
{% endif %}
{% endunless %}
{% endfor %}
</ul>
{% else %}
<ul class="list-style-none">
{% assign numArticles = childPage.childPages | obj_size %}
{% for grandchildPage in childPage.childPages %}
<li class="mb-3 {% if forloop.index > maxArticles %}d-none{% endif %}"><a href="{{ grandchildPage.href }}">{{ grandchildPage.page.title }}</a></li>
{% endfor %}
</ul>
{% if numArticles > maxArticles %}
<button class="js-all-articles-show-more btn-link Link--secondary">Show {{ numArticles | minus: maxArticles }} more {% octicon "chevron-up" class="v-align-text-bottom" %}</button>
{% endif %}
{% endif %}
</div>
{% endunless %}
{% endfor %}
</div>
</div>
Loading

0 comments on commit 2b48c31

Please sign in to comment.