Skip to content

Commit

Permalink
GitHub Enterprise Server 3.12 release candidate (#48810)
Browse files Browse the repository at this point in the history
Co-authored-by: David Jarzebowski <[email protected]>
Co-authored-by: isaacmbrown <[email protected]>
Co-authored-by: Isaac Brown <[email protected]>
Co-authored-by: Rachael Rose Renk <[email protected]>
Co-authored-by: Joe Clark <[email protected]>
  • Loading branch information
6 people authored Feb 15, 2024
1 parent 53e327b commit 4ba475a
Show file tree
Hide file tree
Showing 45 changed files with 922,222 additions and 64 deletions.
199 changes: 199 additions & 0 deletions assets/ghes-3-12-opentelemetry-attribute-mappings.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
Category,Old Attribute,New Attribute
Aqueduct,kube_cluster,k8s.cluster.name
Aqueduct,kube_app,k8s.app.name
Aqueduct,kube_pod_namespace,k8s.pod.namespace
Aqueduct,kube_pod,k8s.pod.name
Aqueduct,kube_pod_ip,k8s.pod.ip
Aqueduct,current_ref,aqueduct.ref
Aqueduct,cluster,aqueduct.cluster.name
Aqueduct Bridge,current_ref,aqueduct-bridge.ref
Pull Requests,pull,gh.pull_request.id
Pull Requests,pull_valid,gh.pull_request.valid
Pull Requests,pull_saved,gh.pull_request.saved
Pull Requests,pull_errors,gh.pull_request.errors
Pull Requests,issue_valid,gh.issue.valid
Pull Requests,issue_saved,gh.issue.saved
Pull Requests,issue_errors,gh.issue.errors
Viewscreen,action,gh.viewscreen.action
Viewscreen,format,gh.viewscreen.format
gitcoin/billing,business_id,gh.business.id
gitcoin/billing,failed_event,code.namespace
gitcoin/billing,job,gh.job.name
gitcoin/billing,customer_id,gh.customer.id
gitcoin/billing,product,gh.product.name
gitcoin/billing,legacy,gh.billing.legacy.status
gitcoin/billing,purpose,gh.billing.synchronization.purpose
gitcoin/billing,user_id,gh.user.id
gitcoin/billing,plan_name,gh.plan.name
gitcoin/billing,attempts_per_exception,gh.job.attempt.count
gitcoin/billing,account_id,gh.billing.zuora_account.id
gitcoin/billing,owner_id,gh.user.id
gitcoin/billing,asset_status_id,gh.asset_status.id
gitcoin/billing,user,gh.user.id
gitcoin/billing,billing_transaction_id,gh.billing.transaction.id
gitcoin/billing,twirp_error_code,http.status.code
gitcoin/billing,name,http.method
gitcoin/billing,user,gh.target.id
gitcoin/billing,business,gh.business.id
gitcoin/billing,results,gh.billing.plan_subscription.synchronization.results
gitcoin/billing,zuora_account_id,gh.billing.zuora_account.id
gitcoin/billing,message,gh.billing.result.error_message
gitcoin/billing,message,gh.billing.zuora.result.error_message
gitcoin/billing,name,code.function
gitcoin/billing,stripe_transfer_id,gh.billing.stripe_transfer.id
gitcoin/billing,account_id,gh.account.id
gitcoin/billing,account_type,gh.account.type
gitcoin/billing,subscription_item_id,gh.billing.subscription_item.id
gitcoin/billing,target ,gh.target.id
gitcoin/billing,processor,code.namespace
gitcoin/billing,zuora_invoice_id,gh.billing.zuora_invoice.id
gitcoin/billing,zuora_error_result,gh.billing.zuora.result
gitcoin/billing,invoice_id,gh.billing.zuora.invoice.id
gitcoin/billing,adjustment_amount,gh.billing.zuora.invoice_adjustment.amount
gitcoin/billing,adjustments ,gh.billing.zuora.adjustments
gitcoin/billing,message,gh.billing.braintree.response.message
gitcoin/billing,gh.user.login,gh.user.id
gitcoin/billing,gh.billing.billable_entity.name,gh.billing.billable_entity.id
notebooks,repository_id,gh.repo.id
notebooks,commit,gh.git.sha
notebooks,browser,browser.brands
notebooks,version,browser.brands
notebooks,kube_cluster_name,k8s.cluster.name
notebooks,path,url.path
notebooks,is_iframe,gh.notebooks.is_iframe
notebooks,source,gh.notebooks.error.source
notebooks,repository_type,gh.notebooks.repo_type
notebooks,view_type,gh.notebooks.view_type
notebooks,LFS,gh.notebooks.LFS
notebooks,bypass_fastly,gh.notebooks.bypass_fastly
notebooks,fastly-cache-hit,gh.notebooks.fastly_cache_hit
notebooks,codeload_response,gh.notebooks.codeload.response
notebooks,codeload_status_code,gh.notebooks.codeload.status
notebooks,language,gh.notebooks.notebook.language
notebooks,visibility,gh.notebooks.notebook.visibility
notebooks,file_size,gh.notebooks.notebook.size
notebooks,notebook_version,gh.notebooks.notebook.version
Pull Requests,method,gh.pull_request.merge_method
Pull Requests,head_oid,gh.pull_request.head_oid
Pull Requests,base_oid,gh.pull_request.base_oid
Pull Requests,root_oid,gh.pull_request.root_oid
Pull Requests,comment_id,gh.comment.id
Pull Requests,user_id,gh.owner.id
Pull Requests,force_pushed,gh.pull_request.force_pushed
Pull Requests,pusher,gh.pull_request.pusher.id
Pull Requests,ref_name,gh.merge_queue.ref_name_suffix
Pull Requests,ref_sha,gh.merge_queue.ref_sha
Pull Requests,gh.merge_queue.branch,gh.merge_queue.id
Pull Requests,queue_id,gh.merge_queue.id
Pull Requests,record_errors,gh.merge_queue.record_errors
Pull Requests,new_head_ref,gh.pull_request.new_head_ref
Pull Requests,job_id,gh.pull_request.job.id
Pull Requests,spec,gh.repo.dgit_spec
Pull Requests,thread,gh.pull_request_review_thread.id
Pull Requests,reason_code,gh.pull_request.reason_code
Pull Requests,auto_merge_request_id,gh.auto_merge_request.id
Pull Requests,solo,gh.auto_merge_request.solo
Pull Requests,jump_queue,gh.auto_merge_request.jump_queue
Pull Requests,head_repo_id,gh.pull_request.head_repo.id
Pull Requests,branch,gh.merge_queue.branch
Pull Requests,guid,gh.pull_request.guid
Pull Requests,fn,"code.namespace,code.function"
Pull Requests,organization,gh.organization
Pull Requests,result,gh.merge_queue.result
Pull Requests,feature_flag,gh.merge_queue.feature_flag
Pull Requests,plan_support,gh.merge_queue.plan_support
Pull Requests,github_owned,gh.merge_queue.github_owned
Pull Requests,direct_compare,gh.pull_request.comparison.direct
Pull Requests,head_ref_valid,gh.pull_request.head_ref.valid
Pull Requests,comparison_viewable,gh.pull_request.comparison.viewable
Pull Requests,comparison_valid,gh.pull_request.comparison.valid
Pull Requests,pull_valid,gh.pull_request.valid
Pull Requests,pull_saved,gh.pull_request.saved
Pull Requests,pull_errors,gh.pull_request.errors
API,accept,http.request.header.accept
API,api_route,http.route
API,auth_fingerprint,gh.auth.fingerprint
API,auth,gh.auth.type
API,connections,gh.db.connection_map
API,content_authorization_failure,gh.auth.failure.name
API,controller,code.namespace
API,critical,gh.exception.is_critical
API,current_user,gh.actor.id
API,granted_oauth_scopes,enduser.scope
API,graphql_current_field,gh.graphql.current_field
API,graphql_current_path,gh.graphql.current_path
API,graphql_global_id_type,gh.graphql.global_id_type
API,graphql_query_hash,gh.graphql.query_hash
API,graphql_schema_target,gh.graphql.schema_target
API,graphql_variables_hash,gh.graphql.variables_hash
API,graphql,gh.request.is_graphql
API,installation_id,gh.integration_installation.id
API,integration_id,gh.integration.id
API,integration,gh.integration.id
API,is_employee,gh.user.is_employee
API,is_protected_by_hmac,gh.api.is_protected_by_hmac
API,language,http.request.header.accept_language
API,limited_index,gh.rate_limit.secondary.search_index
API,limited_key,gh.rate_limit.secondary.key
API,limited_limit,gh.rate_limit.secondary.max
API,limited_ttl,gh.rate_limit.secondary.ttl
API,limited,gh.rate_limit.secondary.limit_reason
API,master_pid,process.parent_pid
API,master_started_at,gh.process.parent.started_at
API,method,http.method
API,oauth_access_id,gh.oauth.access.id
API,oauth_app,gh.oauth.app.id
API,oauth_application_id,gh.oauth.app.id
API,oauth_party,gh.oauth.app.party_type
API,oauth_scopes,enduser.scope
API,operation_name,graphql.operation.name
API,org,gh.organization.login
API,origin,gh.graphql.origin
API,params,http.request.parameters.*
API,parent_installation_id,gh.parent_installation.id
API,path_info,http.path
API,private_repo,gh.repo.is_private
API,query_owning_catalog_service,gh.graphql.catalog_service
API,query_string,http.query
API,rails,rails.version
API,rate_limit_family,gh.rate_limit.primary.family
API,rate_limit_key,gh.rate_limit.primary.key
API,rate_limit_remaining,gh.rate_limit.primary.remaining
API,rate_limit_reset,gh.rate_limit.primary.reset
API,rate_limit_used,gh.rate_limit.primary.used
API,rate_limit,gh.rate_limit.primary.max
API,referrer_controller_action,gh.graphql.referrer.controller_action
API,repo_id,gh.repo.id
API,request_category,gh.request.category
API,request_id,gh.request_id
API,request_wait_time,gh.request.wait_duration
API,requested_api_version,gh.api.requested_version
API,requested_at,gh.request.start_time
API,robot,gh.robot.type
API,route,http.route
API,selected_api_version_reason,gh.api.selected_version_reason
API,selected_api_version,gh.api.selected_version
API,server_id,service.instance.id
API,time,gh.exception.create_time
API,twirp_client_name,peer.service
API,twirp_client,peer.service
API,twirp_handler_class,rpc.service
API,twirp_rpc_method,rpc.method
API,unconverted_path,gh.api.is_unconverted_path
API,url_pattern,gh.graphql.referrer.http.route
API,user_agent,http.request.header.user_agent
API,user_programmatic_access_id,gh.user_programmatic_access.id
API,version,gh.api.version
API,viewer,gh.graphql.viewer.id
API,worker_pid,process.pid
API,worker_request_count,http.server.request.count
API,worker_started_at,gh.process.started_at
API,x_forwarded_for,http.request.header.x_forwarded_for
API,x_real_ip,http.request.header.x_real_ip
API,tenant,gh.tenant.id
API,user,gh.user.id
API,current_user,gh.actor.id
API,current_user,gh.actor.login
API,org,gh.organization.id
API,org,gh.organization.login
API,viewer,gh.graphql.viewer.id
Original file line number Diff line number Diff line change
Expand Up @@ -1080,7 +1080,7 @@ git-import-svn-raw

### git-import-tfs-raw

This utility imports from Team Foundation Version Control (TFVC). For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-from-other-version-control-systems-with-the-administrative-shell))."
This utility imports from Team Foundation Version Control (TFVC). For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-from-other-version-control-systems-with-the-administrative-shell)."

```shell
git-import-tfs-raw
Expand Down Expand Up @@ -1173,6 +1173,26 @@ In this example, `ghe-repl-status -vv` sends verbose status information from a r
## Upgrading {% data variables.product.prodname_ghe_server %}
{% ifversion ghes-upgrade-complete-indicator %}
### ghe-check-background-upgrade-jobs
During an upgrade to a feature release, this utility displays the status of background jobs on {% data variables.location.product_location %}. If you're running back-to-back upgrades, you should use this utility to check that all background jobs are complete before proceeding with the next upgrade.

{% ifversion ghes < 3.12 %}
{% note %}

**Note:** To use `ghe-check-background-upgrade-jobs` with {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}, your instance must run version {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.8 %}12{% elsif ghes = 3.9 %}7{% elsif ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} or later.

{% endnote %}
{% endif %}

```shell
ghe-check-background-upgrade-jobs
```

{% endif %}

{% ifversion ghe-migrations-cli-utility %}

### ghe-migrations
Expand Down Expand Up @@ -1274,7 +1294,7 @@ This utility will enforce the default organization membership visibility setting
ghe-org-membership-update --visibility=SETTING
```

### `ghe-user-csv`
### ghe-user-csv

This utility exports a list of all the users in the installation into CSV format. The CSV file includes the email address, which type of user they are (e.g., admin, user), how many repositories they have, how many SSH keys, how many organization memberships, last logged IP address, etc. Use the `-h` flag for more options.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Additional data is transmitted if you enable individual features of {% data vari

| Feature | Data | Which way does the data flow? | Where is the data used? |
| ------- | ---- | --------- | ------ |{% ifversion ghes %}
Automatic user license sync | Each {% data variables.product.product_name %} user's user ID and email addresses | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes %}
Automatic user license sync | Each {% data variables.product.product_name %} user's user ID and email addresses{% ifversion ghas-in-license-sync %}, and whether the user consumes a license for {% data variables.product.prodname_GH_advanced_security %}{% endif %} | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes %}
{% data variables.product.prodname_dependabot_alerts %} | Vulnerability alerts | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %}
{% data variables.product.prodname_dependabot_updates %} | Dependencies and the metadata for each dependency's repository<br><br>If a dependency is stored in a private repository on {% data variables.product.prodname_dotcom_the_website %}, data will only be transmitted if {% data variables.product.prodname_dependabot %} is configured and authorized to access that repository. | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %}
{% data variables.product.prodname_dotcom_the_website %} actions | Name of action, action (YAML file from {% data variables.product.prodname_marketplace %}) | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}<br><br>From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ topics:
- If you’re several versions behind, upgrade {% data variables.location.product_location %} as far forward as possible with each step of your upgrade process. Using the latest version possible on each upgrade allows you to take advantage of performance improvements and bug fixes. For example, you could upgrade from {% data variables.product.prodname_enterprise %} 2.7 to 2.8 to 2.10, but upgrading from {% data variables.product.prodname_enterprise %} 2.7 to 2.9 to 2.10 uses a later version in the second step.
- Use the latest patch release when upgrading. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %}
- Use a staging instance to test the upgrade steps. For more information, see "[AUTOTITLE](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)."
- When running multiple upgrades, wait at least 24 hours between feature upgrades to allow data migrations and upgrade tasks running in the background to fully complete.
- When running multiple upgrades, {% ifversion ghes-upgrade-complete-indicator %}ensure data migrations and upgrade tasks running in the background are fully complete before proceeding to the next feature upgrade. To check the status of these processes, you can use the `ghe-migrations` and `ghe-check-background-upgrade-jobs` command-line utilities. {% ifversion ghes < 3.12 %} To use `ghe-check-background-upgrade-jobs` with {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}, your instance must run version {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.8 %}12{% elsif ghes = 3.9 %}7{% elsif ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} or later. {% endif %}For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#upgrading-github-enterprise-server)."{% else %}wait at least 24 hours between feature upgrades to allow data migrations and upgrade tasks running in the background to fully complete.{% endif %}
- Take a snapshot before upgrading your virtual machine. For more information, see "[AUTOTITLE](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server#taking-a-snapshot)."
- Ensure you have a recent, successful backup of your instance. For more information, see the [{% data variables.product.prodname_enterprise_backup_utilities %} README.md file](https://github.com/github/backup-utils#readme).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,14 @@ While you can use a hotpatch to upgrade to the latest patch release within a fea
{%- ifversion ghe-migrations-cli-utility %}
1. Optionally, during an upgrade to a feature release, you can monitor the status of database migrations using the `ghe-migrations` utility. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-migrations)."
{%- endif %}
1. After the instance restarts, the upgrade will continue in the background. You cannot unset maintenance mode until the process completes. To monitor progress, read the output in `/data/user/common/ghe-config.log`. For example, you can tail the log by running the following command:
1. After the instance restarts, the upgrade will continue in the background. You cannot unset maintenance mode until the process completes.

{% ifversion ghes-upgrade-complete-indicator %}
To check the status of background jobs, use the `ghe-check-background-upgrade-jobs` utility. If you're running back-to-back upgrades, you must ensure background jobs are complete before proceeding with the following upgrade to a feature release.

{%- ifversion ghes < 3.12 %} To use this utility with {% data variables.product.product_name %} {{ allVersions[currentVersion].currentRelease }}, your instance must run version {{ allVersions[currentVersion].currentRelease }}.{% ifversion ghes = 3.8 %}12{% elsif ghes = 3.9 %}7{% elsif ghes = 3.10 %}4{% elsif ghes = 3.11 %}1{% endif %} or later.{% endif %}{%- endif %} For more information{% ifversion ghes < 3.12 %} about the utility{% endif %}, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-check-background-upgrade-jobs)."

To monitor progress of the configuration run, read the output in `/data/user/common/ghe-config.log`. For example, you can tail the log by running the following command:

```shell
tail -f /data/user/common/ghe-config.log
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,8 @@ When you decide which repositories and organizations to prioritize for {% data v

When you have enabled {% data variables.product.prodname_GH_advanced_security %} for these organizations or repositories, assess which other codebases you could add without incurring billing for unique {% ifversion ghas-billing-UI-update %}active {% endif %}committers. Finally, review the remaining important and busy codebases. {% ifversion fpt or ghes or ghec %}If you want to increase the number of {% ifversion ghas-billing-UI-update %}licensed active committers, {% else %}seats in your license, {% endif %}contact {% data variables.contact.contact_enterprise_sales %}.{% endif %}

{% ifversion ghas-in-license-sync %}
If your enterprise uses {% data variables.product.prodname_GH_advanced_security %} on both {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}, you can ensure users aren't consuming multiple licenses unnecessarily by synchronizing license usage between environments.{% ifversion ghec %} {% data variables.product.prodname_GH_advanced_security %} is included in license sync in {% data variables.product.prodname_ghe_server %} version 3.12 and later.{% endif %} For more information, see "[AUTOTITLE](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)."
{% endif %}

{% endif %}
Loading

0 comments on commit 4ba475a

Please sign in to comment.