From 71b4471721490ee5a54ab5756f616b347b113005 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:19:01 -0400 Subject: [PATCH 001/178] Update billing-overview.md --- user/billing-overview.md | 73 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/user/billing-overview.md b/user/billing-overview.md index 2643ea12907..c50761532a5 100644 --- a/user/billing-overview.md +++ b/user/billing-overview.md @@ -5,8 +5,7 @@ permalink: /user/billing-overview/ --- -## Travis CI Plan types - +## Travis CI Plan Types Travis CI billing system consists of two types of subscriptions: Concurrency (fixed-price) based plans and Usage-based plans. The variety of plans allows you to choose the plan that suits your needs. @@ -34,7 +33,7 @@ Due to security reasons and an anti-abuse preventive measure, any new user will > The Free Trial Plan is available only once and for new users only -## Definitions +## Key Definitions *Build minute* - every build minute of a build job after the build job environment is started (queue time and spinning up the environment time are not deducting credits from the allowance). @@ -44,11 +43,11 @@ Due to security reasons and an anti-abuse preventive measure, any new user will *Build job*—a build job is where the build and test work happens. It is executed in an ephemeral environment (removed after a single build job is finished) of a container or VM instance at Travis CI infrastructure. The duration of the build job is tracked, and—if required—the relevant cost is covered from the credits pool. -## Concurrency based plans +## Concurrency-based Plans Concurrency-based plans are similar to what Travis CI has been offering for a long time: the ability to run a build consisting of X concurrent jobs. -### Concurrency-based Plan - Summary +### Concurrency-based Plan Summary | Area | Details | | :--- | --- | @@ -56,7 +55,7 @@ Concurrency-based plans are similar to what Travis CI has been offering for a lo | **Private/Public repositories** | You can build over both private and public repositories with a paid subscription. | | **Build job limits** | As per Plan | -### Concurrency Plan - How it works +### Concurrency-based Plan Summary In Travis CI, builds are executed singularly, without exceeding limitations. Therefore, if executing multiple builds simultaneously or executing a build with multiple build jobs, once the concurrency limit is reached, the reminder builds/jobs must wait until a queue capacity is available for processing. @@ -72,7 +71,7 @@ Credits are used to pay for each build job minute on macOS. Purchase only the cr > If a user/organization on the same Plan tries to execute a job for `os: macOS` and has no credits available (see your [Plans](https://app.travis-ci.com/account/plan)), this build will not execute. In order to proceed, an add-on must be purchased, e.g., 25k credits. Now the build can be executed, and a pre-defined amount of [credits will be charged for each build minute of macOS build job](/user/billing-overview/#usage---credits). -### Concurrency Plan - How to obtain it? +### Subscribe to a Concurrency-based Plan 1. Sign in to Travis CI with the [Version Control System of your choice](/user/onboarding/). 2. Navigate to the [Plan tab](https://app.travis-ci.com/account/plan) and select 'X concurrent jobs Plan'. @@ -80,13 +79,13 @@ Credits are used to pay for each build job minute on macOS. Purchase only the cr 4. Confirm the transaction. -## Usage-based plans +## Usage-based Plans > **If you are running a large number of builds or users each month, please [contact Travis CI Customer Success](mailto:Customer.Success@travis-ci.com) if you’d like to discuss your plan.** The Usage-based pricing system charges Travis CI users and Travis CI organizations depending on the number of minutes each builds jobs run on Travis CI infrastructure and unique users triggering builds. -### Usage-based Plan - Summary +### Usage-based Plan Summary | Area | Details | | :--- | --- | @@ -94,7 +93,7 @@ The Usage-based pricing system charges Travis CI users and Travis CI organizatio | **Private/Public repositories** | With Credits, you can build over both private and public repositories.
With OSS Credits, you can build only over public repositories. | | **Build job limits** | Very high.

The Free Plan assigned automatically upon sign-up has a limit of 20 concurrent jobs. The paid usage-based plans start from a 40 concurrent jobs limit. | -#### Credit costs associated with Usage-based Plans +#### Usage-based Plans Credit Costs 1. User license cost: by default, credits per each unique user triggering a build or a specific rate charged in arrears at the end of the month. See the [Usage - user licenses](#usage---user-licenses) section for more details. 2. Build job duration costs: For more details, see [Usage—Credits](#usage---credits). @@ -116,22 +115,22 @@ The Usage-based pricing system charges Travis CI users and Travis CI organizatio | Build Job: Linux - gpu-medium VM size | 230 credits / min | 230 credits / min | | Build Job: Linux - gpu-xlarge VM size | 890 credits / min | 890 credits / min | -### Usage-based Plan - How to obtain? +### Subscribe to a Usage-based Plan 1. Sign in to Travis CI with a [Version Control System of your choice](/user/onboarding/). 2. Navigate to the [Plans](https://app.travis-ci.com/account/plan) and have your billing and contact details filled in correctly. 3. Select an available Usage-based Plan or contact [Travis CI support](mailto:support@travis-ci.com) requesting a Usage-based Plan for larger options. -### Usage-based Plan - How it works +### How it works Usage-based pricing is a model using credits. It may include a user-license allowance and credit pool. Usage-based pricing features very high concurrent build jobs soft limits. In other words, users and organizations can run as many build jobs in Travis CI as they want simultaneously, meaning that all builds are executed as soon as possible. The final cost is flexible and closely related to the actual usage of the system, allowing you to downscale or upscale as per your needs. -All credit charges are deducted from a credit pool associated with an Usage-based plan assigned to Travis CI User or Organization, which is an 'owner' of a VCS repository enabled in Travis CI. +All credit charges are deducted from a credit pool associated with a Usage-based plan assigned to the Travis CI User or Organization, which is an 'owner' of a VCS repository enabled in Travis CI. -All unique user triggering build counting is tracked against an Usage-based plan assigned to Travis CI User or Organization, which is an 'owner' of a VCS repository enabled in Travis CI. +All unique user triggering build counting is tracked against a Usage-based plan assigned to the Travis CI User or Organization, which is an 'owner' of a VCS repository enabled in Travis CI. -> The Usage-based pricing model bills based on minutes used (via credits) and the number of unique users trigerring those builds (via user licenses). Users subscribe to a plan that allocates a pool of credits to be used towards build minutes and pricing for a specific number of user licenses. The credits are deducted from the user's credit balance as they are used in the Travis CI service. +> The Usage-based pricing model bills based on minutes used (via credits) and the number of unique users triggering those builds (via user licenses). Users subscribe to a plan that allocates a pool of credits to be used towards build minutes and pricing for a specific number of user licenses. The credits are deducted from the user's credit balance as they are used in the Travis CI service. Unique users triggering builds within a billing period will constitute a number of actual user licenses used out of allowed pool. If the user-license pool is exceeded by new unique user triggering build, credits for this extra usage will be deducted from available credit pool. In custom cases, instead of charge in credits, user licenses will be tracked within month and will be charged at the end of the billing period, according to the rates of their selected plan. @@ -154,17 +153,17 @@ Triggering builds is only possible if a user has a positive credit balance. To g ### Monthly Usage-based Plans -Monthly Usage-based plans are subscriptions, granting a specific credit pool each month and (optionally) user-license allowance included in the price. Once these allowances are depleted, the credits may be refilled via manual purchase of credits package or [auto-refilled](/user/billing-autorefill/) and spent on builds and additional user-licenes. +Monthly Usage-based plans are subscriptions, granting a specific credit pool each month and (optionally) user-license allowance included in the price. Once these allowances are depleted, the credits may be refilled via the manual purchase of a credits package or [auto-refilled](/user/billing-autorefill/) and spent on builds and additional user-licenes. Consumed user-license count is reset each month. If not stated or set otherwise, the Monthly Usage-based plan is renewed automatically. -#### Selecting a Plan +#### Select a Plan Subscribe to one of our monthly plans to get your credits and continue building. Once you select a plan, your credits and your bill will be available at the start of the following month. -#### Canceling my Monthly Subscription +#### Cancel a Monthly Subscription Users can cancel their current subscription anytime they like; simply use the Cancel Subscription button on the [Plan page](https://app.travis-ci.com/account/plan). Press the Cancel button to notify support of your desire to cancel your plan, and the Travis Support team will contact you soon with details regarding your cancellation. @@ -172,14 +171,14 @@ Once users request cancellation, the remaining credits will be retained until th ### Annual Usage-based Plans -Annual Usage-based plans are a subscription, granting specific credit pool each year and (optionally) user-license allowance per each month included in the price. Once these allowances are depleted, the credits may be refilled via manual purchase of credits package or [auto-refilled](/user/billing-autorefill/) and spent on builds and additional user-licenes. +Annual Usage-based plans are a subscription, granting specific credit pool each year and (optionally) user-license allowance per each month included in the price. Once these allowances are depleted, the credits may be refilled via the manual purchase of a credits package or [auto-refilled](/user/billing-autorefill/) and spent on builds and additional user-licenes. Consumed user-license count is reset each month during the annual plan duration. If not stated or set otherwise, the Annual Usage-based plan is renewed automatically. -#### Selecting a Plan +#### Select a Plan Travis CI Users/Organizations who subscribe to an Annual Plan are granted the subscription´s amount of credits over 12 months. From the moment of subscription, users can use the credits however they see best, without monthly allotments or limits. @@ -190,21 +189,21 @@ Users interested in Annual plans can select an annual plan on the [Plan page](ht ##### What if I ran out of credits before my annual contract elapses? -If users use up all their annual credits before the 12 months elapses, to get more credits, users either can keep auto-refilling their account or purchase additional credits allowance. If needed, please [contact Travis CI Customer Success](mailto:Customer.Success@travis-ci.com) to discuss details. +If users use up all their annual credits before the 12 months elapses, to get more credits, users can either keep auto-refilling their account or purchase additional credits allowance. If needed, please [contact Travis CI Customer Success](mailto:Customer.Success@travis-ci.com) to discuss details. -#### Canceling my Annual Subscription +#### Cancel an Annual Subscription Users on an Annual Plan must explicitly cancel their yearly subscription; otherwise, the plan renews automatically whenever the current cycle ends. Simply cancel your subscription using the Cancel Subscription button on the [Plan page](https://app.travis-ci.com/account/plan). Upon cancellation, users have the remaining time of the contract plus one extra month to use the remaining credits; otherwise, any remaining credits expire. Users cannot purchase new credits unless rejoining a monthly or annual subscription. Users have one year after canceling the subscription to view or save build data; after one year of cancellation, build data is removed from Travis CI. -### Changing Plans +### Switch Plans If you wish to switch from your monthly subscription to another plan with a different amount of credits, your new plan subscription will take effect at the start of the following month. And if you still run out of credits before the end of each month, try an annual plan, where you get an annual amount of credits for the price of 11 months. -### Usage - Credits +### Credits Usage Credits are purchased at your discretion as an 'addon' (if available in your plan) or via the Auto-Refill option. The Plan you are on determines what selection addons are available for you. Credit addons are paid in advance. Thus whenever you select or are assigned a Usage-based plan: @@ -285,8 +284,7 @@ The OSS credits are a separate pool of credits from regular credits, with separa Each new user who subscribes to the Free Trial Plan is automatically granted credits to use over a 14-day period. This one-time pool of credits is not renewable. This plan is meant to let you familiarize yourself with our usage-based plans as well as to try out other Travis CI features. - -### Usage - User Licenses +### User Licenses for Usage-based Plans User-licenses in Usage-based plans are consumed by [unique users triggering builds](#definitions) in the following order: @@ -298,21 +296,23 @@ The count of unique users triggering a build is tracked and reset monthly. Uniqu > If person A triggers a build, and person B triggers a build, the billing system will recognize 2 unique users. Now, if person A or B again triggers a build, the amount of unique users triggering remains 2 (assuming builds are triggered within the same month). Only when user C triggers a build within the same month the number of unique users triggering a build will be increased to 3. > -> By default, all users you've granted write rights to your repository are allowed to trigger a build. You may review Travis CI particular Repository page and manage which users are allowed to trigger the build in order to give you more control. +> By default, all users you've granted write rights to your repository are allowed to trigger a build. You may review Travis CI's particular Repository page and manage which users are allowed to trigger the build in order to give you more control. -#### Usage - User Licenses (Usage Plan with subscription) +### User Licenses for Usage-based Plan with subscription Usage-based plan with subscription charges you immediately upon build start for the new unique user triggering build within a month. Usage-based plans may have or may have not user-license allowance included in the price or available as a pool of user-licenses at a discounted credit cost. -##### Example 1: Credits, no user allowance included in price, user-license charge in credits, build with *n* build jobs +#### User License Example - Scenario 1 +This scenario is an example of a user with Credits. No user allowance is included in the price, and the user license is charged in credits. The user can build with *n* build jobs. > If a build is triggered, the system will check if this is a new, unique user-triggered build. If yes, a credit charge for the user license will be immediately deducted from the available credit pool upon the start of the build. > > The respective cost of build jobs execution in credits will be deducted from the available credit pool. -##### Example 2: Credits, user-license pool included in plan price, user-license charge in credits, build with *n* build jobs +#### User License Example - Scenario 2 +This scenario is an example of a user with Credits, a user-license pool included in the plan price, and the user license is charged in credits. The user can build with *n* build jobs. > If a build is triggered, the system will check if this is a new, unique user-triggering build. If yes, the system checks if consuming user-license exceeds user-license limit included: > @@ -321,26 +321,27 @@ Usage-based plans may have or may have not user-license allowance included in th > > The respective cost of build jobs execution in credits will be deducted from the available credit pool. -##### Example 3: Credits, pool of 3 discounted user-licenses included in the plan (e.g., *first 3 users for $XX*), user-license charge in credits, build with *n* build jobs +#### User License Example - Scenario 3 +This scenario is an example of a user with Credits, a pool of 3 discounted user licenses included in the plan (e.g., *first 3 users for $XX*), and the user license is charged in credits. The user can build with *n* build jobs. > Discounted user-license included in the plan means, in this example, that first three users cost e.g. 25K credits and after that each subsequent unique user triggering build costs $25k credits. > > If a build is triggered, the system will check if this is a new unique user triggering build. If yes, the system checks if the consuming user-license exceeds the pool of discounted user-license limit included in the plan: > > no - if this is 1st user out of first 3 discounted, a charge of e.g. 25k credits is deducted upon build start. If this is 2nd or 3rd unique user within a month, no credits are deducted from credit pool. -> yes - full user-license credits charge is deducted from available credit pool upon build start. +> yes - full user-license credits charge is deducted from the available credit pool upon build start. > > The respective cost of build jobs execution in credits will be deducted from the available credit pool. - -#### Usage - User Licenses (Usage Plan w/o subscription) +### User Licenses for Usage-based Plans without Subscription Usage-based plan w/o subscription charges you at the end of each month for the number of users who triggered the builds during this month. With every build started, Travis CI keeps track of how many unique users triggered a build within a current billing period. At the end of the month, the total amount is used to calculate the user license charge. -##### Example 1: Credits, user-licenses counted within a month and charged at the end of the period, build with *n* build jobs +#### User License without Subscription Example - Scenario 1 +This scenario is an example of a user with Credits, user licenses counted within a month and charged at the end of the period.The user can build with *n* build jobs. > If a build is triggered, the system will check if this is a new unique user triggering build and if any potential included user-license allowance are exceeded: > @@ -414,7 +415,7 @@ See [credit costs associated with usage-based plan](#credit-costs-associated-wit > * dist: [focal] # jammy to be added later, xenial EOL, bionic EOL. -## Getting Help +## Contact Support If you have any questions or issues with the new VCS, please see our [Billing FAQ](/user/billing-faq/) or email [support@travis-ci.com](mailto:support@travis-ci.com) for help. From 4de9a4919ac1bd4f1c46322caccfe60fefdee26c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:20:45 -0400 Subject: [PATCH 002/178] Update billing-autorefill.md --- user/billing-autorefill.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/billing-autorefill.md b/user/billing-autorefill.md index 855c0c5c726..952654a59ef 100644 --- a/user/billing-autorefill.md +++ b/user/billing-autorefill.md @@ -1,5 +1,5 @@ --- -title: Billing Autorefill +title: Billing Auto-Refill layout: en permalink: /user/billing-autorefill/ @@ -11,19 +11,19 @@ Enable the Auto-Refill feature to ensure you don’t run out of credits. The Auto-Refill feature is available to all users who provide their credit card details and register to a usage-based plan or purchase credits add-on under a concurrency plan. This feature is not available for Free Plan users. Find the Auto-refill under: [Settings -> Plan tab](https://app.travis-ci.com/account/plan) -> Credits section -> Credits tab. -If you wish to set a different refill threshold and refill amount, please contact support at [support@travis-ci.com](mailto:support@travis-ci.com). +If you wish to set a different refill threshold and amount, please contact support at [support@travis-ci.com](mailto:support@travis-ci.com). ### How it works -Activating the Auto-Refill option allows you to continue building in case your monthly or annual credits run out. Whenever your credit balance drops below a certain threshold, a set amount of credits will be purchased and upon a successful transaction added to your account. +Activating the Auto-Refill option allows you to continue building in case your monthly or annual credits run out. Whenever your credit balance drops below a certain threshold, a set amount of credits will be purchased and, upon a successful transaction, added to your account. -Enable this option to select a threshold amount and a refill amount of credits to continue building. The Plan you are on determines what selection add-ons are available for you. Press Apply to confirm the newly set Auto-refill values so whenever the account is below the set threshold, your credits replenish immediately and not at the start of your next build. +Enable this option to select a threshold amount and a refill amount of credits to continue building. The Plan you are on determines what selection add-ons are available to you. Press Apply to confirm the newly set Auto-refill values so whenever the account is below the set threshold, your credits replenish immediately and not at the start of your next build. -To stop credit replenishment, simply disable the Auto-refill option +To stop credit replenishment, simply disable the Auto-refill option. > **The Auto-Refill option is not available for users on manual plans.** ### Billing -After each refill, Travis CI sends an email notifying if the payment succeeded or if it failed. If payment fails, credits won’t replenish until payment succeeds. An invoice/receipt is issued for successful credit purchases that you can obtain via your [Settings -> Plan tab](https://app.travis-ci.com/account/plan). +After each refill, Travis CI sends an email notifying if the payment succeeded or failed. If payment fails, credits won’t replenish until payment succeeds. An invoice/receipt is issued for successful credit purchases that you can obtain via your [Settings -> Plan tab](https://app.travis-ci.com/account/plan). From 21376c0991fb2966bb6a036ceeb37735607355f9 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:32:34 -0400 Subject: [PATCH 003/178] Update billing-faq.md --- user/billing-faq.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/user/billing-faq.md b/user/billing-faq.md index f2f819cff6e..d15bfd1d5c8 100644 --- a/user/billing-faq.md +++ b/user/billing-faq.md @@ -11,7 +11,7 @@ permalink: /user/billing-faq/ You can select one of available annual plans via [Your Account->Settings->Plan](https://app.travis-ci.com/account/plan) page. The customised annual based plans are available by contacting the Travis CI support team. -## How can I get on the usage based plan? +## How can one get on a Usage-based Plan? The usage based plan is available either in [Your Account->Settings->Plan](https://app.travis-ci.com/account/plan) page or by contacting the Travis CI support team. @@ -21,14 +21,14 @@ The credits will be deducted from the credits pool after each build job is execu ## How can I check how much I will pay for user licenses at the end of the month? -The unique users triggering builds within a month will constitute a number of actual user licenses consumed and payment method depends on whether the usage based plan is a subscription or not. +The unique users triggering builds within a month will constitute a number of actual user licenses consumed and the payment method depends on whether the usage-based plan is a subscription or not. To check how much active users you got during the last billing cycle you may generate a report for selected time period on your [Plan Usage](https://app.travis-ci.com/account/plan/usage) page or contact the support. -Travis CI also offers the user management functionality where you are able: +Travis CI also offers the user management functionality where you can: -* To see how many users has rights to trigger the build -* To see how many was active/trigger the build during the last month -* Select the users who are able to trigger the build +* See how many users have rights to trigger the build. +* See how many were active or triggered the build during the last month. +* Select the users who can trigger the build. This is available under each repository settings (in the https://app.travis-ci.com/{vcs provider identifier}/{your account name}/{repository name}/settings ) as a'User Management' button. @@ -43,10 +43,10 @@ If the team member has not triggered the build during the billing period Travis ## What if I am building open source? -Travis CI may grant an amount of special OSS credits per month assigned to run builds only on public repositories. To find out more about it please [contact the Travis CI support team](mailto:support@travis-ci.com). In the email please include: +Travis CI may grant an amount of special OSS credits per month assigned to run builds only on public repositories. To find out more about it, please [contact the Travis CI support team](mailto:support@travis-ci.com). In the email, please include: * Your account name and your VCS provider (like travis-ci.com/github/[your account name] ) -* How many credits (build minutes) you’d like to request (should your run out of credits again you can repeat the process to request more or to discuss a renewable amount) +* How many credits (build minutes) you’d like to request (should you run out of credits again, you can repeat the process to request more or to discuss a renewable amount) ## How do I use credits? @@ -54,9 +54,9 @@ Travis CI may grant an amount of special OSS credits per month assigned to run b You can use your credits to run builds on your public and private repositories. You may have been assigned an amount of OSS credits to run builds on public repositories. When you run out of OSS credits but want to keep building on public repositories you can go to the Plan page and turn the Credits consumption for OSS switcher to `On`. In this case, once the ‘OSS credits’ pool is depleted, the system starts deducting from the ‘paid credits’ pool. Builds for OSS repositories will be allowed to start, and deducted from the paid credits. -## How do I recharge my credits balance? +## How do I recharge my credit balance? -You can buy additional build credits anytime you need them by clicking on your profile icon in the right upper corner of the screen =>Settings, navigate to the Plan page and press the ‘Buy add-ons’ button. You may also enable the [auto-refill](/user/billing-autorefill/) feature. +You can buy additional build credits anytime you need them by clicking on your profile icon in the upper right corner of the screen =>Settings, navigate to the Plan page, and press the ‘Buy add-ons’ button. You may also enable the [auto-refill](/user/billing-autorefill/) feature. Please be advised that it is not possible to buy additional credits on Free Plan. @@ -78,25 +78,25 @@ If you want your account to be deleted, please contact the Travis CI support. ## Do these prices include tax? -No, all prices do not include tax. +No, not all prices include tax. -## Can I sign up for automatic renewals for usage based plan? +## Can I sign up for automatic renewals for Usage-based Plans? -Yes. Please select a usage based plan which is a periodical subscription or contact the support. +Yes. Please select a usage-based plan, which is a periodical subscription, or contact the support. You may also manually buy credits each time you are about to run out of them or enable the [auto-refill](/user/billing-autorefill/) functionality in your Plan page, which will refill your credits every time it drops below certain threshold. Concurrency-based plans are not subject to auto-refill. -To help you track the build credit consumption Travis CI system will send the notification emails each time your credit balance is used up by 50, 75 and 100%. +To help you track the build credit consumption, the Travis CI system will send notification emails each time your credit balance is used up by 50, 75, or 100%. ## Are add-ons limited to a certain number of users? -You can buy additional add-ons any time you feel it is needed. You and your organization’s members can use the bought add-ons with no limitations. +You can buy additional add-ons at any time you feel they are needed. You and your organization’s members can use the bought add-ons without limitations. -## Why my credits balance is negative? +## Why is my credit balance negative? -Most probably your last build costed more than you had available in your credit balance. You won't be able to run any builds until your balance gets positive. Replenish your credits (the negative balance will be deducted upon arrival of new credits creating new balance - see our [billing overview](/user/billing-overview/#negative-credits). +Your last build probably cost more than you had available in your credit balance. You won't be able to run any builds until your balance gets positive. Replenish your credits (the negative balance will be deducted upon arrival of new credits creating new balance - see our [billing overview](/user/billing-overview/#negative-credits). -## Why am I asked for credit card details upon selection of free Trial Plan? +## Why am I asked for credit card details upon selecting a free Trial Plan? Due to continued abuse of our free service and in order to make environment more secure and with fair access to shared infrastructure, Travis CI decided to introduce credit card validation step for every new user. There will be a small fee placed on your card in order to authorize the account and it will be returned after several days. From b6e3128f76c7026324000be5b4fe83ff32a70771 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:36:07 -0400 Subject: [PATCH 004/178] Update developer.md --- user/developer.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/user/developer.md b/user/developer.md index 646e9868771..113c19bcb14 100644 --- a/user/developer.md +++ b/user/developer.md @@ -5,9 +5,9 @@ layout: en -## API V3 +## API Version 3.0 -The Travis CI API V3 was released on 6th April 2017. It is a discoverable and +The Travis CI API V3 was released on 6th April 2017. It is discoverable and self-documenting RESTful API, and includes all the hypermedia features expected from a modern API. @@ -27,13 +27,13 @@ We've created an [API Explorer](https://developer.travis-ci.com/) that closely integrates with V3, updating automatically when new endpoints are added, and includes a useful tool for exploring endpoints. -## API V2.1 +## API Version 2.1 We've released an update to the Travis CI API V2, which is API V2.1. This update essentially makes HTTP status codes more consistent between travis-ci.org and travis-ci.com. > If you are building both Open Source and Private projects on travis-ci.com, please use API V2.1. -For users of Travis CI using the deprecated platform for Open Source projects at travis-ci.org, built at api.travis-ci.org, there is no change in API. +For users of Travis CI using the deprecated platform for Open-Source projects at travis-ci.org, built at api.travis-ci.org, there is no change in API. API V2.1 is identical to API V2 **except for the following breaking changes**: @@ -41,22 +41,21 @@ API V2.1 is identical to API V2 **except for the following breaking changes**: * For private repositories, unauthenticated requests receive an HTTP 401 or 404 error. * For private repositories, authenticated requests by users that do not have permission to view the repository receive an HTTP 400 error or HTTP 200 for empty responses. -Previous behavior for V2 is that these requests receive an 401 error. +Previous behavior for V2 is that these requests receive a 401 error. A similar pattern of HTTP response codes applies to other endpoints such us `/builds`, `/branches`, `/jobs` and `/requests`. To use API V2.1 set the `Accept` header of your API request to `application/vnd.travis-ci.2.1+json`. -## API V2 +## API Version 2.0 We're not yet ready to deprecate [API V2](/api/). We use V2 with our web frontend application and have spent the last 6 months switching gradually from V2 to V3. We'll complete this transition in the coming months, but plan to continue supporting V2 until the end of 2017. We'll naturally give developers ample -notice before switching V2 off, and provide detailed instructions for making the -transition to V3. +notice before switching V2 off, and provide detailed instructions for transitioning to V3. -## Ruby Library +### Ruby Library The [Ruby Library](https://github.com/travis-ci/travis#ruby-library) uses the API V2. From 5ee2e399968806234b06926f41a1ecf61befbeb8 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:42:10 -0400 Subject: [PATCH 005/178] Update triggering-builds.md --- user/triggering-builds.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/user/triggering-builds.md b/user/triggering-builds.md index 1be46f7e0e3..12b1ec7303d 100644 --- a/user/triggering-builds.md +++ b/user/triggering-builds.md @@ -1,12 +1,12 @@ --- -title: Triggering builds with API V3 +title: Trigger Builds with API Version 3.0 layout: en --- -## Travis CI Hosted Solution (app.travis-ci.com) +## Travis CI Hosted Solution -Trigger Travis CI builds using the API V3 by sending a POST request to `/repo/{slug|id}/requests`: +To use Travis CI as a hosted solution (app.travis-ci.com), trigger Travis CI builds using the API V3 by sending a POST request to `/repo/{slug|id}/requests`: 1. Get an API token from your Travis CI [settings page](https://app.travis-ci.com/account/preferences). You'll need the token to authenticate most of these API requests. @@ -164,7 +164,7 @@ Trigger Travis CI builds using the API on your Travis CI Enterprise instance by `.travis.yml` file present in the repository is *not* merged with the values contained in the request. -## Customizing the commit message +## Customize Commit Messages You can specify a commit message in the request body: @@ -195,7 +195,7 @@ The default merge mode is `deep_merge_append` with [Build Config Validation](/us enabled. With Build Config Validation disabled the default is `deep_merge`, which will be discontinued soon. -We recommend to specify the merge mode with your API requests explicitly. +We recommend specifying the merge mode with your API requests explicitly. Consider these examples: @@ -228,10 +228,10 @@ addons: - cmake ``` -### Deep merge append/prepend +### Deep Merge append and prepend modes The merge modes `deep_merge_append` and `deep_merge_prepend` recursively merge -sections (keys) that hold maps (hashes), and concatenates sequences (arrays) by +sections (keys) that hold maps (hashes), and concatenate sequences (arrays) by either appending or prepending to the sequence in the importing config. Given the merge mode `deep_merge_append`, with the example build configs above @@ -286,7 +286,7 @@ the result will be: } ``` -### Deep merge +### Deep Merge mode The merge mode `deep_merge` recursively merges sections (keys) that hold maps (hashes), but overwrites sequences (arrays). @@ -316,7 +316,7 @@ the result will be: } ``` -### Merge +### Merge mode The merge mode `merge` performs a shallow merge. @@ -341,7 +341,7 @@ in `.travis.yml`: } } ``` -### Replace +### Replace mode The merge mode `replace` instructs Travis CI to simply replace the build config in your `.travis.yml` file with the config sent with your API request. From 232e87598465b21136dd27695ae26a52371d0457 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:01:44 -0400 Subject: [PATCH 006/178] Update notifications.md.erb --- user/notifications.md.erb | 68 +++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/user/notifications.md.erb b/user/notifications.md.erb index ec530fb08ff..3fe11f8cb4a 100644 --- a/user/notifications.md.erb +++ b/user/notifications.md.erb @@ -1,5 +1,5 @@ --- -title: Configuring Build Notifications +title: Configure Build Notifications layout: en --- @@ -14,7 +14,7 @@ By default, email notifications are sent to the committer and the commit author when they are members of the repository, that is they have - push or admin permissions for public repositories. -- pull, push or admin permissions for private repositories. +- pull, push, or admin permissions for private repositories. Emails are sent when, on the given branch: @@ -27,7 +27,7 @@ address](#changing-the-email-address-for-build-notifications) or [troubleshooting email notification](#missing-build-notifications). -If you add another notification channel, e.g. HipChat or Slack, the +If you add another notification channel, e.g., HipChat or Slack, the default is to send a notification on every build. ## Conditional notifications @@ -74,7 +74,7 @@ There is currently no way of limiting the notification to a specific branch, but the payload will contain all relevant data to do so at the receiving end (see [Webhooks Delivery Format](#webhooks-delivery-format)). -### Note on SSL/TLS Ciphers +### SSL and TLS Ciphers When posting notifications over SSL/TLS, be mindful of what ciphers are accepted by the receiving server. Notifications will fail if none of the server's ciphers work. @@ -99,7 +99,7 @@ addresses are: 54.175.230.252 ``` -## Configuring email notifications +## Configure email notifications Specify recipients that will be notified about build results: @@ -134,7 +134,7 @@ notifications: Pull Request builds do not trigger email notifications. -### How is the build email receiver determined? +### Determine the build email receiver By default, a build email is sent to the committer and the author, but only if they have access to the repository the commit was pushed to. This prevents forks @@ -148,13 +148,13 @@ synchronize all your email addresses from GitHub, solely for the purpose of build notifications. The default can be overridden in the `.travis.yml` as shown above. If there's a -setting specified, Travis CI only sends an emails to the addresses specified +setting specified, Travis CI only sends emails to the addresses specified there, rather than to the committer and author. -### Changing the email address for build notifications +### Change the email address for build notifications Travis CI only sends build notifications to email addresses registered on GitHub. -If you have multiple addresses registered you can set the email address for a specific +If you have multiple addresses registered, you can set the email address for a specific repository using `git`: > Note that this also changes the commit email address, not just the Travis CI notification settings. @@ -181,7 +181,7 @@ and verified on GitHub. See above on how to change the email address to one that's registered or make sure to add the email address used in this repository to [your verified email addresses](https://github.com/settings/emails) on GitHub. -## Configuring IRC notifications +## Configure IRC notifications You can also send notifications to an IRC channel. Notifications are sent from `travis-ci`, which auto-authenticates on Freenode. @@ -295,9 +295,9 @@ If you enable `skip_join`, remember to remove the `NO_EXTERNAL_MSGS` flag (n) on Pull Request builds do not trigger IRC notifications. -### Channel key +### Channel Key variable -If you want the bot to send messages to channels protected with a channel key (ie, set with `/mode #channel +k password`), use the `channel_key` variable: +If you want the bot to send messages to channels protected with a channel key (i.e., set with `/mode #channel +k password`), use the `channel_key` variable: > Note: We highly recommend you [encrypt](/user/encryption-keys/) this value if > your .travis.yml is stored in a public repository. @@ -315,7 +315,7 @@ notifications: ``` {: data-file=".travis.yml"} -### Password protected servers +### Password-protected servers You may also authenticate to an IRC server with user: @@ -338,7 +338,7 @@ notifications: ``` {: data-file=".travis.yml"} -## Configuring campfire notifications +## Configure Campfire notifications Notifications can also be sent to Campfire chat rooms, using the following format: @@ -359,7 +359,7 @@ notifications: > travis encrypt subdomain:api_token@room_id --add notifications.campfire.rooms > ``` -You can also customise the notifications, like with [IRC notifications](#configuring-irc-notifications): +You can also customize the notifications, like with [IRC notifications](#configuring-irc-notifications): ```yaml notifications: @@ -376,7 +376,7 @@ Other flags, such as `on_success` and `on_failure` also work like they do in IRC Pull Request builds do not trigger Campfire notifications. -## Configuring flowdock notifications +## Configure Flowdock notifications Notifications can be sent to your Flowdock Team Inbox using the following format: @@ -396,7 +396,7 @@ notifications: Pull Request builds do not trigger Flowdock notifications. -## Configuring HipChat notifications +## Configure HipChat notifications Send notifications to your HipChat rooms using the following key in your `.travis.yml`: @@ -479,7 +479,7 @@ with a desired label, and use this token. HipChat Room Notification Tokens screenshot -### Notifications of PR builds +### PR build notifications By default, Hipchat will be notified both for push builds and pull request builds. @@ -495,7 +495,7 @@ notifications: ``` {: data-file=".travis.yml"} -## Configuring Pushover notifications +## Configure Pushover notifications Notifications can also be sent via [Pushover](https://pushover.net/) via the following format: @@ -521,7 +521,7 @@ notifications: > travis encrypt [user_key] --add notifications.pushover.users --append > ``` -You can also customise the notifications, like with IRC notifications: +You can also customize the notifications, like with IRC notifications: ```yaml notifications: @@ -534,11 +534,11 @@ notifications: ``` {: data-file=".travis.yml"} -Other flags, such as `on_success` and `on_failure` also work like the IRC notification config. +Other flags, such as `on_success` and `on_failure`, also work like the IRC notification config. Pull Request builds do not trigger Pushover notifications. -## Configuring Slack notifications +## Configure Slack notifications Travis CI can send notifications to your [Slack](https://slack.com) channels about build results. @@ -576,7 +576,7 @@ notifications: ``` {: data-file=".travis.yml"} -To specify a different channel when using with encrypted credentials use: +To specify a different channel when using encrypted credentials use: ```bash travis encrypt ":#channel" --add notifications.slack.rooms @@ -614,7 +614,7 @@ notifications: Once everything's set up, push a new commit and you'll get a message in the slack channel. -### Notifications of PR builds +### PR build notifications Turn pull request notifications off by adding `on_pull_requests: false` to the `slack` section of your `.travis.yml`: @@ -625,7 +625,7 @@ notifications: ``` {: data-file=".travis.yml"} -### Customizing slack notifications +### Customize Slack notifications Customize the notification message by editing the template, as in this example: @@ -687,7 +687,7 @@ You can interpolate the following variables for PR builds alongwith the variable - *pull_request_number*: the PR number - *pull_request_url*: the PR URL -## Configuring webhook notifications +## Configure Webhook notifications You can define webhooks to be notified about build results: @@ -707,7 +707,7 @@ notifications: ``` {: data-file=".travis.yml"} -As with other notifications types you can specify when webhook payloads will be sent: +As with other notifications types, you can specify when webhook payloads will be sent: ```yaml notifications: @@ -734,7 +734,7 @@ Here is the payload sent to [the Travis CI documentation application](https://gi You will see one of the following values in the `status`/`result` fields that represent the state of the build. - *0*: Represents a build that has completed successfully -- *1*: Represents a build that has not yet completed or has completed and failed +- *1*: Represents a build that has not yet been completed or has completed and failed Additionally a message will be present in the `status_message`/`result_message` fields that further describe the status of the build. @@ -774,10 +774,10 @@ payload. #### Examples 1. [WebhookSignatureVerifier](https://github.com/travis-ci/webhook-signature-verifier) -is a small Sinatra app which shows you how this works. +is a small Sinatra app that shows you how this works. 1. This documentation site receives a webhook notification, verifies the request -and updates the Gist showing the payload example above. +and updates the Gist, showing the payload example above. See [the code](https://github.com/travis-ci/docs-travis-ci-com/tree/master/_plugins/webhoook_payload_doc_handler.rb). 1. [Travis Webhook Checker](https://gist.github.com/andrewgross/8ba32af80ecccb894b82774782e7dcd4) @@ -790,10 +790,10 @@ is a small webapp in Go which verifies the hook. contains two examples for verifying webhooks in Node.js using [express](https://github.com/Brodan/travis-webhook-verification-nodejs/blob/master/express.js) and [hapi.js](https://github.com/Brodan/travis-webhook-verification-nodejs/blob/master/hapi.js) -## Configuring OpsGenie notifications +## Configure OpsGenie notifications By using [OpsGenie Travis CI Integration](https://docs.opsgenie.com/v1.0/docs/travisci-integration), you can forward Travis CI alerts to OpsGenie. OpsGenie can determine the right people to notify based on on-call schedules, using email, text messages (SMS), phone calls and iPhone & Android push notifications, and escalating alerts until the alert is acknowledged or closed. -### Functionality of the integration +### Integration Functionality - When the status of a project is failing, broken or errored on Travis CI, an alert is created in OpsGenie automatically through the integration. - When the status is passed or fixed on Travis CI, the alert is closed in OpsGenie. @@ -804,7 +804,7 @@ By using [OpsGenie Travis CI Integration](https://docs.opsgenie.com/v1.0/docs/tr 4. Copy the Webhook URL by clicking on the copy button or selecting. 5. Click on "Save Integration". -### Configuration in Travis CI +### Configure OpsGenie in Travis CI 1. Activate your Github repositories that you want to monitor by enabling the service hook for Travis CI on Github. 2. Add .travis.yml file to your repository. 3. Add the following configuration to your .travis.yml file. @@ -812,7 +812,7 @@ _notifications:_ _webhooks: _ 4. Commit the _.travis.yml_ file to the root of your repository. -## Configuring multiple notification targets with different configurations +## Configure Multiple notification targets with different configurations Each of the notifiers described above can also take an array of hashes as configurations, each element being a configuration of that notifier as described above. From 7f2aa16e33bae4474c3aea82d3ee8babb48137ab Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:05:05 -0400 Subject: [PATCH 007/178] Update status-images.md --- user/status-images.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/status-images.md b/user/status-images.md index 1da5dc4c3c8..73694827847 100644 --- a/user/status-images.md +++ b/user/status-images.md @@ -1,5 +1,5 @@ --- -title: Embedding Status Images +title: Embed Status Images layout: en --- @@ -30,9 +30,9 @@ Build status images for private repositories include a security token. This token is only used to access the build status image, but we recommend you not use it on a publicly available site. -## Travis CI pages show the default branch's result +## Show the default branch's result -On the pages on Travis CI, we show the result of the most recent +On the pages on Travis CI, we show the results of the most recent build on its default branch. For example, for [docs-travis-ci-com](https://app.travis-ci.com/travis-ci/docs-travis-ci-com), this is the `master` branch. From 5b5b9b1783234321a84488055586a1dcb87c71a4 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:07:00 -0400 Subject: [PATCH 008/178] Update code-climate.md --- user/code-climate.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/code-climate.md b/user/code-climate.md index 63d6c60caff..8e9e3e753b5 100644 --- a/user/code-climate.md +++ b/user/code-climate.md @@ -1,5 +1,5 @@ --- -title: Using Code Climate with Travis CI +title: Use Code Climate with Travis CI layout: en --- @@ -15,12 +15,12 @@ integrates neatly with Travis CI. As a Travis CI customer, [you get 20% off for your first three months](https://codeclimate.com/partners/travisci)! -## Measuring Test Coverage with Code Climate +## Measure Test Coverage with Code Climate -Test coverage integration can be used on both private and open source projects, +Test coverage integration can be used on both private and open-source projects, and is free for open source. -Follow their guide on [Configuring Test Coverage](https://docs.codeclimate.com/v1.0/docs/getting-started-test-coverage). In that guide you'll find: +Follow their guide on [Configuring Test Coverage](https://docs.codeclimate.com/v1.0/docs/getting-started-test-coverage). In that guide, you'll find: * links to [parallel tests support](https://docs.codeclimate.com/v1.0/docs/configuring-test-coverage#section-parallel-tests-and-multiple-test-suites) setup, * [troubleshooting From bdf85a14eb7a4c7cadc22f6798dee5632dc81a8d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:09:25 -0400 Subject: [PATCH 009/178] Update deepsource.md --- user/deepsource.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deepsource.md b/user/deepsource.md index f82ad4cf1e0..566868ac52a 100644 --- a/user/deepsource.md +++ b/user/deepsource.md @@ -1,11 +1,11 @@ --- -title: Reporting artifacts to DeepSource +title: Report Artifacts to DeepSource layout: en --- [DeepSource](https://deepsource.io) is a source code analysis tool that flags anti-patterns, security vulnerabilities, style violations, and provides actionable issues and metrics. -DeepSource's analyzers accepts artifacts pushed from external sources via the CLI. An example artifact would be test coverage file. +DeepSource's analyzers accepts artifacts pushed from external sources via the CLI. An example artifact would be a test coverage file. The following guide walks through how to push an artifact as part of the build process. @@ -39,7 +39,7 @@ Refer to [DeepSource CLI documentation](https://deepsource.io/docs/config/cli.ht ## Example -The following `.travis.yml` configuration pushes python test coverage to DeepSource's `test-coverage` analyzer. +The following `.travis.yml` configuration pushes Python test coverage to DeepSource's `test-coverage` analyzer. ```yaml # Set build language to Python From b494570483f1d39c9d0f5f546f5790573d0a7866 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:14:44 -0400 Subject: [PATCH 010/178] Update coveralls.md --- user/coveralls.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/user/coveralls.md b/user/coveralls.md index 729b72f95fe..6b5eb2797b7 100644 --- a/user/coveralls.md +++ b/user/coveralls.md @@ -15,17 +15,17 @@ Configuring your Travis CI build to send results to Coveralls always follows the We'll show you how to do this for Ruby in the following example. -## Using Coveralls with Ruby +## Use Coveralls with Ruby Using Coveralls with Ruby on Travis CI is one of the configurations Coveralls support out of the box [have documentation for](https://coveralls.zendesk.com/hc/en-us/articles201769485-Ruby-Rails). -### 1. Add your repository to Coveralls +### Add your repository to Coveralls 1. [Sign in to Coveralls](https://coveralls.io/authorize/github) with your *GitHub* account. 2. Click *ADD REPOS* in the menu. 3. Click the ![Add your repository to Coveralls](/images/coveralls-button.png) button next to your repository. -### 2. Install the Coveralls Gem +### Install the Coveralls Gem Add the Coveralls Gem to your `Gemfile`: @@ -37,9 +37,9 @@ gem 'coveralls', require: false You might need to update your `Gemfile.lock` as well. -### 3. Add Coveralls to your test suite +### Add Coveralls to your test suite -Add Coveralls to the top your test suite, before you `require` any application code: +Add Coveralls to the top of your test suite before you `require` any application code: ```ruby # ./spec/spec_helper.rb @@ -52,7 +52,7 @@ Coveralls.wear! After those three steps, the next time you push a commit, you'll be able to look up your [code coverage statistics](https://coveralls.io)! -## Coveralls and private repositories +## Coveralls and Private repositories If you're using Coveralls with Travis CI for private repositories, edit `.coveralls.yml`: @@ -61,7 +61,7 @@ service_name: travis-pro ``` {: data-file=".coveralls.yml"} -## Using Coveralls with other languages +## Use Coveralls with other languages Coveralls have documentation for many other programming languages: @@ -84,7 +84,7 @@ Coveralls have documentation for many other programming languages: - [Ruby / Rails](https://docs.coveralls.io/ruby-on-rails) - [Swift](https://docs.coveralls.io/swift) -## Using Coveralls with Docker builds +## Use Coveralls with Docker builds If you're using Docker in builds, ensure that the necessary [environment variables](https://docs.travis-ci.com/user/environment-variables/) are exposed to the container: ```sh From 100425cea97c301b3323ff1bc452193bd250efca Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:16:44 -0400 Subject: [PATCH 011/178] Update coverity-scan.md --- user/coverity-scan.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/user/coverity-scan.md b/user/coverity-scan.md index 8ed7eee835f..4079a48e1e2 100644 --- a/user/coverity-scan.md +++ b/user/coverity-scan.md @@ -1,5 +1,5 @@ --- -title: Using Coverity Scan with Travis CI +title: Use Coverity Scan with Travis CI layout: en --- @@ -14,13 +14,13 @@ Static analysis is a set of processes for finding source code defects and vulner In static analysis, the code under examination is not executed. As a result, test cases and specially designed input datasets are not required. Examination for defects and vulnerabilities is not limited to the lines of code that are run during some number of executions of the code, but can include all lines of code in the codebase. -Additionally, Coverity's implementation of static analysis can follow all the possible paths of execution through source code (including interprocedurally) and find defects and vulnerabilities caused by the conjunction of statements that are not errors independent of each other. +Additionally, Coverity's implementation of static analysis can follow all the possible paths of execution through source code (including interprocedural) and find defects and vulnerabilities caused by the conjunction of statements that are not errors independent of each other. See more details about Coverity Scan in the [FAQ](https://scan.coverity.com/faq). ## Build Submission Frequency -It's probably overkill to run static analysis on each and every commit of your project. To increase availability of the free service to more projects, the addon is designed by default to run analysis on a per-branch basis. We recommend you create a branch named `coverity_scan`, which you can merge into whenever you would like to trigger analysis. See the [FAQ](https://scan.coverity.com/faq#frequency) for information about build submission frequency. +It's probably overkill to run static analysis on each and every commit of your project. To increase the availability of the free service to more projects, the addon is designed by default to run analysis on a per-branch basis. We recommend you create a branch named `coverity_scan`, which you can merge into whenever you would like to trigger analysis. See the [FAQ](https://scan.coverity.com/faq#frequency) for information about build submission frequency. ## macOS support @@ -54,9 +54,9 @@ The Coverity Scan addon doesn't work on macOS versions with the SIP feature enab 13. Visit [Travis CI](https://travis-ci.org) directly, or by clicking the button on your `Project Settings` page, which will appear once the project is activated on Travis CI. -### travis.yml +### The travis.yml file -From your project page on Coverity Scan, select the Travis CI tab. You'll see a snippet of YAML to be copied over to your `.travis-ci` file. Note that this is an example, and might require some tweaking for the build to run properly. +From your project page on Coverity Scan, select the Travis CI tab. You'll see a snippet of YAML that will be copied over to your `.travis-ci` file. Note that this is an example, and might require some tweaking for the build to run properly. ```yaml env: @@ -103,11 +103,11 @@ cd my_project travis encrypt COVERITY_SCAN_TOKEN=project_token_from_coverity_scan ``` -Then copy the resulting line as shown in the YAML example. +Then, copy the resulting line as shown in the YAML example. ## Environment Variables -When defined, the following environment variables overrides their +When defined, the following environment variables override their corresponding configuration values in `.travis.yml`: 1. `COVERITY_SCAN_NOTIFICATION_EMAIL` @@ -119,9 +119,9 @@ corresponding configuration values in `.travis.yml`: The next time you commit to the appropriate branch, the Coverity Scan build process will automatically run analysis and upload the results. Please note that this analysis takes the place of the normal CI run. You should merge the same changes to another branch to run your tests. -### Disabling the Subsequent Test Run +### Disable the Subsequent Test Run -Due to the way that Travis CI addons operate, your standard script stage (i.e. your tests) will run after the Coverity Scan analysis completes. In order to avoid this, you can modify your `script` directive in `.travis.yml`. +Due to the way that Travis CI addons operate, your standard script stage (i.e., your tests) will run after the Coverity Scan analysis completes. In order to avoid this, you can modify your `script` directive in `.travis.yml`. The `COVERITY_SCAN_BRANCH` environment variable will be set to `1` when the Coverity Scan addon is in operation. Therefore, you might change your script from From 2d2c4e5858fb776c936e48124a8c3438e063e2f9 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:18:40 -0400 Subject: [PATCH 012/178] Update browserstack.md --- user/browserstack.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/user/browserstack.md b/user/browserstack.md index 02b05d2f20b..b389caf74e4 100644 --- a/user/browserstack.md +++ b/user/browserstack.md @@ -1,5 +1,5 @@ --- -title: Using BrowserStack with Travis CI +title: Use BrowserStack with Travis CI layout: en --- @@ -11,7 +11,7 @@ like Selenium, Karma and others. This add-on automatically sets up [BrowserStack Local][local-testing] which allows you to test your private servers alongside public URLs, using the BrowserStack cloud. To do this it uses the [BrowserStackLocal binary][local-binary] for your build platform. [BrowserStack Local][local-testing] establishes a secure connection between your Travis build container/VM -and BrowserStack servers. Local Testing also has support for firewalls, proxies and Active Directory. +and BrowserStack servers. Local testing also supports firewalls, proxies, and Active Directory. Once the secure connection is setup, all URLs work out of the box, including your webserver, local folders, as well as URLs with HTTPS. @@ -31,7 +31,7 @@ URLs with HTTPS. [browserstack-android-app-travis]: https://github.com/browserstack/browserstack-android-sample-app/blob/master/.travis.yml -## Setting up BrowserStack +## Setup BrowserStack Please sign up for a BrowserStack account if you haven't already; it's [free][open-source-browserstack] for Open Source projects. Once you have signed up get your username and access key from @@ -79,7 +79,7 @@ The add-on will **ALWAYS** create a Local Identifier for each local connection t testing framework, the Local Identifier must be added to the Selenium capabilities. The Local Identifier is exposed as an environment variable `BROWSERSTACK_LOCAL_IDENTIFIER`. You can use it to set -the Selenium capability. See the following example which uses Ruby's [selenium-webdriver][browserstack-ruby-bindings]: +the Selenium capability. See the following example, which uses Ruby's [selenium-webdriver][browserstack-ruby-bindings]: ```ruby require 'rubygems' @@ -89,7 +89,7 @@ require 'selenium-webdriver' caps = Selenium::WebDriver::Remote::Capabilities.new caps['browserstack.local'] = 'true' caps['browserstack.localIdentifier'] = ENV['BROWSERSTACK_LOCAL_IDENTIFIER'] -# Add other capabilities like browser name, version and os name, version +# Add other capabilities like browser name, version, and os name, version ... driver = Selenium::WebDriver.for(:remote, @@ -123,14 +123,14 @@ Once the app is uploaded to the BrowserStack servers the resulting app id will b caps['app'] = ENV['BROWSERSTACK_APP_ID'] ``` -Checkout the BrowserStack Android Sample App [.travis.yml][browserstack-android-app-travis] file. +Check out the BrowserStack Android Sample App [.travis.yml][browserstack-android-app-travis] file. ## Additional Options ### Proxy -Local testing also allows you to set the proxy host, port, username and password +Local testing also allows you to set the proxy host, port, username, and password through which all urls will be resolved: ```yaml @@ -150,7 +150,7 @@ addons: Some other options that are supported by the add on are, -- **forcelocal**: If this is set to true then all network traffic will be resolved via the Travis CI container/VM. +- **forcelocal**: If this is set to true, then all network traffic will be resolved via the Travis CI container/VM. - **only**: restricts Local testing access to the specified local servers and/or folders. Sample usage, From 00a669bf823658118b46cc23e50b204a10ae66d8 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:20:20 -0400 Subject: [PATCH 013/178] Update sauce-connect.md --- user/sauce-connect.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/sauce-connect.md b/user/sauce-connect.md index a179effadf3..c89c07e8974 100644 --- a/user/sauce-connect.md +++ b/user/sauce-connect.md @@ -1,5 +1,5 @@ --- -title: Using Sauce Labs with Travis CI +title: Use Sauce Labs with Travis CI layout: en --- @@ -13,7 +13,7 @@ with it. For that purpose, it uses Sauce Connect. Note that due to security restrictions, the Sauce Labs addon is not available on pull request builds unless you use the [JWT Addon](/user/jwt). -## Setting up Sauce Connect +## Setup Sauce Connect [Sauce Connect][sauce-connect] securely proxies browser traffic between Sauce Labs' cloud-based VMs and your local servers. Sauce Connect uses ports 443 and 80 for @@ -92,9 +92,9 @@ driver = Selenium::WebDriver.for(:remote, { [ruby-bindings]: https://code.google.com/p/selenium/wiki/RubyBindings -## Additional options +## Additional Options -Sometimes you may need to pass additional options to Sauce Connect. Currently +Sometimes, you may need to pass additional options to Sauce Connect. Currently supported parameters are - `direct_domains` From b800e33066b3ab777e8c2d11f6b9648f9c99d3d5 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:38:34 -0400 Subject: [PATCH 014/178] Update sonarcloud.md --- user/sonarcloud.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/user/sonarcloud.md b/user/sonarcloud.md index 424f42a67a8..a91451fbcc1 100644 --- a/user/sonarcloud.md +++ b/user/sonarcloud.md @@ -1,5 +1,5 @@ --- -title: Using SonarCloud with Travis CI +title: Use SonarCloud with Travis CI layout: en redirect_from: - /user/sonarqube/ @@ -20,7 +20,7 @@ jdk: openjdk17 {: data-file=".travis.yml"} to use Java 17 JRE/JDK as default. -## Inspecting code with the SonarQube Scanner +## Inspect the code with the SonarQube Scanner Before inspecting your code, you need to: @@ -56,7 +56,7 @@ addons: organization: "sonarcloud_organization_key" # the key of the org you chose at step #3 token: "*********" # encrypted value of your token script: - # the following command line builds the project, runs the tests with coverage and then execute the SonarCloud analysis + # the following command line builds the project, runs the tests with coverage, and then executes the SonarCloud analysis - mvn clean verify sonar:sonar -Pcoverage -Dsonar.projectKey=myorg_myrepo ``` {: data-file=".travis.yml"} @@ -76,9 +76,9 @@ script: ``` {: data-file=".travis.yml"} -## Analysis of internal pull requests +## Internal Pull Request Analysis -SonarCloud can inspect internal pull requests of your repository and write comments on each line where issues are found. +SonarCloud can inspect your repository's internal pull requests and write comments on each line where issues are found. > For security reasons, this advanced feature works only for **internal** pull requests. In other words, pull requests built from forks won't be inspected. @@ -86,13 +86,11 @@ To activate analysis on pull requests, you need to [install the SonarCloud appli Note that if you used SonarCloud before the GitHub application and therefore configured GitHub tokens on your projects, you should now delete those tokens from the "Administration > General Settings > Pull Requests" page of your projects. -## Upcoming improvements - Future versions of this add-on will provide the following features: - Support for external pull requests. -## Accessing full SCM history +## Access full SCM history Travis CI uses [shallow clone](https://docs.travis-ci.com/user/customizing-the-build/#git-clone-depth) to speed up build times, but a truncated SCM history may cause issues when SonarCloud computes blame data. To avoid this, you can access the full SCM history with: @@ -101,13 +99,13 @@ git: depth: false ``` -## Deprecated features +## Deprecated Features If you are a long-time SonarCloud user, you might have the following entries in your `.travis.yml` file: - "branches" - "github_token" -If this is the case, you will get warnings in the log, telling you that this behaviour will be removed soon. You should get rid of those entries in your `.travis.yml` file to benefit from the latest features of SonarCloud. +If this is the case, you will receive warnings in the log telling you that this behavior will be removed soon. You should remove those entries in your `.travis.yml` file to benefit from SonarCloud's latest features. ## Note for SonarQube users From faa674bdd2c62c3cfec4f1bf25c31a7b81101183 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:42:12 -0400 Subject: [PATCH 015/178] Update sourceclear.md --- user/sourceclear.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/sourceclear.md b/user/sourceclear.md index 0cb36d13130..9ad00133bd3 100644 --- a/user/sourceclear.md +++ b/user/sourceclear.md @@ -1,14 +1,14 @@ --- -title: Using SourceClear with Travis CI +title: Use SourceClear with Travis CI layout: en --- -[SourceClear](https://www.sourceclear.com) is security for open-source code. +[SourceClear](https://www.sourceclear.com) is a security for open-source code. When you add SourceClear to your TravisCI projects you'll get automated security analysis inside every build. You’ll get complete analysis of your open-source dependencies, including security vulnerabilities, out-of-date libraries, and license reports. -## Creating your Authentication Token +## Create an Authentication Token In order to set up the SourceClear agent for Travis-CI, you must be logged into [SourceClear](https://app.sourceclear.io/login), and then perform the following steps: @@ -18,9 +18,9 @@ In order to set up the SourceClear agent for Travis-CI, you must be logged into **3.** Select **Create Authentication Token**, and copy it to your clipboard. You will use this to authenticate with SourceClear during scans. -## Setting the Environment Variable +## Setup the Environment Variable -Setting an environment variable in Travis-CI occurs on a per repository basis: +Setting an environment variable in Travis-CI occurs on a per-repository basis: **1.** Select the repository you wish to scan from your Travis-CI environment > **More Options** > **Settings** @@ -29,7 +29,7 @@ Setting an environment variable in Travis-CI occurs on a per repository basis: SourceClear -## Configuring your Travis-CI repository +## Configure the Travis-CI repository In order to scan using SourceClear, add the following to your `.travis.yml` file: From 5dc7a927f8aed43a65836fac03fd5a938c543cdd Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:43:14 -0400 Subject: [PATCH 016/178] Update build-feeds.md --- user/build-feeds.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/build-feeds.md b/user/build-feeds.md index 612352fe127..14f838e0eba 100644 --- a/user/build-feeds.md +++ b/user/build-feeds.md @@ -9,7 +9,7 @@ One way to get updates on your builds is an Atom feed. You can read it in your favorite RSS reader, or programmatically consume it with scripts. -### Atom Feeds +## Atom Feeds Every repository on Travis CI has its own Atom feed, which includes all builds that were run on it, with both pull requests and normal commits. @@ -27,9 +27,9 @@ This URL returns a JSON representation by default, but you can get the Atom feed https://api.travis-ci.org/repos/travis-ci/travis-ci/builds.atom ``` -### Private Repositories +## Private Repositories -For private repositories you need a token to subscribe to +For private repositories, you need a token to subscribe to the feed. The API endpoint is different too: `https://api.travis-ci.com` 1. The token is the same as is used to fetch a build status image, which can be From 300a2366b7425d48f02e73912a686a69a80e99a5 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:44:50 -0400 Subject: [PATCH 017/178] Update cc-menu.md --- user/cc-menu.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/cc-menu.md b/user/cc-menu.md index e791648029e..e042b77a1e0 100644 --- a/user/cc-menu.md +++ b/user/cc-menu.md @@ -1,5 +1,5 @@ --- -title: Using CCMenu with Travis CI +title: Use CCMenu with Travis CI layout: en --- @@ -13,9 +13,9 @@ layout: en They were originally built for use with CruiseControl, but they work just as well with Travis CI, and you can use either to poll your Travis CI repositories and have their status show in the menu bar or tray. -### Using the CC feed with repositories +## Use CC feed with repositories -Open source repositories use the URL scheme `https://api.travis-ci.org/repos///cc.xml` to access the CruiseControl feed. They're served directly from our API. +Open-source repositories use the URL scheme `https://api.travis-ci.org/repos///cc.xml` to access the CruiseControl feed. They're served directly from our API. ![Screenshot of public CC feed](/images/Projects_20140305_165324_20140305_165329.jpg "Screenshot of public CC feed") @@ -43,7 +43,7 @@ must have the following form: - For closed source projects use `https://api.travis-ci.com/repos///cc.xml?token=&branch=`. -### Using the CC feed with accounts +## Use CC feed with accounts The above technique only allows you to add one repository at a time, which can be unwieldy for team members of organizations with several repositories they're working on. Rather than specify the owner and the repository, you can simply specify the owner and select a subset of projects. From 85825639ac97df637e047617533b19781b981be1 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:46:53 -0400 Subject: [PATCH 018/178] Update platformio.md --- user/integration/platformio.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/integration/platformio.md b/user/integration/platformio.md index dfa3a5f17e0..04d377ef0c0 100644 --- a/user/integration/platformio.md +++ b/user/integration/platformio.md @@ -1,5 +1,5 @@ --- -title: Embedded Builds with PlatformIO +title: Embed Builds with PlatformIO layout: en --- @@ -8,7 +8,7 @@ layout: en ## Overview -[PlatformIO](http://platformio.org/) is a cross-platform code-builder and library manager for embedded development with no external dependencies. Using PlatformIO you can compile your code on multiple platforms, frameworks and boards. Unit testing requires a [monthly subscription](http://platformio.org/pricing). +[PlatformIO](http://platformio.org/) is a cross-platform code-builder and library manager for embedded development with no external dependencies. Using PlatformIO you can compile your code on multiple platforms, frameworks, and boards. Unit testing requires a [monthly subscription](http://platformio.org/pricing). - *Platforms* - pre-built different development platforms for the most popular host OS (macOS, Windows, Linux 32/64bit, Linux ARMv6+). Each of them includes compiler, debugger, uploader, etc: @@ -31,7 +31,7 @@ layout: en [Full list](http://platformio.org/#!/boards) at PlatformIO -## .travis.yml Settings +## .travis.yml file Settings Please read the official [PlatformIO & Travis CI](http://docs.platformio.org/en/latest/ci/travis.html) documentation before using PlatformIO. @@ -61,7 +61,7 @@ script: ``` {: data-file=".travis.yml"} -### Testing Libraries +### Test Libraries If the project you are testing is a library, please use the `--lib="."` option for the [platformio ci](http://docs.platformio.org/en/latest/userguide/cmd_ci.html#cmdoption-platformio-ci-l) command @@ -71,7 +71,7 @@ script: ``` {: data-file=".travis.yml"} -### Managing dependencies +### Manage dependencies There are two options for testing projects with external dependencies: @@ -92,7 +92,7 @@ install: ``` {: data-file=".travis.yml"} -#### Installing dependencies manually +#### Install dependencies manually For the dependencies not available in the PlatformIO Library Registry: @@ -126,7 +126,7 @@ install: ``` {: data-file=".travis.yml"} -More details available at [build flags/options](http://docs.platformio.org/en/latest/projectconf.html#build-flags). +More details are available at [build flags/options](http://docs.platformio.org/en/latest/projectconf.html#build-flags). ### Advanced configuration From 989740e5622295d8d4ff4b4e0d3414aafcc9e9c0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:49:49 -0400 Subject: [PATCH 019/178] Update hashicorp-vault-integration.md --- user/hashicorp-vault-integration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/hashicorp-vault-integration.md b/user/hashicorp-vault-integration.md index 39c1edba245..86815deff1e 100644 --- a/user/hashicorp-vault-integration.md +++ b/user/hashicorp-vault-integration.md @@ -63,9 +63,9 @@ vault: See usage examples below: -#### Single `.travis.yml` file +### Single .travis.yml file -**As a data accessible for all jobs in the build definition:** +**As data accessible for all jobs in the build definition:** ```yaml os: linux @@ -85,7 +85,7 @@ script: ``` {: data-file=".travis.yml"} -**As a datat accessible only within one of many jobs:** +**As data accessible only within one of many jobs:** ```yaml os: linux @@ -109,7 +109,7 @@ jobs: ``` {: data-file=".travis.yml"} -#### Imported shared build configuration +### Import shared build configuration ```yaml vault: From fd987eb6d8ccc02aaed318c9f4d6907e09a04f36 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:59:34 -0400 Subject: [PATCH 020/178] Update encryption-keys.md --- user/encryption-keys.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/encryption-keys.md b/user/encryption-keys.md index 3ac2308d8e8..53c71440321 100644 --- a/user/encryption-keys.md +++ b/user/encryption-keys.md @@ -1,5 +1,5 @@ --- -title: Encryption keys +title: Encryption Keys layout: en --- @@ -8,7 +8,7 @@ layout: en A repository's `.travis.yml` file can have "encrypted values", such as [environment variables](/user/environment-variables/), notification settings, and deploy api keys. These encrypted values can be added by anyone, but are only readable by Travis CI. The repository owner does not keep any secret key material. -### Repository settings - forks +## Fork Repository settings {{ site.data.snippets.git_repository_settings_forks_general }} @@ -27,7 +27,7 @@ Once the public key is available, anyone (including those without push access to your repository) can encrypt data which can only be decrypted by Travis CI, using the corresponding private key. -### Obtaining the public keys +### Obtain public keys The method to obtain the public key depends on where the target repository exists, and the API version you are using. @@ -134,7 +134,7 @@ Encrypted values can be used in [secure environment variables in the build matrix](/user/environment-variables/#defining-encrypted-variables-in-travisyml) and [notifications](/user/notifications/). -### Note on escaping certain symbols +### Escape Symbols When you use `travis encrypt` to encrypt sensitive data, it is important to note that it will be processed as a `bash` statement. @@ -261,9 +261,9 @@ env: ``` {: data-file=".travis.yml"} -## Fetching the public key for your repository +## Fetch the public key -You can fetch the public key with Travis API, using `/repos/:owner/:name/key` or +You can fetch the public key for your repository with Travis API, using `/repos/:owner/:name/key` or `/repos/:id/key` endpoints, for example: ``` From 2fc84190c02cb11217f4678350bbe5b255e1333e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:02:36 -0400 Subject: [PATCH 021/178] Update encrypting-files.md --- user/encrypting-files.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/encrypting-files.md b/user/encrypting-files.md index 7406d3c2628..7ae18c33a0f 100644 --- a/user/encrypting-files.md +++ b/user/encrypting-files.md @@ -15,7 +15,7 @@ Before following the examples in this guide, make sure you have already - installed the Travis CI [Command Line Client](https://github.com/travis-ci/travis.rb#readme) by running `$ gem install travis` - [logged in](https://github.com/travis-ci/travis.rb#login) to Travis CI using `$ travis login --com` -See the Command Line Client [installation instructions](https://github.com/travis-ci/travis.rb#installation) for more information on system required versions of Ruby and operating systems. +See the Command Line Client [installation instructions](https://github.com/travis-ci/travis.rb#installation) for more information on the system-required versions of Ruby and operating systems. > Starting June 2021 [travis-ci.org](http://www.travis-ci.org) is disabled and therefore no longer supported. @@ -61,7 +61,7 @@ Make sure not to add super_secret.txt to the git repository. Commit all changes to your .travis.yml. ``` -### Encrypting multiple files +### Encrypt Multiple files The Command Line Client [overrides encrypted entries](https://github.com/travis-ci/travis.rb/issues/239) if you use it to encrypt multiple files. @@ -102,16 +102,16 @@ Assumptions: The file might be too large to encrypt it directly via the `travis encrypt` command. However, you can encrypt the file using a passphrase and then encrypt the passphrase. On Travis CI, you can use the passphrase to decrypt the file again. -The set up process looks like this: +The setup process looks like this: -1. **Come up with a password.** First, you need a password. We recommend generating a random password using a tool like pwgen or 1password. In our example we will use `ahduQu9ushou0Roh`. +1. **Create a password.** First, you need a password. We recommend generating a random password using a tool like pwgen or 1password. In our example, we will use `ahduQu9ushou0Roh`. 2. **Encrypt the password and add it to your .travis.yml.** Here we can use the `encrypt` command: `travis encrypt super_secret_password=ahduQu9ushou0Roh --add` - note that if you set this up multiple times for multiple files, you will have to use different variable names so the passwords don't override each other. 3. **Encrypt the file locally.** Using a tool that you have installed locally and that is also installed on Travis CI (see below). -4. **Set up decryption command.** You should add the command for decrypting the file to the `before_install` section of your `.travis.yml` (see below). +4. **Set up the decryption command.** You should add the command for decrypting the file to the `before_install` section of your `.travis.yml` (see below). Be sure to add `super_secret.txt` to your `.gitignore` list, and to commit both the encrypted file and your `.travis.yml` changes. -### Using GPG +### Use GPG Set up: @@ -134,7 +134,7 @@ before_install: The encrypted file is called `super_secret.txt.gpg` and has to be committed to the repository. -#### Using OpenSSL +### Use OpenSSL Set up: From b64f0bb9411e9578f99b42597a33b6f57d8c938d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:05:11 -0400 Subject: [PATCH 022/178] Update github-oauth-scopes.md --- user/github-oauth-scopes.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/user/github-oauth-scopes.md b/user/github-oauth-scopes.md index 87282cc2856..29d56505010 100644 --- a/user/github-oauth-scopes.md +++ b/user/github-oauth-scopes.md @@ -7,11 +7,11 @@ layout: en When you sign in to Travis CI for the first time, we ask for permission to access some of your data on GitHub. Read the [GitHub API Scope Documentation](https://developer.github.com/v3/oauth/#scopes) for general information about this, or pick an explanation of what data we need and why we need it. -## Travis CI GitHub OAuth App access rights +## Access rights for Travis CI GitHub OAuth App {{ site.data.snippets.github_oauth_access_rights }} -## Travis CI for Open Source and Private Projects +## Travis CI for Open-Source and Private Projects On , via our GitHub Apps integration, we ask for the following permissions: @@ -24,7 +24,9 @@ On , via our GitHub Apps integration, we ask for the foll Before GitHub Apps, we used scoped OAuth tokens to integrate with GitHub. As of May 2018, OAuth-based integration is considered our "Legacy" integration. -### Repositories on https://travis-ci.com (Private and public) +### Private and Public Repositories + +The following section shows how to use Repositories on https://travis-ci.com (Private and public). - `user:email` (read-only) From 1dac4902b1a9e7195444f89db331ed2825b22088 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:07:10 -0400 Subject: [PATCH 023/178] Update bb-oauth-scopes.md --- user/bb-oauth-scopes.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/user/bb-oauth-scopes.md b/user/bb-oauth-scopes.md index 77a512c48bb..8cfa76476c1 100644 --- a/user/bb-oauth-scopes.md +++ b/user/bb-oauth-scopes.md @@ -5,12 +5,12 @@ permalink: /user/bb-oauth-scopes/ --- -When you sign in to Travis CI for the first time, we ask for permissions to access +When you sign in to Travis CI for the first time, we ask for permission to access some of your data on Bitbucket. Read the [Scopes for the Bitbucket Cloud REST API](https://developer.atlassian.com/cloud/bitbucket/bitbucket-cloud-rest-api-scopes/) for general information about this, or pick an explanation of what data we need and why we need it. -## Travis CI for Open Source and Private Projects +## Travis CI for Open-Source and Private Projects On , via our Bitbucket integration, we ask for the following permissions: @@ -24,15 +24,17 @@ We use scoped OAuth tokens to integrate with Bitbucket. ## Used Scopes +The following sections explain the different scopes used. + ### repository -Gives the app read access to all the repositories the authorizing user has access to. +It gives the app read access to all the repositories the authorizing user has access to. > This scope does not give access to a repository's pull requests. ### repository:admin Gives the app admin access to all the repositories the authorizing user has access to. This permission is needed to add the access key. Travis CI uses the key to read the travis.yml file content. -### pullrequest +### pull-request Gives the app read access to pull requests and collaborate on them. This scope implies repository, giving read access to the pull request's destination repository. ### email @@ -45,9 +47,9 @@ Ability to see all the user's account information. Note that this does not inclu The ability to find out what teams the current user is part of. This is covered by the teams endpoint. ### webhook -Gives access to webhooks. This scope is required for any webhook related operation. +Gives access to webhooks. This scope is required for any webhook-related operation. -This scope gives read access to existing webhook subscriptions on all resources you can access, without needing further scopes. +This scope gives read access to existing webhook subscriptions to all resources you can access, without needing further scopes. This means that a client can list all existing webhook subscriptions on repository foo/bar (assuming the principal user has access to this repo). The additional repository scope is not required for this. From 6538265eff317ce4da58eca2b71f680f95f5f21d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:09:54 -0400 Subject: [PATCH 024/178] Update assembla-oauth-scopes.md --- user/assembla-oauth-scopes.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/user/assembla-oauth-scopes.md b/user/assembla-oauth-scopes.md index 9d35796aa52..5a4040ff01e 100644 --- a/user/assembla-oauth-scopes.md +++ b/user/assembla-oauth-scopes.md @@ -10,7 +10,7 @@ some of your data on Assembla. Read the [Scopes for the Assembla REST API](https://api-docs.assembla.cc/) for general information about this, or pick an explanation of what data we need and why we need it. -## Travis CI for Open Source and Private Projects +## Travis CI for Open-Source and Private Projects On , via our Assembla integration, we ask for the following permissions: @@ -24,6 +24,8 @@ We use scoped OAuth tokens to integrate with Assembla. ## Used Scopes +The following sections show the different scopes used. + ### repository It gives the app read access to all the repositories the authorizing user has access to. > This scope does not give access to a repository's pull requests. @@ -32,7 +34,7 @@ It gives the app read access to all the repositories the authorizing user has ac It gives the app admin access to all the repositories the authorizing user has access to. This permission is needed to add the access key. Travis CI uses the key to read the travis.yml file content. -### pullrequest +### pull-request It gives the app read access to pull requests and collaborate on them. This scope implies a repository giving read access to the pull request's destination repository. ### email From a3b5dfcd7279a86c213e58f01f9b3bc1d6ac8660 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:11:29 -0400 Subject: [PATCH 025/178] Update gl-oauth-scopes.md --- user/gl-oauth-scopes.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/gl-oauth-scopes.md b/user/gl-oauth-scopes.md index b9afe381df3..8b2f3841f83 100644 --- a/user/gl-oauth-scopes.md +++ b/user/gl-oauth-scopes.md @@ -5,12 +5,12 @@ permalink: /user/gl-oauth-scopes/ --- -When you sign in to Travis CI for the first time, we ask for permissions to access +When you sign in to Travis CI for the first time, we ask for permission to access some of your data on GitLab. Read the [Scopes for the GitLab REST API](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) for general information about this, or pick an explanation of what data we need and why we need it. -## Travis CI for Open Source and Private Projects +## Travis CI for Open-Source and Private Projects On , via our GitLab integration, we ask for the following permissions: @@ -25,14 +25,14 @@ We use scoped OAuth tokens to integrate with GitLab. ## Used Scopes ### repository -Gives the app read access to all the repositories the authorizing user has access to. +It gives the app read access to all the repositories the authorizing user has access to. > This scope does not give access to a repository's pull requests. ### repository:admin Gives the app admin access to all the repositories the authorizing user has access to. This permission is needed to add the access key. Travis CI uses the key to read the travis.yml file content. -### pullrequest +### pull-request Gives the app read access to pull requests and collaborate on them. This scope implies repository, giving read access to the pull request's destination repository. ### email @@ -45,9 +45,9 @@ Ability to see all the user's account information. Note that this does not inclu The ability to find out what groups the current user is part of. This is covered by the teams endpoint. ### webhook -Gives access to webhooks. This scope is required for any webhook related operation. +Gives access to webhooks. This scope is required for any webhook-related operation. -This scope gives read access to existing webhook subscriptions on all resources you can access, without needing further scopes. +This scope gives read access to existing webhook subscriptions to all resources you can access without needing further scopes. This means that a client can list all existing webhook subscriptions on repository foo/bar (assuming the principal user has access to this repo). The additional repository scope is not required for this. From 6d5f006d7cf35571b670c765ee72c0432f170e5e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:12:26 -0400 Subject: [PATCH 026/178] Update disable-job-logs.md --- user/disable-job-logs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/disable-job-logs.md b/user/disable-job-logs.md index b13c00febb8..12a28e27aaa 100644 --- a/user/disable-job-logs.md +++ b/user/disable-job-logs.md @@ -9,10 +9,10 @@ To increase security, repository owners have the option to have control over the You can choose to enable or limit access using the following security settings. -### Enabling access to old build jobs +### Enable access to old build jobs {{ site.data.snippets.enabling_access_jobs_logs }} -### Limiting access to build job logs +### Limit access to build job logs {{ site.data.snippets.limiting_access_jobs_logs }} ### Disable logs Options From d7556e0b999c776ff06adb3a99cb29d8cf064663 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:23:29 -0400 Subject: [PATCH 027/178] Update best-practices-security.md --- user/best-practices-security.md | 49 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/user/best-practices-security.md b/user/best-practices-security.md index 8f1bebf8fff..a2c372c1f55 100644 --- a/user/best-practices-security.md +++ b/user/best-practices-security.md @@ -4,18 +4,18 @@ layout: en --- -## Steps Travis CI takes to secure your data +## Travis CI steps to secure your data Travis CI obfuscates secure environment variables and tokens displayed in the UI. Our [documentation about encryption keys](/user/encryption-keys/) outlines the build configuration we require to ensure this, however, once a VM is booted and tests are running, we have less control over what information utilities or add-ons are able to print to the VM’s standard output. To prevent leaks made by these components, we automatically filter secure environment variables and tokens that are longer than three characters at runtime, effectively removing them from the build log, displaying the string `[secure]` instead. -Please make sure your secret is never related to the repository or branch name, or any other guessable string. Ideally use a password generation tool such as `mkpasswd` instead of choosing a secret yourself. +Please make sure your secret is never related to the repository or branch name, or any other guessable string. Ideally, you should use a password generation tool such as `mkpasswd` instead of choosing a secret yourself. > The beta Windows support does not obfuscate secure environment variables leaked into the build log. Please keep reading the next section, [on how to avoid leaking secrets to build logs](https://docs.travis-ci.com/user/best-practices-security/#recommendations-on-how-to-avoid-leaking-secrets-to-build-logs) ### Log Scans -Travis CI has also enabled a mandatory post-job log scan in an attempt to find any other potential leakage of secrets. These scans are carried out on the the raw job log files shortly after the build job is completed. Scans are executed using [Trivy](https://github.com/aquasecurity/trivy) and [detect-secrets](https://github.com/Yelp/detect-secrets), Open Source scanners made available by their maintainers via means of a permissive OSS license. If the scanning process finds an unmasked secret-like entry in the job log, Travis CI, as a precautionary action, will mask the full line in the job log with asterisks (`*`) and produce a log scan report, available to the repository administrators for 7 days. +Travis CI has also enabled a mandatory post-job log scan in an attempt to find any other potential leakage of secrets. These scans are carried out on the raw job log files shortly after the build job is completed. Scans are executed using [Trivy](https://github.com/aquasecurity/trivy) and [detect-secrets](https://github.com/Yelp/detect-secrets), Open Source scanners made available by their maintainers via means of a permissive OSS license. If the scanning process finds an unmasked secret-like entry in the job log, Travis CI, as a precautionary action, will mask the full line in the job log with asterisks (`*`) and produce a log scan report, available to the repository administrators for 7 days. The job log scan report contains details on found potential secrets, referring to the line numbers in the **raw** job log file, and is meant to help review and find the source of the possible leak and if this proves to be an actual exposition of the secret, the scan fixes that. @@ -29,19 +29,19 @@ Since the job log scan is executed by the tools looking for secret-like entries, > Please note: The scan results may produce false positives and/or miss some items due to the nature of the scanners (searching for secret-like patterns). This is continuous work, and we expect it to improve over time based on findings and feedback. Also, we closely monitor the number of warnings raised by the job log scan process and decide later on to enable respective email notifications on top of existing visual indicators. -## Recommendations on how to avoid leaking secrets to build logs -Despite our best efforts, there are however many ways in which secure information can accidentally be exposed. These vary according to what tools you are using and what settings you have enabled. Some things to look out for are: +## Leaking secrets to build logs +Despite our best efforts, there are, however, many ways in which secure information can accidentally be exposed. These vary according to what tools you are using and what settings you have enabled. Some things to look out for are: -* settings which duplicate commands to standard output, such as `set -x` or `set -v` in your bash scripts -* displaying environment variables, by running `env` or `printenv` -* printing secrets within the code, for example `echo "$SECRET_KEY"` -* using tools that print secrets on error output, such as `php -i` -* git commands like `git fetch` or `git push` may expose tokens or other secure environment variables -* mistakes in string escaping -* settings which increase command verbosity -* testing tools or plugins that may expose secrets while operating +* settings which duplicate commands to standard output, such as `set -x` or `set -v` in your bash scripts. +* displaying environment variables, by running `env` or `printenv`. +* printing secrets within the code, for example `echo "$SECRET_KEY"`. +* using tools that print secrets on error output, such as `php -i`. +* git commands like `git fetch` or `git push` may expose tokens or other secure environment variables. +* mistakes in string escaping. +* settings which increase command verbosity. +* testing tools or plugins that may expose secrets while operating. -Preventing commands from displaying any output is one way to avoid accidentally displaying any secure information. If there is a particular command that is using secure information you can redirect its output to `/dev/null` to make sure it does not accidentally publish anything, as shown in the following example: +Preventing commands from displaying any output is one way to avoid accidentally displaying any secure information. If there is a particular command that is using secure information, you can redirect its output to `/dev/null` to make sure it does not accidentally publish anything, as shown in the following example: ```sh git push url-with-secret >/dev/null 2>&1 @@ -49,44 +49,45 @@ git push url-with-secret >/dev/null 2>&1 While using Travis CI, you may want to consider the additional means to decrease the risk of exposing secrets in the build job logs: -### Always use encrypted secrets +### Use encrypted secrets + Travis CI offers the ability to either [encrypt your secret](/user/encryption-keys/) with the Travis-CLI (command line interface tool) or define the secret in the [Travis CI Repository Settings](/user/environment-variables/#defining-variables-in-repository-settings). Shall the secret be stored in an encrypted file within your source code repository, you may instead [encrypt a file with a secret](/user/encrypting-files/) and use it during the build job. Decrypt your file for the shortest time needed and remove any temporary environment variables from the build job environment as soon as these are not necessary. -Please mind that at some point, the secret, in order to be used, must be decrypted for the build job environment. Thus debug outputs to the standard outputs may still result in secret exposure. The additional post-job log scanning process is meant to find these as much as possible. +Please mind that at some point, the secret, in order to be used, must be decrypted for the build job environment. Thus debug outputs to the standard outputs may still result in secret exposure. The additional post-job log scanning process is meant to find as many of these as possible. ### Use the Hashicorp Vault KMS integration If you manage your secrets using the Hashicorp Vault KMS (Key Management System), then you may use the existing [Travis CI - Hashicorp integration](/user/hashicorp-vault-integration) to obtain secrets directly to the build job. -Again, please be wary of any possible debug outputs to the standard outputs in the build job environment. The additional post-job log scanning process is meant to find these as much as possible. The advantage of pulling the secret from a KMS managed by you is the ability to rotate it from a single secret repository in case of any incident. We strongly recommend using Hashicorp Vault credentials limited to a specific set of CI/CD-related secrets to limit the threat scope for the KMS. +Again, please be wary of any possible debug outputs to the standard outputs in the build job environment. The additional post-job log scanning process is meant to find as many of these as possible. The advantage of pulling the secret from a KMS managed by you is the ability to rotate it from a single secret repository in case of any incident. We strongly recommend using Hashicorp Vault credentials limited to a specific set of CI/CD-related secrets to limit the threat scope for the KMS. -### Limit access to the job logs +### Limit job log access Review who and why should have access to the build job logs and set the appropriate options in the [Travis CI Repository Settings](/user/disable-job-logs/). -### Review the settings for builds triggered from forked Git repositories +### Settings review for fork repository builds Review the [Travis CI Repository Settings](/user/pull-requests/#pull-requests-and-security-restrictions) and adjust what should be shared with forks. This is meant for a collaboration pattern when a forked repository can file a Pull Request to the base repository, thus triggering a CI/CD build job with automated build and tests as a part of the Pull Request validation and approval process. Assess the risks and adjust settings to your scenario. ### Run builds requiring secrets in private repositories If this is a viable option, consider running builds requiring the usage of secrets as a CI/CD for private repositories with a carefully reviewed collaborator list. Combined with the above options, it should decrease the risk of secret exposition in the build job log. -## If you think that you might have exposed secure information +## Take control of exposing secure information As an initial step, it’s possible to delete logs containing any secure information by clicking the *Remove log* button on the build log page of Travis CI. ![remove log button](/images/remove-log.png "remove log button") -If you discover a leak in one of your build logs it’s essential that you revoke the leaked token or environment variable, and update any build scripts or commands that caused the leak. +If you discover a leak in one of your build logs, it’s essential that you revoke the leaked token or environment variable and update any build scripts or commands that caused the leak. -### Alternative methods of deleting logs +### Alternative log-deleting methods Instead of deleting build logs manually, you can do so using the [Travis CI CLI](https://github.com/travis-ci/travis.rb#logs) or the [API](https://developer.travis-ci.com/resource/log#delete). ## Rotate tokens and secrets periodically Rotate your tokens and secrets regularly. GitHub OAuth tokens can be found in your [Developer Settings](https://github.com/settings/developers) on the GitHub site. Please regularly rotate credentials for other third-party services as well. -## More information -The suggestions in this document reflect general recommendations that the Travis CI team and community encourage everyone to follow. However, suggestions here are not exhaustive, and you should use your best judgement to determine security processes for your project. If you have any questions about security at Travis CI or suspect you may have found a vulnerability, please contact us at . +## Disclaimer +The suggestions in this document reflect general recommendations that the Travis CI team and community encourage everyone to follow. However, suggestions here are not exhaustive, and you should use your best judgment to determine security processes for your project. If you have any questions about security at Travis CI or suspect you may have found a vulnerability, don't hesitate to contact us at . All other questions about Travis CI should be directed to . From a3861a2b262fdda897ff773c324235836fd578a4 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:25:52 -0400 Subject: [PATCH 028/178] Update sbom.md --- user/sbom.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/sbom.md b/user/sbom.md index 4badcc7d0a0..e5fe0aaa507 100644 --- a/user/sbom.md +++ b/user/sbom.md @@ -39,7 +39,7 @@ For the remaining languages, Travis CI will run Syft to build SBOM. The default output of the SBOM file is a CycloneDX-compatible JSON. However, it is possible to request CycloneDX-compatible XML or SPDX JSON. -## How to trigger SBOM generation in .travis.yml? +## Trigger SBOM generation There’s a new node in the existing `addons` section added specifically to help handle SBOM generation instructions. @@ -90,7 +90,7 @@ The new `sbom` node has the following available properties: * `input_dir` - is an input source code directorycontaining a package manager file corresponding to the programming language. It is relative to the build job environment. The default path for SBOM input is the build input directory */home/travis/build/*. However, if specific software source code parts are kept in repository subdirectories (e.g., frontend or backend of application or, e.g., */lib* subdirectory), one may want to generate SBOM only over this subdirectory. In order to do that, `input_dir: /` (which would take as input directory the */home/travis/build//*) should be explicitly provided. * `output_dir` - this is the output directory, where SBOM file(s) are placed once the SBOM generation is finished. The default output path should is */home/travis/build//sbom-* where TRAVIS_JOB_ID is a [default environment variable](/user/environment-variables/#default-environment-variables) present in the build job. If this parameter is used, e.g., `output_dir: /my_subdir` is provided, the SBOM files are placed in a subdirectory relative to */home/travis/build//*, e.g., in `/home/travis/build//my_subdir` -## How to deploy SBOM file(s) to target location? +## Deploy SBOM files to target location Travis CI does not maintain an SBOM registry. Every user is free to take the generated SBOM files from the `output_dir` location and transfer them to the selected destination via proper instructions placed in the `.travis.yml`. From 472167110773cce2f16fb9974389ef009ee68280 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:31:51 -0400 Subject: [PATCH 029/178] Update securely-signing-software.md --- user/securely-signing-software.md | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/user/securely-signing-software.md b/user/securely-signing-software.md index e9729054c5f..bf7689166c9 100644 --- a/user/securely-signing-software.md +++ b/user/securely-signing-software.md @@ -16,15 +16,19 @@ Before getting started, make sure you have: * A key available within a Travis CI build job. * Cosign pre-installed in the Linux build environments (this is maintained by Travis CI). +## Sign-in Options + +The following sections show the different sign-in options that are available. + ### Option 1: Upload Key directly to Travis CI A passwordless private PEM key can be generated by the account holder or organization admin and uploaded to Travis CI. Upload the Key to a [personal account](https://app.travis-ci.com/account/preferences ) -or an Organizational account(e.g.: https://app.travis-ci.com/organizations/[org_name]/preferences). The key name can contain only alphanumeric characters and the underscore character (_). Make sure to note down the name of the key. The key name must be unique within the scope of personal account or organization. +or an Organizational account(e.g.: https://app.travis-ci.com/organizations/[org_name]/preferences). The key name can contain only alphanumeric characters and the underscore character (_). Make sure to note down the name of the key. The key name must be unique within the scope of a personal account or organization. The key provided will be available for all builds run under this account (either personal or organizational). Please pay attention to individual Repository Settings, particularly the [Security Settings -> Share SSH key with forks](/user/web-ui#share-ssh-keys-with-forks) setting. If enabled, the signing key may be also made available when a forked repository files a Pull Request against the original (base repository). -### Option 2: Key from a Key Management System +### Option 2: Sign-in Key from the Key Management System You can also obtain a signing key by configuring the [Hashicorp Vault access in Travis CI](/user/hashicorp-vault-integration) and getting a signing key from it. @@ -34,7 +38,7 @@ You will be using open source tool called *cosign* to securely sign the software > Please note: To protect private repositories from accidental revealing via, e.g., Rekor registry or any other public registry, we are not allowing *keyless* (using ephemeral keys) signing using *cosign* in build jobs run for private repositories. Should you attempt to do so, an error message states that experimental features are not allowed for private repositories. -### Using a key stored in Travis CI +### Use a key stored in Travis CI Once the key is configured, you may modify your `.travis.yml` to include a securely signing code step in one of the build jobs. The below example illustrates a signing sample container image, which can be your release image. @@ -56,7 +60,7 @@ script: Please mind, that new `keys` tag and at least one uploaded key identifier are required, if you want to use the key within a build job (or whole build, depending on how you structure the build definition in `.travis.yml`). If the key identifier is not provided or doesn't match any of the uploaded keys, no key will become available during the build job or build runtime. -### Using a key stored in Hashicorp Vault and obtained to Travis CI build job +### Use a key stored in Hashicorp Vault *Cosign* relies on the following standard Hashicorp Vault environment variables being set within the build job environment: * VAULT_ADDR @@ -87,15 +91,15 @@ As much as the feature is meant to help you prove the source of the file or imag The key used for signing uploaded to Travis CI under a personal account or organization account can be used under every repository owned by this entity (assuming proper tag and key identifier are present in the respective repository `.travis.yml`). The key downloaded from Hashicorp Vault to a specific build job or build can be used, respectively, within a specific build job or every build job of a build. -Therefore please carefully review repository settings in Travis CI for repositories belonging to the account and assess the risk of the key used for signing being exposed, e.g. via malicious pull request from a fork or accidental debug message. We’d recommend paying attention whether the repository is public (which makes the job logs public by default), if the pull requests from forks are allowed, are the repository SSH keys shared and who may access the job logs. Please mind that job logs, especially public, can be used to expose the secret via a malicious or accidental debug message in the pull request or commit that triggers a build in Travis CI. +Therefore, please carefully review repository settings in Travis CI for repositories belonging to the account and assess the risk of the key used for signing being exposed, e.g., via malicious pull request from a fork or accidental debug message. We’d recommend paying attention whether the repository is public (which makes the job logs public by default), if the pull requests from forks are allowed, are the repository SSH keys shared and who may access the job logs. Please mind that job logs, especially public, can be used to expose the secret via a malicious or accidental debug message in the pull request or commit that triggers a build in Travis CI. -We recommend considering following security measures: - * using separate key just for purpose of file/image signing - * using private repository to trigger builds, during which the files are signed, if possible - * reviewing who has push/write access to such repository - * reviewing Repository Settings, particularly the [Security Settings -> Share SSH key with forks](/user/web-ui#share-ssh-keys-with-forks) setting - * excluding a build, which signs the release to a separate account/organization (if possible and viable) with limited list of collaborators - * [limiting access to repository job logs](/user/disable-job-logs/) in individual repository settings - * if using Hashicorp Vault KMS as a source of the key used for signing: always encrypt secrets needed to connect to Vault in the respective Repository Settings or the .travis.yml file +We recommend considering the following security measures: + * using separate key just for the purpose of file/image signing. + * using private repository to trigger builds, during which the files are signed, if possible. + * reviewing who has push/write access to such repository. + * reviewing Repository Settings, particularly the [Security Settings -> Share SSH key with forks](/user/web-ui#share-ssh-keys-with-forks) setting. + * excluding a build, which signs the release to a separate account/organization (if possible and viable) with a limited list of collaborators. + * [limiting access to repository job logs](/user/disable-job-logs/) in individual repository settings. + * if using Hashicorp Vault KMS as a source of the key used for signing: always encrypt secrets needed to connect to Vault in the respective Repository Settings or the .travis.yml file. Travis CI will attempt to obfuscate secrets in the job logs, yet since there are many ways to print them in the output there’s no guarantee all vulnerable data will be spotted and masked. Since Travis is a cloud CI/CD system, please be wary of associated risks and ways to minimize these. Please read also [Best Practices in Securing Your Data](/user/best-practices-security/). From a7d1af65a8d16ef659679e3c4425c78ac42cf70e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:42:45 -0400 Subject: [PATCH 030/178] Update build-matrix.md --- user/build-matrix.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/user/build-matrix.md b/user/build-matrix.md index dfde191f8ae..de02b4f4df1 100644 --- a/user/build-matrix.md +++ b/user/build-matrix.md @@ -42,7 +42,7 @@ env: ``` {: data-file=".travis.yml"} -## Listing individual jobs +## List individual jobs In addition, jobs can be specified by adding entries to the key `jobs.include`. @@ -68,7 +68,7 @@ jobs: > You can also have a look at the [Language](https://config.travis-ci.com/ref/language) section in our [Travis CI Build Config Reference](https://config.travis-ci.com/). -## Excluding Jobs +## Exclude Jobs The build matrix expansion sometimes produced unwanted combinations. In that case it can be convenient to exclude certain combinations using the key @@ -139,7 +139,7 @@ jobs: ``` {: data-file=".travis.yml"} -### Excluding jobs with `env` value +### Exclude Jobs with the env value When excluding jobs with `env` values, the value must match _exactly_. @@ -233,7 +233,7 @@ keys defined. In this example with a 3-job Python build matrix, each job in `jobs.include` has the `python` value set to `'3.8'`. -You can explicitly set the python version for a specific entry: +You can explicitly set the Python version for a specific entry: ```yaml language: python @@ -254,7 +254,7 @@ script: env $EXTRA_TESTS ./test.py $TEST_SUITE ### Explicitly included jobs with only one element in the build matrix As a special case, if your build matrix has only one element _and_ you have -explicitly included jobs, matrix expansion is not done and the explicit jobs +explicitly included jobs, matrix expansion is not done, and the explicit jobs _completely_ define your build. For example: ```yaml @@ -286,7 +286,7 @@ jobs: ``` {: data-file=".travis.yml"} -## Rows that are Allowed to Fail +## Allow Rows to Fail You can define rows that are allowed to fail in the build matrix. Allowed failures are items in your build matrix that are allowed to fail without causing @@ -303,14 +303,14 @@ jobs: ``` {: data-file=".travis.yml"} -### Matching Jobs with `allow_failures` +### Match Jobs with allow_failures When matching jobs against the definitions given in `allow_failures`, _all_ conditions in `allow_failures` must be met exactly, and all the keys in `allow_failures` element must exist in the top level of the build matrix (i.e., not in `jobs.include`). -#### `allow_failures` Examples +#### Examples Consider @@ -355,7 +355,7 @@ jobs: Without the top-level `env`, no job will be allowed to fail. -## Fast Finishing +## Use Fast Finish If some rows in the build matrix are allowed to fail, the build won't be marked as finished until they have completed. @@ -369,7 +369,7 @@ jobs: Now, the build result will be determined as soon as all the required jobs finish, based on these results, while the rest of the `allow_failures` jobs continue to run. -## Using Different Programming Languages per Job +## Use Different Programming Languages per Job You can also use the `jobs.include` feature to have different languages for each job in your build. For example, ```yaml @@ -435,7 +435,7 @@ jobs: - <<: *shared_job ``` -In rare circumstances it can still be desirable to execute multiple jobs with the same config. In such cases, job uniqueness can be achieved by specifying any additional key, e.g. a job name: +In rare circumstances it can still be desirable to execute multiple jobs with the same config. In such cases, job uniqueness can be achieved by specifying any additional key, e.g., a job name: ```yaml _shared_job: &shared_job From 922687d69ef915364bfecd56aba84d105a6c2f7c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:44:10 -0400 Subject: [PATCH 031/178] Update job-lifecycle.md --- user/job-lifecycle.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/job-lifecycle.md b/user/job-lifecycle.md index cf29a69e16f..f99df2e30ea 100644 --- a/user/job-lifecycle.md +++ b/user/job-lifecycle.md @@ -118,7 +118,7 @@ script: bundle exec rake build && bundle exec rake builddoc The example above fails immediately when `bundle exec rake build` fails. Note the `&&` -### Use the `$?` Command +### Use the $? Command Each command in `script` is processed by a special bash function. This function manipulates the `$?` command to produce logs suitable for display. Consequently, you should not rely on the value of `$?` in the `script` section to alter the build behavior. @@ -158,7 +158,7 @@ Follow these steps to run that script from your `.travis.yml` file: ``` {: data-file=".travis.yml"} -#### Use the `exit` Command +#### Use the exit Command After specifying the steps in the job lifecycle, these are compiled into a single bash script and executed on the worker. @@ -181,7 +181,7 @@ The exit code of `after_success`, `after_failure`, `after_script`, `after_deploy To troubleshoot more common issues, see our [Common Builds Problems](/user/common-build-problems/) documentation. -## Deploying your Code +## Code Deployment Deployment is an optional phase in the job lifecycle. It is defined by using one of our continuous deployment providers to deploy code to Heroku, Amazon, or a different supported platform. From 8cde2e57f9c10a942e7b0c99af57d2bf2960bc9c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:49:13 -0400 Subject: [PATCH 032/178] Update build-stages.md --- user/build-stages.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/user/build-stages.md b/user/build-stages.md index 25230efa2ba..9a91da89d12 100644 --- a/user/build-stages.md +++ b/user/build-stages.md @@ -12,7 +12,7 @@ Build stages is a way to group jobs, and run jobs in each stage in parallel, but run one stage after another sequentially. In the simplest and most common use case, you can now make one job run _only_ -if several other, parallel jobs have completed successfully. +if several other parallel jobs have been completed successfully. Let’s say you want to test a library like a Ruby gem or an npm package against various runtime (Ruby or Node.js) versions in [parallel](/user/customizing-the-build/#build-matrix). @@ -21,7 +21,7 @@ completed successfully. Build stages make this possible. Of course, there are a lot more and a lot more elaborated use cases than this one. You can, for example, also use build stages to warm up dependency caches -in a single job on a first stage, then use the cache on several jobs on a +in a single job on the first stage, then use the cache on several jobs on a second stage. Or, you could generate a Docker image and push it first, then test it on several jobs in parallel. Or, you could run unit tests, deploy to staging, run smoke tests and only then deploy to production. @@ -35,11 +35,11 @@ Stages group jobs that run in parallel and different stages run sequentially. A stage is a group of jobs that are allowed to run in parallel. However, each one of the stages runs one after another and will only proceed, if all jobs in -the previous stage have passed successfully. If one job fails in one stage, all -other jobs on the same stage will still complete, but all jobs in subsequent +the previous stage has passed successfully. If one job fails in one stage, all +other jobs on the same stage will still complete, but all jobs in the subsequent stages will be canceled and the build fails. -You can configure as many jobs per stage as you need and you can have as many +You can configure as many jobs per stage as you need, and you can have as many stages as your delivery process requires. In the following example, we are running two jobs on the first stage called @@ -47,7 +47,7 @@ test, and then run a single third job on the second stage called deploy: ![Example screencast](/images/stages/stages.gif) -## How to Define Build Stages? +## Define Build Stages Here’s how you’d set up the build configuration for this in your `.travis.yml` file: @@ -67,13 +67,13 @@ jobs: This configuration creates the build from the screencast above. I.e., it creates a build with three jobs, two of which start in parallel in the first stage (named `test`), while the third job on the second stage (named `deploy`) starts -only after the test stage completes successfully. +only after the test stage is completed successfully. ## Build Config Reference You can find more information on the build config format for [build stages](https://config.travis-ci.com/ref/stages) in our [Travis CI Build Config Reference](https://config.travis-ci.com/). -## Naming Your Build Stages +## Name Build Stages Stages are identified by their names, which are composed of names and emojis. The first letter of a stage name is automatically capitalized for @@ -101,7 +101,7 @@ jobs: ``` {: data-file=".travis.yml"} -### Naming Your Jobs within Build Stages +### Name Jobs within Build Stages You can also name specific jobs within build stages. We recommend unique job names, but do not enforce it (though this may change in the future). Jobs defined in the `jobs.include` @@ -124,7 +124,7 @@ jobs: ## Build Stages and Build Matrix Expansion [Matrix expansion](/user/customizing-the-build/#build-matrix) -means that certain top level configuration keys expand into a matrix of jobs. +means that certain top-level configuration keys expand into a matrix of jobs. For example: @@ -142,7 +142,7 @@ jobs: ``` {: data-file=".travis.yml"} -This will run two jobs on Ruby 2.3 and 2.4 respectively first and assign these +This will run two jobs on Ruby 2.3 and 2.4, respectively, first and assign these to the default stage test. The third job on the deploy stage starts only after the test stage has completed successfully. @@ -151,7 +151,7 @@ that defines a matrix dimension. > In the example above, without explicitly setting `rvm: 2.4`, the `include`d job inherits `rvm: 2.3`. -## Specifying Stage Order and Conditions +## Specify Stage Order and Conditions You can specify the order for stages in the section `stages`: @@ -215,7 +215,7 @@ See [the S3 example](#sharing-files-between-jobs-via-s3) below. ## Examples -### Deploying to Heroku +### Deploy to Heroku An example with 5 stages: @@ -227,7 +227,7 @@ An example with 5 stages: You can find more [details here](/user/build-stages/deploy-heroku/). -### Deploying to Rubygems +### Deploy to Rubygems This example has two build stages: @@ -236,7 +236,7 @@ This example has two build stages: You can find more [details here](/user/build-stages/deploy-rubygems/). -### Deploying to NPM +### Deploy to NPM This example has two build stages: @@ -245,7 +245,7 @@ This example has two build stages: You can find more [details here](/user/build-stages/deploy-npm/). -### Deploying to GitHub Releases +### Deploy to GitHub Releases This example has two build stages: @@ -254,7 +254,7 @@ This example has two build stages: You can find more [details here](/user/build-stages/deploy-github-releases/). -### Combining build stages with matrix expansion +### Combine build stages with matrix expansion This example has two build stages: @@ -263,7 +263,7 @@ This example has two build stages: You can find more [details here](/user/build-stages/matrix-expansion/). -### Warming up a cache with expensive dependencies +### Warm up a cache with expensive dependencies This uses two build stages in order to warm up a cache with expensive dependencies, and optimize test run times: @@ -272,7 +272,7 @@ This uses two build stages in order to warm up a cache with expensive dependenci You can find more [details here](/user/build-stages/warm-cache/). -### Sharing a Docker image +### Share a Docker image This example has 2 build stages: @@ -281,7 +281,7 @@ This example has 2 build stages: You can find more [details here](/user/build-stages/share-docker-image/). -### Sharing files between jobs via S3 +### Share files between jobs via S3 This uses two build stages, sharing files from build stage 1 in stage 2: @@ -290,7 +290,7 @@ This uses two build stages, sharing files from build stage 1 in stage 2: You can find more [details here](/user/build-stages/share-files-s3/). -### Defining different steps on different stages +### Define different steps in different stages This example has 2 build stages: @@ -299,7 +299,7 @@ This example has 2 build stages: You can find more [details here](/user/build-stages/define-steps/). -### Defining steps using YAML aliases +### Define steps using YAML aliases This example uses YAML aliases to define steps. It has 3 build stages: From e73c0f4b02adeb625baff0632fec26af5d86d81a Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:51:33 -0400 Subject: [PATCH 033/178] Update conditional-builds-stages-jobs.md --- user/conditional-builds-stages-jobs.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/user/conditional-builds-stages-jobs.md b/user/conditional-builds-stages-jobs.md index 054cb301591..6f93ccebd74 100644 --- a/user/conditional-builds-stages-jobs.md +++ b/user/conditional-builds-stages-jobs.md @@ -1,9 +1,9 @@ --- -title: Conditional Builds, Stages and Jobs +title: Conditional Builds, Stages, and Jobs layout: en --- -You can filter out and reject builds, stages and jobs by specifying conditions in your build configuration (your `.travis.yml` file). +You can filter out and reject builds, stages, and jobs by specifying conditions in your build configuration (your `.travis.yml` file). You can find more information on the build config format in our [Travis CI Build Config Reference](https://config.travis-ci.com/ref/job/if/condition). @@ -84,11 +84,9 @@ jobs: ``` {: data-file=".travis.yml"} -## Specifying Conditions +## Specify and Test Conditions Please see [Conditions](/user/conditions-v1) for examples and a specification of the conditions syntax. -## Testing Conditions - Conditions can be tested using the `travis-conditions` command. Learn how to [test your conditions](/user/conditions-testing). From fe4d62eadedf4e06ca16337138ea3920482bff04 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 15:01:59 -0400 Subject: [PATCH 034/178] Update overview.md --- user/reference/overview.md | 41 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/user/reference/overview.md b/user/reference/overview.md index 35bedab2391..f70e82ce8a8 100644 --- a/user/reference/overview.md +++ b/user/reference/overview.md @@ -7,7 +7,6 @@ redirect_from: - /user/migrating-from-legacy/ --- -### What This Guide Covers This guide provides an overview on the different environments in which Travis CI can run your builds, and why you might want to pick one over another. @@ -28,14 +27,14 @@ This is sudo enabled, full virtual machine per build, that runs Linux #### LXD container -This is sudo enabled LXD container build environment, as close to a virtual machine as you can get in containers world. A Linux environment is run within an unprivileged LXD container. +This is a sudo-enabled LXD container build environment, as close to a virtual machine as you can get in the container world. A Linux environment is run within an unprivileged LXD container. -* Fast spin-up (decreased build time when compared to full VM) yet some [limitations](/user/reference/overview/#linux-security-and-lxd-container) do apply -* It starts with min 2 vCPUs and if there is more computing time available, the host can dynamically assign it to speed up your build +* Fast spin-up (decreased build time when compared to full VM), yet some [limitations](/user/reference/overview/#linux-security-and-lxd-container) do apply +* It starts with min 2 vCPUs, and if there is more computing time available, the host can dynamically assign it to speed up your build -#### Which one do I use? +#### Choose a Virtualization type -For the majority of cases, whenever available, we recommend to use LXD-based containers. +For the majority of cases, whenever available, we recommend using LXD-based containers. Use full VM only if LXD is not available or you need * privileged fs access @@ -65,7 +64,7 @@ A [macOS](/user/reference/osx/) environment for Objective-C and other macOS spec A [Windows](/user/reference/windows/) environment running Windows Server, version 1803. -### Virtualisation Environment vs Operating System +### Virtualization Environment vs. Operating System The following table summarizes the differences across virtual environments and operating systems: @@ -91,7 +90,7 @@ The following table summarizes the differences across virtual environments and o The best way to find out what is available on your specific image is to run `df -h` as part of your build script. -## What infrastructure is my environment running on? +## Define the Environment's Infrastructure Usually, knowing the virtualization environment characteristics from the [table above](#virtualisation-environment-vs-operating-system) is sufficient. @@ -100,7 +99,7 @@ But, if you do need more detail, you have one of these two questions: * you want to see what infrastructure a [finished build](#for-a-finished-build) ran on. * you want to determine what infrastructure a [particular `.travis.yml` configuration](#for-a-particular-travisyml-configuration) will run on. -### For a finished build +### For finished builds To see what infrastructure a finished build ran on, look at the *hostname* at the top of the build log: @@ -112,13 +111,13 @@ if it contains: * `gce` → the build ran in a virtual machine on Google Compute Engine. * `wjb` → the build ran on macOS. * `1803-containers` → the build ran on Windows. -* `lxd-arm64` → the build ran within an LXD container on Arm64-based infrastructure (currently delivered by Equinix Metal, formerly known as Packet) -* `lxd-ppc64le` → the build ran within an LXD container on Power-based infrastructure (currently delivered by IBM) -* `lxd-s390x` → the build ran within an LXD container on Z-based infrastructure (currently delivered by IBM) +* `lxd-arm64` → the build ran within an LXD container on Arm64-based infrastructure (currently delivered by Equinix Metal, formerly known as Packet). +* `lxd-ppc64le` → the build ran within an LXD container on Power-based infrastructure (currently delivered by IBM). +* `lxd-s390x` → the build ran within an LXD container on Z-based infrastructure (currently delivered by IBM). -If *instance*, right under the *hostname* contains `ec2` → the build ran within an LXD container or as a 'full VM' on AWS Arm64 Graviton2 infrastructure +If *instance*, right under the *hostname* contains `ec2` → the build ran within an LXD container or as a 'full VM' on AWS Arm64 Graviton2 infrastructure. -### For a particular .travis.yml configuration +### For particular .travis.yml file configurations * Our default infrastructure is an Ubuntu Linux (`os: linux`) virtual machine running on AMD64 architecture (`arch: amd64`), on Google Compute Engine. You can specify which version of Ubuntu using the `dist` key. @@ -144,9 +143,9 @@ If *instance*, right under the *hostname* contains `ec2` → the build ran withi With the introduction of a new billing system in Travis CI, the IBM and part of the ARM64 infrastructures are kept available free of charge for OSS as a part of the Partner Queue Solution. For more details see [Billing Overview - Usage based Plans - Credits](/user/billing-overview/#usage---credits). -### Linux: .travis.yml examples +### Linux Examples -#### The AMD64 builds +#### AMD64 builds ```yaml arch: amd64 # optional, this is default, routes to a full VM @@ -155,7 +154,7 @@ dist: focal # or bionic | xenial | trusty | precise with xenial as defa ``` {: data-file=".travis.yml"} -#### The Arm64 builds +#### Arm64 builds ```yaml arch: arm64 # LXD container based build for OSS only @@ -203,11 +202,11 @@ dist: focal # or bionic | xenial with xenial as default > These limitations are not applicable if your builds are run on `virt: vm` (virtual machine) environment. However, please note that VMs start slower and have fixed computing power assigned compared to containers (LXD). -#### Access to Privileged fs/Features (Apparmor) +#### Access Privileged File Systems > Due to security reasons, builds run in LXD containers will be denied access to privileged filesystems and paths - a privileged container with write access to e.g. /sys/kernel/debugfs might muddle an LXD host. -As a result, for instance a command in `.travis.yml` like: +As a result, for instance, a command in `.travis.yml` like: ```yaml sudo docker run --privileged --rm -t -v /sys/kernel/debug:/sys/kernel/debug:rw ``` @@ -225,7 +224,7 @@ If you run into a message like: It most probably means a system call interception is outside of the list of the ones considered to be safe (LXD can allow system call interception [if it's considered to be safe](https://github.com/canonical/lxd/blob/main/doc/syscall-interception.md)). -### Linux: Hugepages Support from within LXD Container +### Linux: Hugepages Support As of now, Travis CI is not configured to allow hugepages within unprivileged containers. This may change on short notice. @@ -243,7 +242,7 @@ vm: ``` {: data-file=".travis.yml"} -Available instance sizes can be selected for following build jobs: +Available instance sizes can be selected for the following build jobs: * OS is Linux, FreeBSD or Windows * CPU architecture is amd64 From 4f21ee81d3b255b5ca5cabae128c3d97bb367af4 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 15:26:03 -0400 Subject: [PATCH 035/178] Update linux.md --- user/reference/linux.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/user/reference/linux.md b/user/reference/linux.md index dbae097daf0..69245501cf1 100644 --- a/user/reference/linux.md +++ b/user/reference/linux.md @@ -1,5 +1,5 @@ --- -title: The Ubuntu Linux Build Environments +title: Ubuntu Linux Build Environments layout: en --- @@ -16,15 +16,13 @@ You can choose one of the following distributions: * [Ubuntu Trusty 14.04](/user/reference/trusty/) *deprecation warning: by end of 2024* * [Ubuntu Precise 12.04](/user/reference/precise/) *deprecated* -## Using Ubuntu Linux distributions +## Ubuntu Linux Distributions To use our Ubuntu Linux build infrastructure, you can choose between the distributions above. -## Default - We use Ubuntu Xenial 16.04 as default. You find more about packages, tools and settings in [Ubuntu Xenial 16.04](/user/reference/xenial/). -### Ports +### Use Ports Travis CI Linux build images do utilize default open ports as follows: @@ -34,9 +32,9 @@ Travis CI Linux build images do utilize default open ports as follows: 68 for dhcp On top of that, some of the services pre-installed in the build image or installed during execution of the build job execution as dependencies (e.g. database engine or docker) may occupy additional ports. -Travis CI build image configuratione doesn't override such defaults. +Travis CI build image configurations do not override such defaults. -If in any case during a build job you run into a situation a port you want to use is occupied/not available, please re-run the build using +If, in any case, during a build job, you run into a situation a port you want to use is occupied/not available, please re-run the build using following `nestat` call in your `.travis.yml` at the beginning of the script phase or directly before the step, which you suspect clashes over occupied ports. ```yaml @@ -48,7 +46,7 @@ script: to show all open ports occupied during the build job runtime. -### Using Xenial +### Use Xenial To use Ubuntu Xenial, add the following to your `.travis.yml`. From 82ee275651a3973c601c10df6dcf90fc0150bf10 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:57:53 -0400 Subject: [PATCH 036/178] Update osx.md --- user/reference/osx.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/user/reference/osx.md b/user/reference/osx.md index fa22436c117..763c4f75705 100644 --- a/user/reference/osx.md +++ b/user/reference/osx.md @@ -1,14 +1,13 @@ --- -title: The macOS Build Environment +title: macOS Build Environment layout: en redirect_from: - /user/osx-ci-environment/ - /user/workers/os-x-infrastructure/ --- -### What This Guide Covers -This guide explains what packages, tools and settings are available in the +This guide explains what packages, tools, and settings are available in the Travis macOS CI environment (often referred to as the “CI environment”). @@ -28,7 +27,7 @@ and rolled back at the end of it. This offers a number of benefits: The environment available to test suites is known as the *Travis CI environment*. -## Using macOS +## Use macOS To use our macOS build infrastructure, add the following to your `.travis.yml`: @@ -69,7 +68,7 @@ The Homebrew addon uses the Homebrew database on the build image by default, but ## File System -VMs running macOS 10.13 use HFS+, VMs running macOS 10.14 and newer use APFS. +VMs running macOS 10.13 use HFS+, and VMs running macOS 10.14 and newer use APFS. ## JDK and macOS @@ -118,22 +117,26 @@ and later, use `xcode9.4` (or later). ## Runtimes -Every worker has at least one version of Go, Java, Python, Ruby and NodeJS to accommodate +Every worker has at least one version of Go, Java, Python, Ruby, and NodeJS to accommodate projects that may need one of those runtimes during the build. -## Ruby versions/implementations +## Implement Ruby versions -Default macOS Ruby (depends on macOS version) -- You need to use `sudo` to install gems with this Ruby and you can also use the [pre-compiled Ruby binaries](https://rubies.travis-ci.org/) we made available. +The default macOS Ruby (depends on macOS version) -- You need to use `sudo` to install gems with this Ruby and you can also use the [pre-compiled Ruby binaries](https://rubies.travis-ci.org/) we made available. Rubies are built using [RVM](http://rvm.io/) that is installed per-user. -## Gems in the global gem set +## Global Gem set + +The following are Gems in the global gem set. - bundler - rake - cocoapods -## Python related tools +## Python-related tools + +The following are Python-related tools available. - pyenv (via homebrew) - virtualenv (via pip) @@ -141,7 +144,7 @@ Rubies are built using [RVM](http://rvm.io/) that is installed per-user. - scipy (via pip) - tox (via pip) -## Xcode version +## Xcode Versions Xcode 9.4.1 is installed with all available simulators and SDKs. Command Line Tools are also installed. From e4cf62025cd119aa27dd1622fbf585f5ce9b5ffb Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:00:44 -0400 Subject: [PATCH 037/178] Update windows.md --- user/reference/windows.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/user/reference/windows.md b/user/reference/windows.md index 49c84e607fb..4c2f9ec3aee 100644 --- a/user/reference/windows.md +++ b/user/reference/windows.md @@ -1,19 +1,15 @@ --- -title: The Windows Build Environment +title: Windows Build Environment layout: en --- -### What This Guide Covers - -This guide explains what packages, tools and settings are available in the Travis Windows CI environment (often referred to as the “CI environment”). +This guide explains what packages, tools, and settings are available in the Travis Windows CI environment (often referred to as the “CI environment”). > Take note that our Windows environment is in early stages and a minimal subset of what's available on Linux or macOS is currently supported. -## Support - > Early adopters of our Windows environment can ask their questions/report issues in the [Windows category](https://travis-ci.community/c/windows) of our Community Forums. -## Using Windows +## Use Windows To use our Windows build infrastructure, add the following to your `.travis.yml`: @@ -47,6 +43,9 @@ Powershell can be used by calling `powershell` in your .travis.yml file for now. VMs running Windows use the default file system, NTFS. ## Supported languages + +The following is a list of the supported languages. + - Bash `language: bash` or `language: shell` - C with `language: c` - C++ with `language: cpp` @@ -57,6 +56,8 @@ VMs running Windows use the default file system, NTFS. ## Pre-installed Chocolatey packages +The following is a list of the pre-installed Chocolatey packages. + - 7zip.install v19.0 - chocolatey v0.10.15 - chocolatey-core.extension v1.3.5.1 @@ -104,7 +105,7 @@ VMs running Windows use the default file system, NTFS. [^git]: Travis uses the system-wide Git for Windows installation in its own machinery, so use an alternative package like [`git.portable`](https://chocolatey.org/packages/git.portable) if you need a custom version of Git. -## How do I use MSYS2? +## Use MSYS2 [MSYS2](https://www.msys2.org/) is a popular development environment for building GCC-based projects with Unix-style build systems. While it isn't included in the Windows image, it is fairly easy to install via [the Chocolatey package](https://chocolatey.org/packages/msys2) using the following additions to the sections of your `.travis.yml`: From 0784c6ab7b2267cc1c6a79dba5cf21f1afba13a6 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:05:10 -0400 Subject: [PATCH 038/178] Update freebsd.md --- user/reference/freebsd.md | 41 +++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/user/reference/freebsd.md b/user/reference/freebsd.md index 690d7573bf4..2004acc684d 100644 --- a/user/reference/freebsd.md +++ b/user/reference/freebsd.md @@ -1,28 +1,23 @@ --- -title: The FreeBSD Build Environment +title: FreeBSD Build Environment layout: en --- ## Overview -This guide provides an overview of the packages, tools and settings available in the FreeBSD CI environment. +This guide provides an overview of the packages, tools, and settings available in the FreeBSD CI environment. -You can use the following distribution: +To use our FreeBSD build infrastructure, you can use the following: * [FreeBSD 12.1](/user/reference/freebsd/) **default** -## Using FreeBSD distributions +> Note: We use FreeBSD 12.1 as default. -To use our FreeBSD build infrastructure, you can use the distribution above. -## Default +## Use FreeBSD -We use FreeBSD 12.1 as default. - -## Using FreeBSD - -To use FreeBSD, add the following to your your `.travis.yml`. +To use FreeBSD, add the following to your `.travis.yml`. ```yaml os: freebsd @@ -34,13 +29,13 @@ and [macOS Build Environment](/user/reference/osx/). > FreeBSD is available on our hosted fully virtualized infrastructure. -### FreeBSD improvements +### FreeBSD Improvements FreeBSD includes the following changes and improvements: -#### Third party pkg-repositories removed +#### Remove third-party pkg-repositories -To specify a third party pkg-repository, you can add the source with the pkg addon and specify +To specify a third-party pkg-repository, you can add the source with the pkg addon and specify the packages. For example: @@ -54,16 +49,16 @@ addons: ``` {: data-file=".travis.yml"} -## Environment common to all FreeBSD 12.1 images +## Common Environment to FreeBSD 12.1 images The following versions of version control software and compilers are present on all FreeBSD -12.1 builds, along with more language specific software described in detail below. +12.1 builds, along with more language-specific software, are described in detail below. Any preinstalled software not provided by the distro is installed from ports – either a prebuilt binary if available, or a source release built with default options. For preinstalled language interpreters, a standard version manager like rvm is used, if available for the language. -## Ruby support +## Ruby Support * Pre-installed Rubies: 2.6.5. * Available ruby versions: 1.8.6, 1.8.7, 1.9.1, 1.9.2, 1.9.3, 2.0.0, 2.1.10, 2.2.10, 2.3.8, 2.4.6, 2.5.5, 2.6.3, 2.7.0 (preview1) @@ -77,7 +72,7 @@ rvm: ``` {: data-file=".travis.yml"} -## C and C++ support +## C and C++ Support Pre-install compilers and linkers: * Make @@ -91,24 +86,24 @@ Pre-install compilers and linkers: * Ccache * Llvm -## Python support +## Python Support * Supported Python versions: 2.7, 3.4 or higher. * Pre-installed Python versions: 3.6 and 3.8. * Pre-installed PyPy * Pre-installed PIP -## Go support +## Go Support * Pre-installed Go: 1.11 * Other Go versions can be installed during build time by specifying the language versions with the go:-key. -## Julia support +## Julia Support * Supported Julia versions: starting with version 0.7 and higher -## JAVA support +## JAVA Support * Default version: 8 * Pre-installed OpenJDK version 8, 11, 12, 13 (OpenJDK10 not supported in FreeBSD) @@ -116,6 +111,6 @@ Pre-install compilers and linkers: * Pre-installed Apache Maven version 3.6.3 * Pre-installed Gradle version 6.0.1 -## Docker +## Docker Support Currently unsupported. See [FreeBSD wiki about Docker](https://wiki.freebsd.org/Docker) for more details and [FreeBSD wiki on Container Orchestration](https://wiki.freebsd.org/ContainerOrchestration) for more native solutions. From 6e1316f1ae5b4cbfa1670ac07312a82f8d4dbbcf Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:07:13 -0400 Subject: [PATCH 039/178] Update multi-os.md --- user/multi-os.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/multi-os.md b/user/multi-os.md index bc27a50eddb..7287a9a1510 100644 --- a/user/multi-os.md +++ b/user/multi-os.md @@ -1,5 +1,5 @@ --- -title: Testing Your Project on Multiple Operating Systems +title: Test your Project on Multiple Operating Systems layout: en --- @@ -7,7 +7,7 @@ layout: en If your code is used on multiple operating systems it probably should be tested on multiple operating systems. Travis CI can test on Linux and macOS. -To enable testing on multiple operating systems add the `os` key to your `.travis.yml`: +To enable testing on multiple operating systems, add the `os` key to your `.travis.yml`: ```yaml os: @@ -18,7 +18,7 @@ os: The value of the `$TRAVIS_OS_NAME` variable is set to `linux` or `osx` according to the operating system a particular build is running on, so you can use it to conditionalize your build scripts. -If you are already using a [build matrix](/user/customizing-the-build/#build-matrix) to test multiple versions, the `os` key also multiplies the matrix. +If you already use a [build matrix](/user/customizing-the-build/#build-matrix) to test multiple versions, the `os` key also multiplies the matrix. ## Operating System differences @@ -52,7 +52,7 @@ that can affect your tests: In some cases, commands that do the same thing could have different names. These need to be investigated case by case. -## Allowing Failures on Jobs Running on One Operating System +## Allow Jobs' Failures To ignore the results of jobs on one operating system, add the following to your `.travis.yml`: @@ -64,7 +64,7 @@ jobs: ``` {: data-file=".travis.yml"} -## Example Multi OS Build Matrix +## Multi OS Build Matrix Example Here's an example `.travis.yml` file using if/then directives to customize the [build lifecycle](/user/job-lifecycle/) to use [Graphviz](https://graphviz.gitlab.io/) in both Linux and macOS. @@ -108,7 +108,7 @@ jobs: ``` {: data-file=".travis.yml"} -### Python example (unsupported languages) +### Python Example For example, this `.travis.yml` uses the `matrix.include` key to include four specific entries in the build matrix. It also takes advantage of `language: generic` to test Python on macOS. Custom requirements are installed in `./.travis/install.sh` below. From 52358762ac4b0b7b7fe182e1c119e938f47814c0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:08:06 -0400 Subject: [PATCH 040/178] Update ip-addresses.md --- user/ip-addresses.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/ip-addresses.md b/user/ip-addresses.md index f49b17dd18d..2722ac2c935 100644 --- a/user/ip-addresses.md +++ b/user/ip-addresses.md @@ -4,7 +4,7 @@ layout: en --- -Knowing the IP addresses of the build machines which Travis CI uses can be helpful +Knowing the IP addresses of the build machines that Travis CI uses can be helpful when you need them safelisted to access your internal resources. Since builds run in a variety of different infrastructures, the IP ranges to safelist depend on the infrastructure your builds are running on. @@ -47,7 +47,7 @@ If this occurs, reconfigure your servers to allow for connections from multiple ## Notification -We will announce changes to this set of IP addresses with a 24 hour notice period. We recommend you use the DNS record to keep track automatically, but if you require a manual notification, you can subscribe to the mailing list: +We will announce changes to this set of IP addresses with a 24-hour notice period. We recommend you use the DNS record to keep track automatically, but if you require a manual notification, you can subscribe to the mailing list: From ee9a401386f2b62c4d4e21798d9ba0cb7bb9c697 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:09:27 -0400 Subject: [PATCH 041/178] Update environment-variables.md --- user/environment-variables.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/environment-variables.md b/user/environment-variables.md index 1af870b1c78..507c80a1281 100644 --- a/user/environment-variables.md +++ b/user/environment-variables.md @@ -13,7 +13,7 @@ The best way to define an environment variable depends on what type of informati - if it *does* contain sensitive information, and is the same for all branches -- [encrypt it and add it to your .travis.yml](#defining-encrypted-variables-in-travisyml) - if it *does* contain sensitive information, and might be different for different branches -- [add it to your Repository Settings](#defining-variables-in-repository-settings) -## Defining Public Variables in .travis.yml +## Define Public Variables Public variables defined in `.travis.yml` are tied to a certain commit. Changing them requires a new commit, restarting an old build uses the old values. They are also available automatically on forks of the repository. @@ -38,9 +38,9 @@ env: -> Variables' values are passed to the generated build script verbatim. So make sure to escape any [Bash special characters](http://www.tldp.org/LDP/abs/html/special-chars.html) accordingly. In particular, if a value contains spaces, you need to put quotes around that value. E.g. `a long phrase` should be written as `"a long phrase"`. +> Variables' values are passed to the generated build script verbatim. So make sure to escape any [Bash special characters](http://www.tldp.org/LDP/abs/html/special-chars.html) accordingly. In particular, if a value contains spaces, you need to put quotes around that value. E.g., `a long phrase` should be written as `"a long phrase"`. -### Defining Multiple Variables per Item +### Define Multiple Variables per Item If you need to specify several environment variables for each build, put them all on the same line in the `env` array: @@ -83,7 +83,7 @@ USE_NETWORK=true CAMPFIRE_TOKEN=abc123 TIMEOUT=1000 USE_NETWORK=false CAMPFIRE_TOKEN=abc123 TIMEOUT=1000 ``` -## Defining encrypted variables in .travis.yml +## Define Encrypted variables {: #Encrypted-Variables} @@ -106,7 +106,7 @@ env: > > If you define a variable with the same name in `.travis.yml` and in the Repository Settings, the one in `.travis.yml` takes precedence. If you define a variable in `.travis.yml` as both encrypted and unencrypted, the one defined later in the file takes precedence. -### Encrypting environment variables +### Encrypting Environment variables Encrypt environment variables with the public key attached to your repository using the `travis` gem: @@ -127,7 +127,7 @@ Encrypt environment variables with the public key attached to your repository us The encryption scheme is explained in more detail in [Encryption keys](/user/encryption-keys/). -## Defining Variables in Repository Settings +## Define Variables in Repository Settings {{ site.data.snippets.environment_variables }} From 63fbdde39b5b2a9d999b98a8cffaecf12e4d14f9 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:10:18 -0400 Subject: [PATCH 042/178] Update build-environment-updates.md --- user/build-environment-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/build-environment-updates.md b/user/build-environment-updates.md index e703ff00d8a..bce8366a8f8 100644 --- a/user/build-environment-updates.md +++ b/user/build-environment-updates.md @@ -4,7 +4,7 @@ layout: en --- -> Please note that the releases listed below are not exhaustive, and that there +> Please note that the releases listed below are not exhaustive and that there > are various means by which the behavior of a given build environment may > change. When in doubt, please request clarification via a [GitHub > issue](https://github.com/travis-ci/travis-ci/issues). From a4a5535cb9d557156cebd041bb15c9d4c60c60a8 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:13:04 -0400 Subject: [PATCH 043/178] Update multi-cpu-architectures.md --- user/multi-cpu-architectures.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/multi-cpu-architectures.md b/user/multi-cpu-architectures.md index 52aae9c19a8..28e85bd842b 100644 --- a/user/multi-cpu-architectures.md +++ b/user/multi-cpu-architectures.md @@ -1,5 +1,5 @@ --- -title: Building on Multiple CPU Architectures +title: Build on Multiple CPU Architectures layout: en permalink: /user/multi-cpu-architectures/ --- @@ -45,7 +45,7 @@ The two `arm64` tags are used right now to distinguish between OSS-support only The default CPU architecture used in Travis CI builds is `amd64`. It is used when no `arch` key is present. -## Identifying CPU Architecture of Build Jobs +## Identify Build Jobs CPU Architecture You can identify for which CPU architecture a build job is run via @@ -55,9 +55,9 @@ You can identify for which CPU architecture a build job is run via - A default environmental variable printed out during your build job: `$TRAVIS_CPU_ARCH` (for a complete list of available default environmental variables please see our [Environment Variables - Default Environment Variables](https://docs.travis-ci.com/user/environment-variables/#default-environment-variables) documentation. -## Testing on Multiple CPU Architectures +## Test on Multiple CPU Architectures -To enable testing on multiple CPU architectures add the `arch` key to your `.travis.yml`: +To enable testing on multiple CPU architectures, add the `arch` key to your `.travis.yml`: ```yaml arch: @@ -77,7 +77,7 @@ If you are already using a [build matrix](/user/customizing-the-build/#build-mat - The default LXD image supported by Travis CI is Ubuntu Xenial 16.04 and by using `dist` you can select different supported LXD images. Also see our [CI Environment Overview - Virtualisation Environment vs Operating System](https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system) documentation. The LXD host, on which LXD-based builds are run, is on Ubuntu 18.04. - The amd64 CPU architecture build job currently runs as a regular 'full VM' and will be transitioned to an LXD compliant Linux OS image usage over time. -## Example Multi Architecture Build Matrix +## Multi Architecture Build Matrix Here’s an example of a `.travis.yml` file using the `arch` key to compile against `amd64`, `arm64`, `arm64-graviton2`, `ppc64le` (IBM Power) and `s390x` (IBM Z) under Linux and using C as the programming language. @@ -153,7 +153,7 @@ jobs: For example, the above `.travis.yml`, would result in running both jobs with the environmental variable LIB_PATH assigned different values being run only on `amd64` architecture. -## Using Docker in Multiple CPU Architecture-Based Builds within LXD Containers +## Use Docker in Multiple CPU Architecture-Based Builds within LXD Containers It is possible to use Docker in multiple CPU architecture-based builds within an LXD container. You may need a specific CPU architecture compliant docker image as a base or ensure relevant libraries required by your build are added to your Dockerfile. From 345de1ac9b1edf28d82d4fb0e738d4f4b894f2eb Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:32:58 -0400 Subject: [PATCH 044/178] Update deployment.md --- user/deployment.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/deployment.md b/user/deployment.md index dfc14cf6613..d122d2fb511 100644 --- a/user/deployment.md +++ b/user/deployment.md @@ -18,7 +18,7 @@ Continuous Deployment to the following providers is supported: To deploy to a custom or unsupported provider, use the [after-success build stage](/user/deployment/custom/) or [script provider](/user/deployment/script/). -## Uploading Files and skip_cleanup +## Upload Files and the skip_cleanup method When deploying files to a provider, prevent Travis CI from resetting your working directory and deleting all changes made during the build ( `git stash @@ -30,7 +30,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying to Multiple Providers +## Deploy to Multiple Providers Deploying to multiple providers is possible by adding the different providers to the `deploy` section as a list. For example, if you want to deploy to both @@ -47,7 +47,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Conditional Releases with `on:` +## Conditional Releases Set your build to deploy only in specific circumstances by configuring the `on:` key for any deployment provider. @@ -96,7 +96,7 @@ Use the following options to configure conditional deployment: This also causes the `branch` condition to be ignored. * When `tags` is not set, or set to any other value, `$TRAVIS_TAG` is ignored, and the `branch` condition is considered, if it is set. -### Examples of Conditional Deployment +### Conditional Deployment Example This example deploys to Appfog only from the `staging` branch when the test has run on Node.js version 0.11. @@ -167,7 +167,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Adding a deployment provider +### Add a Deployment Provider We are working on adding support for other PaaS providers. If you host your application with a provider not listed here and you would like to have Travis CI automatically deploy your application, please [get in touch](mailto:support@travis-ci.com). From abc6161a4eef7b59ed5499e12bd94892aa273a96 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:39:13 -0400 Subject: [PATCH 045/178] Update anynines.md --- user/deployment/anynines.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/anynines.md b/user/deployment/anynines.md index 24e4104b411..529bbbc69e1 100644 --- a/user/deployment/anynines.md +++ b/user/deployment/anynines.md @@ -7,11 +7,11 @@ deploy: v1 You now have the amazing ability to deploy directly to [anynines](http://www.anynines.com/) after a successful build on Travis CI -## Getting on the Edge +## Enable Edge Version Proper anynines support is currently included only in the edge version of Travis. See how to enable it via the `.travis.yml` below. -## The Easy Way +## Grab the code and Deploy Go Grab the Travis gem from [GitHub](https://github.com/travis-ci/travis.rb) and run this command: @@ -21,7 +21,7 @@ You will be asked to answer a few simple questions about your anynines setup and Open up your newly created `.travis.yml` and add `edge: true` to enable the deploy tool. See yml below for an example of how to do this. -## The Slightly Harder Way +## Write the code and Deploy So you want to write your own `.travis.yml`, fine. Here is the minimum required to get up and running From 111973d0d68348dee7a597d7ae340b8228b4404e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:42:07 -0400 Subject: [PATCH 046/178] Update atlas.md --- user/deployment/atlas.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/user/deployment/atlas.md b/user/deployment/atlas.md index 4c03b97c01d..0fe358dac88 100644 --- a/user/deployment/atlas.md +++ b/user/deployment/atlas.md @@ -1,5 +1,5 @@ --- -title: Atlas deployment +title: Atlas Deployment layout: en deploy: v1 @@ -23,7 +23,7 @@ To deploy your application to Atlas: ``` {: data-file=".travis.yml"} -## Including or Excluding Files +## Include or Exclude Files You can include and exclude files by adding the `include` and `exclude` entries to `.travis.yml`. Both are glob patterns of files or directories to include or exclude, and may be specified multiple times. If there is a conflict, excludes have precedence over includes. @@ -37,7 +37,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Using your Version Control System +### Use the Version Control System Get the lists of files to exclude and include from your version control system (Git, Mercurial or Subversion): @@ -50,7 +50,11 @@ deploy: ## Other Deployment Options -### Specifying the Address of the Atlas Server: +The following section lists other deployment options that are available. + +### Specify the Atlas Server Address + +Use the following code to specify the Atlas Server Address: ```yaml deploy: @@ -59,7 +63,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Adding Custom Metadata +### Add Custom Metadata Add one or more items of metadata: From 5ef0f5b63289e3000362f046718fe09a68734a16 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:44:48 -0400 Subject: [PATCH 047/178] Update codedeploy.md --- user/deployment/codedeploy.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/deployment/codedeploy.md b/user/deployment/codedeploy.md index 9f8a48f7ebd..31545e30862 100644 --- a/user/deployment/codedeploy.md +++ b/user/deployment/codedeploy.md @@ -50,7 +50,7 @@ Keep in mind that the above command has to run in your project directory, so it This command will also offer to set up [S3 deployment](/user/deployment/s3/), if you want to bundle to be uploaded from the Travis CI build. -## Branch to deploy from +## Deployment Branch You can explicitly specify the branch to deploy from with the **on** option: @@ -88,7 +88,7 @@ deploy: Builds triggered from Pull Requests will never trigger a release. -## S3 deployment or GitHub deployment +## S3 or GitHub Deployment For a minimal configuration with GitHub, add the following to your `.travis.yml`: @@ -134,7 +134,7 @@ If your `.travis.yml` contains both, and they do not match, set `bundle_type` ex You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Note on `.gitignore` +## The .gitignore method As this deployment strategy relies on `git`, be mindful that the deployment will honor `.gitignore`. @@ -143,7 +143,7 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -## Running commands before and after deploy +## Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. @@ -157,7 +157,7 @@ after_deploy: ``` {: data-file=".travis.yml"} -## AWS region to deploy to +## Specify an AWS region You can explicitly specify the AWS region to deploy to with the **region** option: From 51a19655c7178e7a59c391efb76aef359a0a8fa9 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:47:09 -0400 Subject: [PATCH 048/178] Update elasticbeanstalk.md --- user/deployment/elasticbeanstalk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/elasticbeanstalk.md b/user/deployment/elasticbeanstalk.md index f225e5b3125..3afa7bad873 100644 --- a/user/deployment/elasticbeanstalk.md +++ b/user/deployment/elasticbeanstalk.md @@ -36,7 +36,7 @@ deploy: Alternatively, use the Travis CI command line setup tool to add the deployment `travis setup elasticbeanstalk`. -## Creating an application without deploying it +## Create an application without deploying it To create an application without deploying it, add `only_create_app_version: "true"` to your `.travis.yml`. @@ -53,9 +53,9 @@ The following environment variables are available: * `ELASTIC_BEANSTALK_LABEL`: Label name of the new version. * `ELASTIC_BEANSTALK_DESCRIPTION`: Description of the new version. Defaults to the last commit message. -## Running commands before and after deploy +## Run Commands Before and After Deploy -Sometimes you want to run commands before or after deploying. You can use +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 9145e9b80e470bbe26e19ba4a47ee8dd1425edf1 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:47:40 -0400 Subject: [PATCH 049/178] Update lambda.md --- user/deployment/lambda.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/lambda.md b/user/deployment/lambda.md index 825afe827a6..8dc4f36ab4f 100644 --- a/user/deployment/lambda.md +++ b/user/deployment/lambda.md @@ -31,17 +31,17 @@ $ travis encrypt "AWS SECRET ACCESS KEY" --add deploy.secret_access_key You will be prompted to enter your secret access key on the command line. -### Optional configuration parameters +## Optional configuration parameters See [documentation](https://github.com/travis-ci/dpl#lambda) for additional configuration parameters -### Conditional releases +## Conditional releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### AWS permissions +## AWS permissions The AWS user that Travis deploys as must have the following IAM permissions in order to deploy: From 05d1252598c48a66846f22837a6394573da81c92 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:50:03 -0400 Subject: [PATCH 050/178] Update opsworks.md --- user/deployment/opsworks.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/deployment/opsworks.md b/user/deployment/opsworks.md index e326cbcdebc..c45dbc6a713 100644 --- a/user/deployment/opsworks.md +++ b/user/deployment/opsworks.md @@ -35,7 +35,7 @@ travis setup opsworks Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. Note that the `region` isn't generated by running `travis setup opsworks`. -### Migrate the Database +## Migrate the Database If you want to migrate your rails database on travis to AWS OpsWorks, add the `migrate` option to your `.travis.yml`. @@ -49,7 +49,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Branch to deploy from +## Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -80,7 +80,7 @@ deploy: Builds triggered from Pull Requests will never trigger a deploy. -### Deploying build artifacts +## Deploy build artifacts After your tests run and before the deploy stage, Travis CI will clean up any additional files and changes you made. @@ -96,7 +96,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Waiting for Deployments +## Waiting for Deployments By default, the build will continue immediately after triggering an OpsWorks deploy. To wait for the deploy to complete, use the **wait-until-deployed** @@ -115,9 +115,9 @@ deploy: Travis CI will wait up to 10 minutes for the deploy to complete, and log whether it succeeded. -### Updating App Settings after successful Deployments +## Update App Settings -By default the deploy from Travis CI triggers a deployment on OpsWorks but does not touch any other configuration. To also update the revision in App Settings use the **update-app-on-success** option. In addition you have to set the **wait-until-deployed** option: +By default, the deployment from Travis CI triggers a deployment on OpsWorks but does not touch any other configuration. To also update the revision in App Settings use the **update-app-on-success** option. In addition, you have to set the **wait-until-deployed** option: ```yaml deploy: @@ -137,7 +137,7 @@ Travis CI will wait until the deployment returns successful and only then update You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Running commands before and after deploy +### Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 6b4b12cc928dfee086a243762529df1ab5cc7bbc Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:53:05 -0400 Subject: [PATCH 051/178] Update azure-web-apps.md --- user/deployment/azure-web-apps.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/deployment/azure-web-apps.md b/user/deployment/azure-web-apps.md index f3d68454b4f..8a7eb5122f6 100644 --- a/user/deployment/azure-web-apps.md +++ b/user/deployment/azure-web-apps.md @@ -38,7 +38,7 @@ deploy: verbose: true ``` -### Branch to deploy from +### Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -61,7 +61,7 @@ deploy: Builds triggered from Pull Requests will never trigger a deploy. -### Note on `.gitignore` +### The .gitignore method As this deployment strategy relies on `git`, be mindful that the deployment will honor `.gitignore`. @@ -70,7 +70,7 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Running commands before and after deploy +### Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. @@ -84,7 +84,7 @@ after_deploy: ``` {: data-file=".travis.yml"} -### Deploying to slots +### Deploy to slots You might need to deploy multiple branches to different slots. You can set multiple providers to deploy to specific slots. The following configuration would deploy the `master` branch to the `myapp-staging` slot and the `develop` branch to the `myapp-develop` slot. In order to use slots you'll need to [set up staging environments for web apps in Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/). From 5ad6570933d3f06cd54abeb391ebe1c0f9bcf431 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:53:39 -0400 Subject: [PATCH 052/178] Update bitballoon.md --- user/deployment/bitballoon.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/bitballoon.md b/user/deployment/bitballoon.md index bfccb9c9f22..481a28ca439 100644 --- a/user/deployment/bitballoon.md +++ b/user/deployment/bitballoon.md @@ -22,7 +22,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying a specific directory +## Deploy a specific directory To deploy a specific directory to BitBalloon, use the `local-dir` key: @@ -37,9 +37,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Running commands before and after deploy +## Run Commands Before and After Deploy -Sometimes you want to run commands before or after deploying. You can use +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From fcf46fd8f9728e25c4b6f0d62ef54048763cb705 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:54:40 -0400 Subject: [PATCH 053/178] Update bluemixcloudfoundry.md --- user/deployment/bluemixcloudfoundry.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/bluemixcloudfoundry.md b/user/deployment/bluemixcloudfoundry.md index d2bb4725da8..a47add7437b 100644 --- a/user/deployment/bluemixcloudfoundry.md +++ b/user/deployment/bluemixcloudfoundry.md @@ -7,7 +7,7 @@ deploy: v1 You now have the ability to deploy directly to [IBM Bluemix](http://bluemix.net/) after a successful build on Travis CI. -## The Easy Way +## Grab the code and Deploy Go grab [the Travis gem from GitHub](https://github.com/travis-ci/travis.rb) and run this command: @@ -17,7 +17,7 @@ travis setup bluemixcloudfoundry You will need the following information about your Bluemix environment: username, password, organization, space, and region. Available Bluemix regions are US South (ng) London (eu-gb), and Sydney (au-syd). Travis offers to encrypt your password, and will take care of the rest. Learn more about [managing organizations and spaces](http://bluemix.net/docs/admin/orgs_spaces.html). -## The Slightly Harder Way +## Write the code and Deploy You can also directly edit your `.travis.yml`. Insert the following to get up and running: From 21ef15eead24e1ea43d3184a6928f9cfc892f1a7 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:58:02 -0400 Subject: [PATCH 054/178] Update s3.md --- user/deployment/s3.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/user/deployment/s3.md b/user/deployment/s3.md index 3131eb80bf2..0c6a607fa7c 100644 --- a/user/deployment/s3.md +++ b/user/deployment/s3.md @@ -47,9 +47,9 @@ $ travis setup s3 Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -## S3 ACL via option +## Set S3 ACL -You can set the acl of your uploaded files via the `acl` option like this: +You can set the ACL of your uploaded files via the `acl` option like this: ```yaml deploy: @@ -93,7 +93,7 @@ An example policy might look like this: Be sure to set up the principal and resources according to your needs. -## S3 ACL with bucket policy +## Set S3 ACL with Bucket Policy Another way to set ACL for your artifacts is via a S3 bucket policy. @@ -118,7 +118,7 @@ This bucket policy grants the public read permission: ## S3 bucket regions -By default the region `us-east-1` is used when deploying to S3. If your bucket is hosted in a different region, deploying using the default region results in the following error. +By default, the region `us-east-1` is used when deploying to S3. If your bucket is hosted in a different region, deploying using the default region results in the following error. ``` The bucket you are attempting to access must be addressed using the specified endpoint. @@ -138,7 +138,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploy One or More files Matching a Pattern +## Deploy Files Matching a Pattern To upload files matching a specific pattern, you can add the pattern via the `glob` directive as illustrated in the following example: @@ -185,7 +185,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploy to a S3 hosted website: +## Deploy to a S3 hosted Website To upload to a S3 hosted website, to use this template to upload to your website. @@ -202,7 +202,7 @@ deploy: Remember that you need to set the bucket to have an ACL of `public` for anybody to be able to see your website. -## Deploy to Multiple Buckets: +## Deploy to Multiple Buckets If you want to upload to multiple buckets, you can do this: @@ -226,7 +226,7 @@ deploy: You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Running commands before and after release +## Run Commands Before and After Release Sometimes you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. @@ -240,7 +240,7 @@ Sometimes you want to run commands before or after releasing a gem. You can use ``` {: data-file=".travis.yml"} -## Setting `Content-Encoding` header +## Set the Content-Encoding header S3 uploads can optionally set HTTP header `Content-Encoding`. This header allows files to be sent compressed while retaining file extensions and @@ -259,7 +259,7 @@ deploy: If the file is compressed with `gzip` or `compress`, it will be uploaded with the appropriate header. -## Setting `charset` on `Content-Type` header +## Set charset on Content-Type Header S3 can take a content-type header. Normally this doesn't include a character set as well. If you would like to add a character set, add the `default_text_charset` option with what you want it to be. For example: @@ -301,7 +301,7 @@ deploy: {: data-file=".travis.yml"} -## Using S3-compatible Object Storage +## S3-compatible Object Storage You can use an S3-compatible object storage such as Digital Ocean Spaces by setting the `endpoint` key. From 1ba9de49c1b57284225d0b57640967d69c2334d7 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:00:07 -0400 Subject: [PATCH 055/178] Update bintray.md --- user/deployment/bintray.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/user/deployment/bintray.md b/user/deployment/bintray.md index f31685b1f79..6a58c7daacb 100644 --- a/user/deployment/bintray.md +++ b/user/deployment/bintray.md @@ -20,7 +20,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Encrypt your API key +## Encrypt your API key It is recommended that you encrypt your api key. You can encrypt this key using the `travis` command line client and this command: @@ -35,8 +35,7 @@ $ travis encrypt ab012cd345678901234e456fa7bc89def01a23b4 --add deploy.key ``` - -### Branch to deploy from +## Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -66,7 +65,7 @@ Builds triggered from Pull Requests will never trigger a deploy. You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -### Running commands before and after deploy +### Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. @@ -80,7 +79,7 @@ after_deploy: ``` {: data-file=".travis.yml"} -### `dry_run` option +## Use the dry_run option For testing deployment configuration, you can add `dry_run: true` to prevent connecting to the Bintray server: @@ -92,7 +91,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Descriptor file example +## Descriptor file example The descriptor is in JSON file format in three sections: @@ -137,7 +136,7 @@ The descriptor is in JSON file format in three sections: } ``` -#### Package Section +### Package Section Bintray package information. The following information is mandatory on open source projects: @@ -148,11 +147,11 @@ Bintray package information. The following information is mandatory on open sour - `licenses` is the [Bintray licences](https://bintray.com/docs/api/#_licenses){: data-proofer-ignore=""}, which is a list with at least one item. -#### Version Section +### Version Section Package version information. In case the version already exists on Bintray, only the name field is mandatory. -#### Files Section +### Files Section Configure the files you would like to upload to Bintray and their upload path. @@ -169,7 +168,7 @@ In the example above, the following files are uploaded: **Note:** Regular expressions defined as part of the `includePattern` and `excludePattern` properties must be wrapped with brackets. -#### Debian Upload +### Debian Upload When artifacts are uploaded to a Debian repository on Bintray using the Automatic index layout, the Debian distribution information is required and must be specified. The information is specified in the descriptor file by the matrixParams as part of the files closure as shown in the following example: @@ -186,7 +185,7 @@ When artifacts are uploaded to a Debian repository on Bintray using the Automati ] ``` -#### Overwriting Existing Files +### Overwrite Existing Files If an artifact by a given name already exists in the Bintray repository, then by default it is not overwritten. If you want to replace the existing file, define the `override` key in your matrix properties: From 48a4b424a45e5a329797794e31430879b61c4f5a Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:00:48 -0400 Subject: [PATCH 056/178] Update azure-web-apps.md --- user/deployment/azure-web-apps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/azure-web-apps.md b/user/deployment/azure-web-apps.md index 8a7eb5122f6..a43216ab90b 100644 --- a/user/deployment/azure-web-apps.md +++ b/user/deployment/azure-web-apps.md @@ -28,7 +28,7 @@ To define variables in Repository Settings, make sure you're logged in, navigate
Environment Variables in the Repository Settings
-### Fetch Deployment Progress and Logs +## Fetch Deployment Progress and Logs The Azure Web App provider can print Azure's deployment progress to your Travis log using the `verbose` option. However, Git will print your password if the authentication fails (it will not if you provide a correct user/password combination). @@ -38,7 +38,7 @@ deploy: verbose: true ``` -### Deployment Branch +## Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -84,7 +84,7 @@ after_deploy: ``` {: data-file=".travis.yml"} -### Deploy to slots +## Deploy to slots You might need to deploy multiple branches to different slots. You can set multiple providers to deploy to specific slots. The following configuration would deploy the `master` branch to the `myapp-staging` slot and the `develop` branch to the `myapp-develop` slot. In order to use slots you'll need to [set up staging environments for web apps in Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/). From 16185f5cdd313db786233510bf5780db85a548da Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:03:40 -0400 Subject: [PATCH 057/178] Update boxfuse.md --- user/deployment/boxfuse.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/deployment/boxfuse.md b/user/deployment/boxfuse.md index 4b67736c9de..fd2c99d3b30 100644 --- a/user/deployment/boxfuse.md +++ b/user/deployment/boxfuse.md @@ -25,11 +25,11 @@ travis encrypt --add deploy.user travis encrypt --add deploy.secret ``` -Alternatively you can pass in your credentials using Travis CI [encrypted environment variables](/user/environment-variables/#encrypting-environment-variables) called `BOXFUSE_USER` and `BOXFUSE_SECRET`. You can define these variables either using the Travis CI command line client or directly in the Travis CI repository settings UI. +Alternatively, you can pass in your credentials using Travis CI [encrypted environment variables](/user/environment-variables/#encrypting-environment-variables) called `BOXFUSE_USER` and `BOXFUSE_SECRET`. You can define these variables either using the Travis CI command line client or directly in the Travis CI repository settings UI. Finally you can also fully configure Boxfuse by placing a `boxfuse.conf` file in the root of your repository. More info about configuration in the [Boxfuse Command-line Client documentation](https://boxfuse.com/docs/commandline/). -### Specifying the Boxfuse app and image version +## Specify the Boxfuse app and image version By default Boxfuse will detect the app and the version automatically from the name of your payload file. You can override this like this: @@ -45,9 +45,9 @@ deploy: You can also use Travis CI [environment variables](/user/environment-variables/) like `TRAVIS_BUILD_NUMBER` to assign a version to the image. Ex.: `image: "myapp:$TRAVIS_BUILD_NUMBER"` -### Specifying the Boxfuse environment +## Specify the Boxfuse Environment -By default Boxfuse will deploy to your `test` environment. You can override this like this: +By default, Boxfuse will deploy to your `test` environment. You can override this like this: ```yaml deploy: @@ -59,7 +59,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Using alternative configuration files +## Alternative configuration files You can also fully configure Boxfuse by placing a `boxfuse.conf` file in the root of your repository. You can specify an alternative configuration file like this: @@ -70,7 +70,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Specifying custom arguments +## Specify custom arguments If the [Boxfuse Client](https://boxfuse.com/docs/commandline) functionality you need is not included here, you can pass additional arguments to the Boxfuse executable by using the `extra_args` parameter: @@ -81,6 +81,6 @@ deploy: ``` {: data-file=".travis.yml"} -### Further information +## Further information Go to the [Boxfuse website](https://boxfuse.com) to learn more about Boxfuse and how to configure it. From 84d0face2db571390bd1c128b7f4b9bbc6b9b597 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:04:39 -0400 Subject: [PATCH 058/178] Update catalyze.md --- user/deployment/catalyze.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/catalyze.md b/user/deployment/catalyze.md index 8f3ee8c7f44..168ab700b1a 100644 --- a/user/deployment/catalyze.md +++ b/user/deployment/catalyze.md @@ -58,7 +58,7 @@ Before configuring your `.travis.yml` you need to: ``` {: data-file=".travis.yml"} -### Deploying a subset of your Files +## Deploy a subset of your Files To only deploy the `build` folder, for example, set `skip_cleanup: true` and path: "build": @@ -72,7 +72,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Running commands before and after deploy +## Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be From d96b016fa12abfad2eef405933127b2ac9128171 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:05:17 -0400 Subject: [PATCH 059/178] Update chefsupermarket.md --- user/deployment/chefsupermarket.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/chefsupermarket.md b/user/deployment/chefsupermarket.md index c9e700870e4..e8c47b096dd 100644 --- a/user/deployment/chefsupermarket.md +++ b/user/deployment/chefsupermarket.md @@ -1,5 +1,5 @@ --- -title: Chef Supermarket deployment +title: Chef Supermarket Deployment layout: en deploy: v1 @@ -8,7 +8,7 @@ deploy: v1 Travis CI can automatically deploy your cookbook to [Chef Supermarket](https://supermarket.chef.io/) after a successful build. -To deploy to Chef Supermarket add your Chef Supermarket `user_id`, your +To deploy to Chef Supermarket, add your Chef Supermarket `user_id`, your [encrypted](/user/encrypting-files/) Chef Supermarket client key and the [`cookbook_category`](https://docs.getchef.com/knife_cookbook_site.html#id12) to your `.travis.yml`: From 815f4e0d811a80903d6ca0d6787e2059f57446fd Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:06:39 -0400 Subject: [PATCH 060/178] Update cloud66.md --- user/deployment/cloud66.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/cloud66.md b/user/deployment/cloud66.md index d7163aafcd0..7bd2d3718cd 100644 --- a/user/deployment/cloud66.md +++ b/user/deployment/cloud66.md @@ -25,7 +25,7 @@ travis setup cloud66 Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Branch to deploy from +### Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -57,7 +57,7 @@ Builds triggered from Pull Requests will never trigger a deploy. You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -### Running commands before and after deploy +### Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From d7f2e2ed939a68861e03e8260e72ab002f14da8f Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:07:12 -0400 Subject: [PATCH 061/178] Update cloud66.md --- user/deployment/cloud66.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/cloud66.md b/user/deployment/cloud66.md index 7bd2d3718cd..7905ded2ad1 100644 --- a/user/deployment/cloud66.md +++ b/user/deployment/cloud66.md @@ -25,7 +25,7 @@ travis setup cloud66 Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Deployment Branch +## Deployment Branch By default, Travis CI will only deploy from your **master** branch. @@ -52,12 +52,12 @@ deploy: Builds triggered from Pull Requests will never trigger a deploy. -### Conditional Deploys +## Conditional Deploys You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -### Run Commands Before and After Deploy +## Run Commands Before and After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From aea262ceba3c487bdc76f8d41bc16ae4749e330a Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:08:03 -0400 Subject: [PATCH 062/178] Update cloudfoundry.md --- user/deployment/cloudfoundry.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/cloudfoundry.md b/user/deployment/cloudfoundry.md index 9365382821a..c5742337a96 100644 --- a/user/deployment/cloudfoundry.md +++ b/user/deployment/cloudfoundry.md @@ -7,7 +7,7 @@ deploy: v1 You now have the amazing ability to deploy directly to [CloudFoundry](https://run.pivotal.io/) after a successful build on Travis CI. -## The Easy Way +## Grab the code and Deploy Go grab [the Travis gem from GitHub](https://github.com/travis-ci/travis.rb) and run this command: @@ -15,7 +15,7 @@ Go grab [the Travis gem from GitHub](https://github.com/travis-ci/travis.rb) and You will be asked to answer a few simple questions about your CloudFoundry setup, and Travis will take care of the rest! -## The Slightly Harder Way +## Write the code and Deploy So you want to write your own `.travis.yml`, fine. Here is the minimum required to get up and running: From 048480c9eff3d2b1f0dc2064e2c2aba8604c765d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:40:04 -0400 Subject: [PATCH 063/178] Update cargo.md --- user/deployment/cargo.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/deployment/cargo.md b/user/deployment/cargo.md index 8f2bd98f104..15a4b7feda6 100644 --- a/user/deployment/cargo.md +++ b/user/deployment/cargo.md @@ -8,7 +8,7 @@ Travis CI can automatically release your Rust crate to [crates.io][] after a successful build. (Alternative registries may be supported in the future). -A minimal `.travis.yml` configuration for publishing to [crates.io][] looks like: +A minimal `.travis.yml` configuration for publishing to [crates.io][] looks as follows: ```yaml language: rust @@ -18,7 +18,7 @@ deploy: ``` {: data-file=".travis.yml"} -## crates.io API token +## Obtain a crates.io API token An API token can be obtained by logging in to your [crates.io][] account, and generating a new token at . @@ -69,18 +69,18 @@ deploy: Builds triggered from Pull Requests will never trigger a release. -## Releasing build artifacts +## Release build artifacts -After your tests ran and before the release, Travis CI will clean up any +After your tests run and before the release, Travis CI will clean up any additional files and changes you made. This is necessary because Cargo will refuse to publish crates from a dirty working directory (an option to allow this may be added to this provider in the future). -## Running commands before and after deploy +## Run Commands Before and After Deploy -Sometimes you want to run commands before or after deploying. You can use the +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 77bb980405dfa1204f228eaffbcb5efc89353468 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:41:23 -0400 Subject: [PATCH 064/178] Update pages.md --- user/deployment/pages.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/deployment/pages.md b/user/deployment/pages.md index eec774412d7..49d32f253db 100644 --- a/user/deployment/pages.md +++ b/user/deployment/pages.md @@ -31,7 +31,7 @@ deploy: > all the files created during the build, which will probably delete what you are > trying to upload. -## Setting the GitHub token +## Set the GitHub token You'll need to generate a [personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) @@ -42,11 +42,11 @@ settings](/user/environment-variables/#defining-variables-in-repository-settings or via [encrypted variables in `.travis.yml`](/user/environment-variables/#defining-encrypted-variables-in-travisyml). -## Further configuration +## Further configurations -* `local_dir`: Directory to push to GitHub Pages, defaults to current directory. +* `local_dir`: Directory to push to GitHub Pages, defaults to the current directory. Can be specified as an absolute path or a relative path from the current directory. -* `repo`: Repo slug, defaults to current repo. **Note:** The slug consists of username and repo name and is formatted like `user/repo-name`. +* `repo`: Repo slug, defaults to the current repo. **Note:** The slug consists of username and repo name and is formatted like `user/repo-name`. * `target_branch`: Branch to (force, see: `keep_history`) push `local_dir` contents to, defaults to `gh-pages`. * `keep_history`: Optional, create incremental commit instead of doing push From 10b4886b36b15edfa7ea9f81d1000e9d07961dc5 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:46:14 -0400 Subject: [PATCH 065/178] Update engineyard.md --- user/deployment/engineyard.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/deployment/engineyard.md b/user/deployment/engineyard.md index 3e97bffcbf0..e9f98a6000d 100644 --- a/user/deployment/engineyard.md +++ b/user/deployment/engineyard.md @@ -16,7 +16,7 @@ deploy: ``` {: data-file=".travis.yml"} -You can also use `email` and `password` instead of `api_key`. It is recommended to encrypt the key/password. +You can also use `email` and `password` instead of `api_key`. Encrypting the key/password is recommended. Optional settings include: `app`, `account`, `environment` and `migrate`. @@ -28,7 +28,7 @@ $ travis setup engineyard Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Application or Environment to deploy +## Deploy Application By default, we will try to deploy to an application by the same name as the repository. For example, if you deploy an application from the GitHub repository [travis-ci/travis-chat](https://github.com/travis-ci/travis-chat) without explicitly specify the name of the application, Travis CI will try to deploy to a Engine Yard app named *travis-chat*. @@ -54,7 +54,7 @@ deploy: ``` {: data-file=".travis.yml"} -This branch specific settings are possible for all options (except `on`) and can be very useful for deploying to different environments: +These branch-specific settings are possible for all options (except `on`) and can be very useful for deploying to different environments: ```yaml deploy: @@ -66,9 +66,9 @@ deploy: ``` {: data-file=".travis.yml"} -### Branch to deploy from +## Deploy Specific Branches -If you have branch specific options, as [shown above](#application-or-environment-to-deploy), Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your **master** branch. +If you have branch-specific options, as [shown above](#application-or-environment-to-deploy), Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your **master** branch. You can also explicitly specify the branch to deploy from with the **on** option: @@ -93,7 +93,7 @@ deploy: Builds triggered from Pull Requests will never trigger a deploy. -### Running migrations +## Run Migrations You can trigger migrations by using the migrate option: @@ -105,7 +105,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Conditional releases +## Conditional releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). From 6e18873c3066e7d83198e4e73389f0a99739d86d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:52:57 -0400 Subject: [PATCH 066/178] Update releases.md --- user/deployment/releases.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/user/deployment/releases.md b/user/deployment/releases.md index 803192341d3..32fb244848c 100644 --- a/user/deployment/releases.md +++ b/user/deployment/releases.md @@ -28,7 +28,7 @@ This configuration will use the "GITHUB OAUTH TOKEN" to upload "FILE TO UPLOAD" GitHub Releases works with git tags, so it is important that you understand how tags affect GitHub Releases. -## Deploying only on tagged builds +## Deploy on tagged builds With [`on.tags: true`](/user/deployment/#conditional-releases-with-on), your Releases deployment will trigger if and only if the build is a tagged @@ -42,8 +42,9 @@ Regular releases require tags. If you set `on.tags: true` (as the initial example in this document), this requirement is met. -## Draft releases with `draft: true` -With +## Draft releases + +For Draft releases using `draft: true`, use the following code: ```yaml deploy: @@ -59,9 +60,9 @@ the resultant deployment is a draft Release that only repository collaborators can see. This gives you an opportunity to examine and edit the draft release. -## Setting the tag at deployment time +## Set the tag at deployment -GitHub Releases needs the present commit to be tagged at the deployment time. +GitHub Releases need the present commit to be tagged at the deployment time. If you set `on.tags: true`, the commit is guaranteed to have a tag. Depending on the workflow, however, this is not desirable. @@ -86,7 +87,7 @@ For example: ``` {: data-file=".travis.yml"} -### When tag is not set at deployment time +### Tag not set during deployment If the tag is still not set at the time of deployment, the deployment provider attempts to match the current commit with a tag from remote, @@ -110,7 +111,7 @@ other means; for instance, by If you need to overwrite existing files, add `overwrite: true` to the `deploy` section of your `.travis.yml`. -## Using Travis CI client to populate initial deployment configuration +## Populate the initial deployment configuration with Travis CI You can also use the [Travis CI command line client](https://github.com/travis-ci/travis.rb#installation) to configure your `.travis.yml`: @@ -124,7 +125,7 @@ Or, if you're using a private repository or the GitHub Apps integration: travis setup releases --com ``` -## Authenticating with an OAuth token +## OAuth token Authentication The recommended way to authenticate is to use a GitHub OAuth token. Instead of setting it up manually, it is highly recommended to use `travis setup releases`, which automatically creates and encrypts a GitHub OAuth token with the correct scopes. @@ -147,9 +148,9 @@ deploy: ``` {: data-file=".travis.yml"} -**Warning:** the `public_repo` and `repo` scopes for GitHub OAuth tokens grant write access to all of a user's (public) repositories. For security, it's ideal for `api_key` to have the write access limited to only repositories where Travis deploys to GitHub releases. The suggested workaround is to create a [machine user](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users) — a dummy GitHub account that is granted write access on a per repository basis. +**Warning:** the `public_repo` and `repo` scopes for GitHub OAuth tokens grant write access to all of a user's (public) repositories. For security, it's ideal for `api_key` to have the write access limited to only repositories where Travis deploys to GitHub releases. The suggested workaround is to create a [machine user](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users) — a dummy GitHub account that is granted write access on a per-repository basis. -## Authentication with a Username and Password +## Username and Password Authentication You can also authenticate with your GitHub username and password using the `user` and `password` options. This is not recommended as it allows full access to your GitHub account but is simplest to setup. It is recommended to encrypt your password using `travis encrypt "GITHUB PASSWORD" --add deploy.password`. This example authenticates using a username and password. @@ -165,7 +166,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying to GitHub Enterprise +## Deploy to GitHub Enterprise If you wish to upload assets to a GitHub Enterprise repository, you must override the `$OCTOKIT_API_ENDPOINT` environment variable with your GitHub Enterprise API endpoint: @@ -182,9 +183,9 @@ env: ``` {: data-file=".travis.yml"} -## Uploading Multiple Files +## Upload Multiple Files -You can upload multiple files using yml array notation. This example uploads two files. +You can upload multiple files using the yml array notation. This example uploads two files. ```yaml deploy: @@ -236,7 +237,7 @@ Please note that all paths in `file` are relative to the current working directo You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Running commands before or after release +## Run Commands Before or After Release Sometimes you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. @@ -265,7 +266,7 @@ and [#update_release](https://octokit.github.io/octokit.rb/Octokit/Client/Releas Note that formatting in `body` is [not preserved](https://github.com/travis-ci/dpl/issues/155). -## Troubleshooting Git Submodules +## Troubleshoot Git Submodules -GitHub Releases executes a number of git commands during deployment. For this reason, it is important that the working directory is set to the one for which the release will be created, which generally isn't a problem, but if you clone another repository during the build or use submodules, it is worth double checking. +GitHub Releases executes a number of git commands during deployment. For this reason, it is important that the working directory is set to the one for which the release will be created, which generally isn't a problem, but if you clone another repository during the build or use submodules, it is worth double-checking. From 29009cd6fd94daea382ad3c4883d38bc9d726f0d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:54:15 -0400 Subject: [PATCH 067/178] Update azure-web-apps.md --- user/deployment/azure-web-apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/azure-web-apps.md b/user/deployment/azure-web-apps.md index a43216ab90b..559e2cc6b9a 100644 --- a/user/deployment/azure-web-apps.md +++ b/user/deployment/azure-web-apps.md @@ -70,7 +70,7 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Run Commands Before and After Deploy +### Run Commands Before or After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From c0fac8f33ffe984d0f8c18e2160968c8163091d3 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:54:39 -0400 Subject: [PATCH 068/178] Update bintray.md --- user/deployment/bintray.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/bintray.md b/user/deployment/bintray.md index 6a58c7daacb..88bcee5c883 100644 --- a/user/deployment/bintray.md +++ b/user/deployment/bintray.md @@ -65,7 +65,7 @@ Builds triggered from Pull Requests will never trigger a deploy. You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -### Run Commands Before and After Deploy +### Run Commands Before or After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From d9cbad80e914e8d84a3a19895c97de1ba44db59c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:55:03 -0400 Subject: [PATCH 069/178] Update bitballoon.md --- user/deployment/bitballoon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/bitballoon.md b/user/deployment/bitballoon.md index 481a28ca439..809a1b219ff 100644 --- a/user/deployment/bitballoon.md +++ b/user/deployment/bitballoon.md @@ -37,7 +37,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be From be33c1d14a4479aaa8a4e10b397c81349b504a05 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:55:47 -0400 Subject: [PATCH 070/178] Update cargo.md --- user/deployment/cargo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/cargo.md b/user/deployment/cargo.md index 15a4b7feda6..8f4d1fac0c7 100644 --- a/user/deployment/cargo.md +++ b/user/deployment/cargo.md @@ -78,7 +78,7 @@ This is necessary because Cargo will refuse to publish crates from a dirty working directory (an option to allow this may be added to this provider in the future). -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered From 21e716133fcf93af4ca3ea4f337b9ca066ab62e1 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:56:22 -0400 Subject: [PATCH 071/178] Update catalyze.md --- user/deployment/catalyze.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/catalyze.md b/user/deployment/catalyze.md index 168ab700b1a..5c988230ed3 100644 --- a/user/deployment/catalyze.md +++ b/user/deployment/catalyze.md @@ -72,9 +72,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 146299d313b36f7ba47a7836fba148964757f24f Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:56:54 -0400 Subject: [PATCH 072/178] Update cloud66.md --- user/deployment/cloud66.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/cloud66.md b/user/deployment/cloud66.md index 7905ded2ad1..af0ab4650b9 100644 --- a/user/deployment/cloud66.md +++ b/user/deployment/cloud66.md @@ -57,9 +57,9 @@ Builds triggered from Pull Requests will never trigger a deploy. You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. ```yaml before_deploy: "echo 'ready?'" From 27897123c1c54cdab01aba9c52cb2fcafd02e978 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:57:38 -0400 Subject: [PATCH 073/178] Update codedeploy.md --- user/deployment/codedeploy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/codedeploy.md b/user/deployment/codedeploy.md index 31545e30862..32b9381f674 100644 --- a/user/deployment/codedeploy.md +++ b/user/deployment/codedeploy.md @@ -143,9 +143,9 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. ```yaml before_deploy: "echo 'ready?'" From eda618ffdafee10254dd2ec970ed2d5216394040 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:58:13 -0400 Subject: [PATCH 074/178] Update elasticbeanstalk.md --- user/deployment/elasticbeanstalk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/elasticbeanstalk.md b/user/deployment/elasticbeanstalk.md index 3afa7bad873..f4917ec4174 100644 --- a/user/deployment/elasticbeanstalk.md +++ b/user/deployment/elasticbeanstalk.md @@ -42,7 +42,7 @@ To create an application without deploying it, add `only_create_app_version: "tr ## Optional settings -* `zip_file`: The zip file to deploy. You also need to set `skip_cleanup` to prevent Travis CI deleting the zip file at the end of the build. If this is left unspecified, a zip file will be created from all the files that are part of the repository under test (determined with `git ls-files`). +* `zip_file`: The zip file to deploy. You also need to set `skip_cleanup` to prevent Travis CI from deleting the zip file at the end of the build. If this is left unspecified, a zip file will be created from all the files that are part of the repository under test (determined with `git ls-files`). * `bucket_path`: Location within Bucket to upload app to. ## Environment variables @@ -53,7 +53,7 @@ The following environment variables are available: * `ELASTIC_BEANSTALK_LABEL`: Label name of the new version. * `ELASTIC_BEANSTALK_DESCRIPTION`: Description of the new version. Defaults to the last commit message. -## Run Commands Before and After Deploy +## Run Commands Before or After Deploy Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be From f31031ff73a35e4f6764f24504108c4ba1204c34 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 08:59:20 -0400 Subject: [PATCH 075/178] Update opsworks.md --- user/deployment/opsworks.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/opsworks.md b/user/deployment/opsworks.md index c45dbc6a713..e0df10a8307 100644 --- a/user/deployment/opsworks.md +++ b/user/deployment/opsworks.md @@ -137,9 +137,9 @@ Travis CI will wait until the deployment returns successful and only then update You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Run Commands Before and After Deploy +### Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. ```yaml before_deploy: "echo 'ready?'" From 267ab3f6498e69dbbf000f816c3db267952bd447 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:03:58 -0400 Subject: [PATCH 076/178] Update rubygems.md --- user/deployment/rubygems.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/user/deployment/rubygems.md b/user/deployment/rubygems.md index c6f20d8f88e..faf54979f7b 100644 --- a/user/deployment/rubygems.md +++ b/user/deployment/rubygems.md @@ -48,7 +48,7 @@ travis setup rubygems Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -## Pre-releasing +## Pre-release Instead of releasing for each new version of your gem, you can have Travis CI create a [prerelease](http://guides.rubygems.org/patterns#prerelease-gems) for each build. @@ -62,7 +62,7 @@ s.version = "#{s.version}-alpha-#{ENV['TRAVIS_BUILD_NUMBER']}" if ENV['TRAVIS'] If your gem's current version is 1.0.0, then Travis CI will create a prerelease with the version 1.0.0-alpha-20, where `20` is the build number. -### Gem to release +### Gem Release By default, we will try to release a gem by the same name as the repository. For example, if you release a gem from the GitHub repository [travis-ci/travis-chat](https://github.com/travis-ci/travis-chat) without explicitly specify the name of the application, Travis CI will try to release the gem named *travis-chat*. @@ -102,9 +102,9 @@ deploy: ``` {: data-file=".travis.yml"} -### Gemspec to use +### Use Gemspec -If you like, you can specify can alternate option with the `gemspec` option: +If you like, you can specify an alternate option with the `gemspec` option: ```yaml deploy: @@ -114,9 +114,9 @@ deploy: ``` {: data-file=".travis.yml"} -### Branch to release from +### Release Branch -If you have branch specific options, as [shown above](#gem-to-release), Travis CI will automatically figure out which branches to release from. Otherwise, it will only release from your **master** branch. +If you have branch-specific options, as [shown above](#gem-to-release), Travis CI will automatically figure out which branches to release from. Otherwise, it will only be released from your **master** branch. You can also explicitly specify the branch to release from with the **on** option: @@ -142,9 +142,9 @@ deploy: Builds triggered from Pull Requests will never trigger a release. -### Releasing build artifacts +### Release build artifacts -After your tests ran and before the release, Travis CI will clean up any additional files and changes you made. +After your tests run and before the release, Travis CI will clean up any additional files and changes you made. Maybe that is not what you want, as you might generate some artifacts that are supposed to be released, too. There is now an option to skip the clean up: @@ -156,20 +156,20 @@ deploy: ``` {: data-file=".travis.yml"} -### Conditional releases +### Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Gem must be registered beforehand +### Register Gem Note that the gem you upload must be registered beforehand. If the gem does not exist on the host to which it is uploaded, deployment will fail. See [this GitHub issue](https://github.com/travis-ci/dpl/issues/574) for details. -### Running commands before and after release +### Run Commands Before or After Release -Sometimes you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. +Sometimes, you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. ```yaml before_deploy: "echo 'ready?'" From 7420606c612db4b0b71d3021887a79c9f19607a4 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:04:43 -0400 Subject: [PATCH 077/178] Update s3.md --- user/deployment/s3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/s3.md b/user/deployment/s3.md index 0c6a607fa7c..9659632a602 100644 --- a/user/deployment/s3.md +++ b/user/deployment/s3.md @@ -226,7 +226,7 @@ deploy: You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Run Commands Before and After Release +## Run Commands Before or After Release Sometimes you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. From 2074fe3571b43c7f550320ed9ad39496ad188666 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:24:32 -0400 Subject: [PATCH 078/178] Update google-app-engine.md --- user/deployment/google-app-engine.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/user/deployment/google-app-engine.md b/user/deployment/google-app-engine.md index 1690d23ec13..49bbef162fb 100644 --- a/user/deployment/google-app-engine.md +++ b/user/deployment/google-app-engine.md @@ -36,9 +36,9 @@ Keep in mind that the above command has to run in your project directory, so it More detailed instructions for encrypting keys using Travis can be found [here](/user/encrypting-files/). -### Project to deploy +## Deploy Project -By default, the project will be deployed with the same name as the repository. Usually, you will want to explicilty configure the **project** option to match the project ID found in your Cloud console (note that this is sometimes, but not always, the same as the project name). +By default, the project will be deployed with the same name as the repository. Usually, you will want to explicitly configure the **project** option to match the project ID found in your Cloud console (note that this is sometimes, but not always, the same as the project name). You can explicitly set the project id via the **project** option: @@ -50,11 +50,11 @@ deploy: ``` {: data-file=".travis.yml"} -### Version to deploy +### Deploy Version Either the **version** flag or the **default** option must be set. If default is true, the default version will be deployed to, which will be `http://your-project-id.appspot.com`. If the **version** flag is set instead, it will deploy to `http://version-dot-your-project-id.appspot.com`. -### Branch to deploy from +### Deployment Branch By default, Travis will only deploy from your **master** branch. @@ -81,11 +81,11 @@ deploy: ``` {: data-file=".travis.yml"} -Builds triggered from Pull Requests will never trigger a deploy. +Builds triggered from Pull Requests will never trigger a deployment. -### Deploying without Promoting +### Deploy without Promoting -By default, when your application is deployed it will be promoted to receive all traffic. You can disable that using the `no_promote` option: +By default, when your application is deployed, it will be promoted to receive all traffic. You can disable that using the `no_promote` option: ```yaml deploy: @@ -109,10 +109,10 @@ deploy: ``` {: data-file=".travis.yml"} -### Skipping Cleanup +### Skip Cleanup Many App Engine apps use [pip](https://pip.pypa.io/en/latest/installing.html) to vendor library requirements into the directory, and sometimes you need build artifacts or other -credentials to deploy. If so, you want to avoid the Travis cleanup step that will clean you working directory before the deploy. +credentials to deploy. If so, you want to avoid the Travis cleanup step that will clean you working directory before the deployment. ```yaml deploy: @@ -121,13 +121,13 @@ deploy: ``` {: data-file=".travis.yml"} -### Example Repo +### Example See [this link](https://github.com/googlecloudplatform/continuous-deployment-demo/tree/appengine_travis_deploy) for an example App Engine app with a Travis deployment configured. See the other branches in the project for Managed VMs examples, and examples without using this provider. -### Other Available Configuration Options +### Other Configuration Options - **project**: [Project ID](https://developers.google.com/console/help/new/#projectnumber) used to identify the project on Google Cloud. - **keyfile**: Path to the JSON file containing your [Service Account](https://developers.google.com/console/help/new/#serviceaccounts) credentials in [JSON Web Token](https://tools.ietf.org/html/rfc7519) format. To be obtained via the [Google Developers Console](https://console.developers.google.com/project/_/apiui/credential). Defaults to `"service-account.json"`. Note that this file should be handled with care as it contains authorization keys. From 698f871046da3c3d8ba151e379e2b05488576401 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:24:57 -0400 Subject: [PATCH 079/178] Update hackage.md --- user/deployment/hackage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/deployment/hackage.md b/user/deployment/hackage.md index b9b4874310b..e99077170c7 100644 --- a/user/deployment/hackage.md +++ b/user/deployment/hackage.md @@ -34,7 +34,7 @@ $ travis setup hackage Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Conditional releases +## Conditional releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). From 3977f1ca65d5dd951e4f97037ae9332e4f53a168 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:17:05 -0400 Subject: [PATCH 080/178] Update firebase.md --- user/deployment/firebase.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/deployment/firebase.md b/user/deployment/firebase.md index 1f2c4fde693..fa3a5d7c6ce 100644 --- a/user/deployment/firebase.md +++ b/user/deployment/firebase.md @@ -20,7 +20,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Generating your Firebase token +## Generate Firebase tokens Generate your Firebase token after [installing the Firebase tools](https://github.com/firebase/firebase-tools#installation) by running: @@ -35,7 +35,7 @@ When using `travis encrypt --add` you are likely to receive `WARNING: The name o Remember to [encrypt](/user/encryption-keys/#usage) the token before adding it to your `.travis.yml` -## Deploying to a custom project +## Deploy to a custom project To deploy to a different project than the one specified in the `firebase.json`, use the `project` key in your `.travis.yml`: @@ -48,7 +48,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Adding a message to a deployment +## Add Deployment Messages To add a message to describe the deployment, use the `message` key in your `.travis.yml`: @@ -61,9 +61,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Running commands before and after deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 5e2f2b6875070a761deb5f572b21b5377fceb172 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:18:43 -0400 Subject: [PATCH 081/178] Update gcs.md --- user/deployment/gcs.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/user/deployment/gcs.md b/user/deployment/gcs.md index 9a95d5d6e53..36895624ee2 100644 --- a/user/deployment/gcs.md +++ b/user/deployment/gcs.md @@ -1,5 +1,5 @@ --- -title: Google Cloud Storage (GCS) Deployment +title: Google Cloud Storage Deployment layout: en deploy: v1 @@ -48,9 +48,9 @@ travis setup gcs Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### GCS ACL via option +### Set GCS via ACL -You can set the acl of your uploaded files via the `acl` option like this: +You can set the ACL of your uploaded files via the `acl` option like this: ```yaml deploy: @@ -66,9 +66,9 @@ deploy: Valid ACL values are: `private`, `public-read`, `public-read-write`, `authenticated-read`, `bucket-owner-read`, `bucket-owner-full-control`. The ACL defaults to `private`. See the [full documentation on Google Cloud](https://cloud.google.com/storage/docs/reference-headers#xgoogacl). -### Deploying specific folder +### Deploy Specific Folders -You can set specific directory to be uploaded using `local-dir` option like this: +You can set a specific directory to be uploaded using `local-dir` option like this: ```yaml deploy: @@ -89,9 +89,9 @@ If the `directory-name` is generated during build process, it will be deleted (c You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Setting `Content-Encoding` header +### Setting a Content-Encoding Header -GCS uploads can optionally set HTTP header `Content-Encoding`. +GCS uploads can optionally set the HTTP header `Content-Encoding`. This header allows files to be sent compressed while retaining file extensions and the associated MIME types. @@ -112,7 +112,7 @@ the appropriate header. GCS uploads can optionally set the `Cache-Control` HTTP header. -Set HTTP header `Cache-Control` to suggest that the browser cache the file. Defaults to `no-cache`. Valid options are `no-cache`, `no-store`, `max-age=`, `s-maxage= no-transform`, `public`, `private`. +Set the HTTP header `Cache-Control` to suggest that the browser cache the file. Defaults to `no-cache`. Valid options are `no-cache`, `no-store`, `max-age=`, `s-maxage= no-transform`, `public`, `private`. ```yaml deploy: From c475d5177396c3b74a9d161ab819878eaa880f5e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:20:03 -0400 Subject: [PATCH 082/178] Update hephy.md --- user/deployment/hephy.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/deployment/hephy.md b/user/deployment/hephy.md index 71198aba843..8cf709b776a 100644 --- a/user/deployment/hephy.md +++ b/user/deployment/hephy.md @@ -37,12 +37,12 @@ $ travis setup hephy > Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Conditional Releases +## Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Note on `.gitignore` +## The .gitignore method As this deployment strategy relies on `git`, be mindful that the deployment will honor `.gitignore`. @@ -51,9 +51,9 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Running Commands Before and After Deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after triggering a deployment. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. +Sometimes, you want to run commands before or after triggering a deployment. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. ```yaml before_deploy: "echo 'ready?'" From 968d04f90ba4ee2c811e45cd94358e98eef2905e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:20:41 -0400 Subject: [PATCH 083/178] Update launchpad.md --- user/deployment/launchpad.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/launchpad.md b/user/deployment/launchpad.md index ac39e40fb87..62dfdc6701f 100644 --- a/user/deployment/launchpad.md +++ b/user/deployment/launchpad.md @@ -1,5 +1,5 @@ --- -title: Launchpad deployment +title: Launchpad Deployment layout: en deploy: v1 @@ -30,7 +30,7 @@ The `slug` contains user or team name, project name, and branch name, and is for Launchpad slug -### Encrypting your OAUTH tokens +## Encrypt OAUTH tokens It is recommended that you encrypt both OAUTH tokens using the Travis CI command line client by removing them from your `travis.yml` above and running the following commands: From bb8dc51d9f8aa229720af599c8fdd8d23ca78eda Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:23:01 -0400 Subject: [PATCH 084/178] Update heroku.md --- user/deployment/heroku.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/user/deployment/heroku.md b/user/deployment/heroku.md index bc0df76ad28..024b7790f46 100644 --- a/user/deployment/heroku.md +++ b/user/deployment/heroku.md @@ -32,7 +32,7 @@ travis encrypt $(heroku auth:token) --add deploy.api_key --pro ``` You can also use the Travis CI command line setup tool `travis setup heroku`. -## Deploying Custom Application Names +## Deploy Custom Application Names By default, we will try to deploy to an application by the same name as the repository. For example, if you deploy an application from the GitHub repository [travis-ci/travis-chat](https://github.com/travis-ci/travis-chat) without explicitly specify the name of the application, Travis CI will try to deploy to a Heroku app named *travis-chat*. @@ -72,9 +72,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying Specific Branches +## Deploy Specific Branches -If you have branch specific options, as [shown above](#deploying-custom-application-names), Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your **master** branch. +If you have branch-specific options, as [shown above](#deploying-custom-application-names), Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your **master** branch. You can also explicitly specify the branch to deploy from with the **on** option: @@ -97,11 +97,11 @@ deploy: ``` {: data-file=".travis.yml"} -Builds triggered from Pull Requests will never trigger a deploy. +Builds triggered from Pull Requests will never trigger a deployment. -## Running Commands +## Run Commands -In some setups, you might want to run a command on Heroku after a successful deploy. You can do this with the **run** option: +In some setups, you might want to run a command on Heroku after a successful deployment. You can do this with the **run** option: ```yaml deploy: @@ -133,7 +133,7 @@ Use an addon such as [Papertrail](https://elements.heroku.com/addons/papertrail) These add-ons have email notification systems that can be triggered when certain string matches occur in your Heroku logs. For example you could trigger an e-mail notification if the log contains "this and all later migrations canceled". -### Restarting Applications +### Restart Applications Sometimes you want to restart your Heroku application between or after commands. You can easily do so by adding a "restart" command: @@ -148,9 +148,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying build artifacts +## Deploy build artifacts -After your tests ran and before the deploy, Travis CI will clean up any additional files and changes you made. +After your tests run and before the deploy, Travis CI will clean up any additional files and changes you made. Maybe that is not what you want, as you might generate some artifacts (think asset compilation) that are supposed to be deployed, too. There is now an option to skip the clean up: @@ -181,7 +181,7 @@ deploy: ``` {: data-file=".travis.yml"} -#### Using `.gitignore` on `git` strategy +#### Use the .gitignore on git strategy When you use any of the `git` strategies, be mindful that the deployment will honor `.gitignore`. @@ -190,9 +190,9 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Running commands before and after deploy +### Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. ```yaml before_deploy: "echo 'ready?'" From 12e3c29f10743a9bec14e61d2365971ac2a9b732 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:24:05 -0400 Subject: [PATCH 085/178] Update testfairy.md --- user/deployment/testfairy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/deployment/testfairy.md b/user/deployment/testfairy.md index b2c25b19017..c1749bc7a7f 100644 --- a/user/deployment/testfairy.md +++ b/user/deployment/testfairy.md @@ -1,5 +1,5 @@ --- -title: TestFairy deployment +title: TestFairy Deployment layout: en deploy: v1 @@ -27,7 +27,7 @@ $ travis encrypt "YOUR API KEY" --add deploy.api-key ## Symbols file -Attach your symbols mapping file so TestFairy can de-obfuscate and symbolicate crash reports automatically. Set the `symbols-file` key to your `proguard_mapping.txt` file or to a zipped `.dSYM` file. +Attach your symbols mapping file so TestFairy can de-obfuscate and symbolize crash reports automatically. Set the `symbols-file` key to your `proguard_mapping.txt` file or to a zipped `.dSYM` file. ```yaml deploy: From f4559f37526332d198975190e3da1434333d58b6 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:25:04 -0400 Subject: [PATCH 086/178] Update puppetforge.md --- user/deployment/puppetforge.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/puppetforge.md b/user/deployment/puppetforge.md index a841586dbe1..31e5122ed3b 100644 --- a/user/deployment/puppetforge.md +++ b/user/deployment/puppetforge.md @@ -22,7 +22,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Deploying to a custom forge +## Deploy to a Custom Forge To deploy to your own hosted Forge instance by adding it in the `url` key: @@ -38,9 +38,9 @@ deploy: ``` {: data-file=".travis.yml"} -## Running commands before and after deploy +## Run Commands Before or After Deploy -Sometimes you want to run commands before or after deploying. You can use +Sometimes, you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. From 8c0fba105a099a37000c4f9eb9b98ece1875cecf Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 14:59:57 -0400 Subject: [PATCH 087/178] Update npm.md --- user/deployment/npm.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/deployment/npm.md b/user/deployment/npm.md index d1877604f52..ac33a8b92c8 100644 --- a/user/deployment/npm.md +++ b/user/deployment/npm.md @@ -36,7 +36,7 @@ $ travis setup npm Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -## NPM auth token +## npm Auth token Your NPM Auth Token can be obtained by: @@ -91,7 +91,7 @@ deploy: Builds triggered from Pull Requests will never trigger a release. -## Releasing build artifacts +## Release build artifacts After your tests ran and before the release, Travis CI will clean up any additional files and changes you made. @@ -111,7 +111,7 @@ reported when multiple attempts are made. We recommend deploying from only one job with [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Tagging releases +## Tag releases You can automatically add [npm distribution tags](https://docs.npmjs.com/getting-started/using-tags) with the `tag` option: @@ -122,7 +122,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Note on `.gitignore` +## The .gitignore method Notice that `npm` deployment honors `.gitignore` if `.npmignore` does not exist. This means that if your build creates artifacts in places listed in `.gitignore`, @@ -136,7 +136,7 @@ If your `.gitignore` file matches something that your build creates, use its content, or create (potentially empty) `.npmignore` file to override it. -## Running commands before and after deploy +## Run Commands Before or After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. @@ -150,9 +150,9 @@ after_deploy: ``` {: data-file=".travis.yml"} -## Troubleshooting "npm ERR! You need a paid account to perform this action." +## Troubleshoot npm Error -npm assumes that [scoped packages](https://docs.npmjs.com/misc/scope) are +If you get the error message "npm ERR! You need a paid account to perform this action." is because npm assumes that [scoped packages](https://docs.npmjs.com/misc/scope) are private by default. You can explicitly tell npm your package is a public package and avoid this error by adding the following to your `package.json` file: From ff1d9f56e4c06f78272375b1661dd91c26be9566 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:02:14 -0400 Subject: [PATCH 088/178] Update openshift.md --- user/deployment/openshift.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/deployment/openshift.md b/user/deployment/openshift.md index f46aedf79c6..b7596be23d6 100644 --- a/user/deployment/openshift.md +++ b/user/deployment/openshift.md @@ -30,7 +30,7 @@ Keep in mind that the above command has to run in your project directory, so it To provide the best service possible, Travis CI has teamed up with OpenShift as a [partner](https://www.openshift.com/partners) and there is an official [Travis CI QuickStart](https://hub.openshift.com/quickstarts/26-travis-ci) to get you going. -### Application to deploy +## Deploy to Applications By default, we will try to deploy to an application by the same name as the repository. For example, if you deploy an application from the GitHub repository [travis-ci/travis-chat](https://github.com/travis-ci/travis-chat) without explicitly specify the name of the application, Travis CI will try to deploy to an OpenShift app named *travis-chat*. @@ -71,7 +71,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Branch to deploy from +## Deploy Specific Branches If you have branch specific options, as [shown above](#application-to-deploy), Travis CI will automatically figure out which branches to deploy from. Otherwise, it will only deploy from your **master** branch. @@ -98,7 +98,7 @@ deploy: Builds triggered from Pull Requests will never trigger a deploy. -### Deploying build artifacts +## Deploy build artifacts After your tests ran and before the deploy, Travis CI will clean up any additional files and changes you made. @@ -117,7 +117,7 @@ deploy: You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Note on `.gitignore` +### The .gitignore method As this deployment strategy relies on `git`, be mindful that the deployment will honor `.gitignore`. @@ -126,7 +126,7 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Running commands before and after deploy +## Run Commands Before or After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually deploying. @@ -140,7 +140,7 @@ after_deploy: ``` {: data-file=".travis.yml"} -### Deployment branch +### Deployment Branch OpenShift can be configured to deploy from a branch different from the default `master` via `rhc app-configure --deployment-branch mybranch`. From c8ba15f0d88b8dbb098ca76e7939c0a1321fa59e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:03:57 -0400 Subject: [PATCH 089/178] Update packagecloud.md --- user/deployment/packagecloud.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/deployment/packagecloud.md b/user/deployment/packagecloud.md index f73274aeacc..24f12a47764 100644 --- a/user/deployment/packagecloud.md +++ b/user/deployment/packagecloud.md @@ -40,7 +40,7 @@ travis setup packagecloud Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Branch to release from +### Release Branch You can explicitly specify the branch to release from with the **on** option: @@ -68,7 +68,7 @@ By default, Travis CI will only release from the **master** branch. Builds triggered from Pull Requests will never trigger a release. -### Releasing build artifacts +### Release build artifacts After your tests ran and before the release, Travis CI will clean up any additional files and changes you made. @@ -105,17 +105,17 @@ deploy: ``` {: data-file=".travis.yml"} -### A note about Debian source packages +### Debian Source Packages If the packagecloud provider finds any `.dsc` files, it will scan it and try to locate it's contents within the `local-dir` directory. Ensure the source package and it's contents are output to the same directory for it to work. -### Conditional releases +## Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Running commands before and after release +## Run Commands Before or After Release Sometimes you want to run commands before or after releasing a package. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. From f69cf880fba8e0106ca772d4805e193fd6575f8c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:05:23 -0400 Subject: [PATCH 090/178] Update scalingo.md --- user/deployment/scalingo.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/deployment/scalingo.md b/user/deployment/scalingo.md index 74b86db039d..dbfd0a8df26 100644 --- a/user/deployment/scalingo.md +++ b/user/deployment/scalingo.md @@ -1,5 +1,5 @@ --- -title: Scalingo deployment +title: Scalingo Deployment layout: en deploy: v1 @@ -18,7 +18,7 @@ Chose one of two ways to connect to your Scalingo account: -## Connecting using a username and password +## Connect with Username and Password Add your Scalingo username and your [encrypted](/user/encryption-keys/#usage) Scalingo password to your `.travis.yml`: @@ -32,7 +32,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Connecting using an api key +## Connect with an API key Add your [encrypted](/user/encryption-keys/#usage) Scalingo `api_key` to your `.travis.yml`: @@ -45,7 +45,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Optional settings +## Optional Settings * `remote`: Remote url or git remote name of your git repository. The default remote name is "scalingo". @@ -55,7 +55,7 @@ deploy: remote. Specifying the `app` will add a remote to your local repository: `git remote add git@scalingo.com:.git` -### Running commands before and after deploy +### Run Commands Before or After Deploy Sometimes you want to run commands before or after deploying. You can use the `before_deploy` and `after_deploy` stages for this. These will only be From 094da4e172bdf001a4daca5927560272069928e8 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:06:00 -0400 Subject: [PATCH 091/178] Update script.md --- user/deployment/script.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/script.md b/user/deployment/script.md index 30d19fe26ce..18ffc39330e 100644 --- a/user/deployment/script.md +++ b/user/deployment/script.md @@ -1,5 +1,5 @@ --- -title: Script deployment +title: Script Deployment layout: en deploy: v1 @@ -24,7 +24,7 @@ If you need to run multiple commands, write a executable wrapper script that run If the script returns a nonzero status, deployment is considered a failure, and the build will be marked as "errored". -## Passing Arguments to the Script +## Pass Arguments to the Script It is possible to pass arguments to a script deployment. @@ -55,7 +55,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Ruby version +## Ruby Version To ensure that deployments run consistently, we use the version of Ruby that is pre-installed on all of our build images, which may change when images are updated. From 6dec5fd63470fbb2e715e8e8fb1c69085b519c8c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:07:30 -0400 Subject: [PATCH 092/178] Update snaps.md --- user/deployment/snaps.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/deployment/snaps.md b/user/deployment/snaps.md index 2133bb7b2cd..6166b9d0adf 100644 --- a/user/deployment/snaps.md +++ b/user/deployment/snaps.md @@ -26,7 +26,7 @@ The `snap` value should be a string that matches exactly one file when the deplo If the name of the snap file is not known ahead of time, you can use a shell glob pattern, as shown in the example above. -## Providing credentials to upload the snap +## Provide credentials and Upload the Snap To upload snaps from Travis CI, export a Snap Store login token, and provide it as an environment variable `$SNAP_TOKEN`. @@ -49,7 +49,7 @@ The token will be printed out. _Note: The `edge` channel is intended for the bleeding edge: your every commit to master will be built and uploaded._ -### Using the CLI client +### Use the CLI client Using our [CLI client](https://github.com/travis-ci/travis.rb#readme), define `$SNAP_TOKEN`: ```bash @@ -57,10 +57,10 @@ Using our [CLI client](https://github.com/travis-ci/travis.rb#readme), define `$ travis env set SNAP_TOKEN "" ``` -### Using Settings page +### Use the Settings page Equivalently, you can do this on the [Settings page](https://docs.travis-ci.com/user/environment-variables/#defining-variables-in-repository-settings) of your repository at Travis CI. -## Using uploaded Snap +## Use the Uploaded Snap Your community of early-adopters and testers can install your app in any of the [supported Linux distributions](https://docs.snapcraft.io/core/install) with: ```bash From 3af919d22894b9b2c1ab02978cdeff4829599dad Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:08:55 -0400 Subject: [PATCH 093/178] Update surge.md --- user/deployment/surge.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/surge.md b/user/deployment/surge.md index 86bd5c013ac..adf0f1c9bd6 100644 --- a/user/deployment/surge.md +++ b/user/deployment/surge.md @@ -14,7 +14,7 @@ You will need to set 2 environment variables in your travis settings and set the - **SURGE_LOGIN**: Set it to the email address you use with Surge - **SURGE_TOKEN**: Set it to your login token (get it by doing a `surge token`) -### Configuration of `.travis.yml`: +### Configure the .travis.yml file - Add `surge` as deployment provider in `.travis.yml` @@ -32,7 +32,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Generated content +### Generate content If you are generating files for deployment you must tell the `deploy` step to keep your changes: @@ -48,7 +48,7 @@ It is suggested that you generate your files during the `script` step or the `be - When generating files during the `script` step, an error results in a failed build. - When generating files during the `before_deploy` step, an error does *not* result in a failed build. -### Branches +### Deploy from Branches By default, Travis CI will only deploy from your `master` branch. You can specify what branch to deploy from with the deploy option `on`: From d316c6113d9a0cf1a211bbc3da5d725e171b75c1 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:10:19 -0400 Subject: [PATCH 094/178] Update transifex.md --- user/deployment/transifex.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/transifex.md b/user/deployment/transifex.md index 764c9834bd2..c2039cc13b3 100644 --- a/user/deployment/transifex.md +++ b/user/deployment/transifex.md @@ -37,12 +37,12 @@ $ travis setup transifex Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Conditional Releases +## Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -### Note on `.gitignore` +## The .gitignore method As this deployment strategy relies on `git`, be mindful that the deployment will honor `.gitignore`. @@ -51,7 +51,7 @@ If your `.gitignore` file matches something that your build creates, use [`before_deploy`](#running-commands-before-and-after-deploy) to change its content. -### Running Commands Before and After Deploy +## Run Commands Before or After Deploy Sometimes you want to run commands before or after triggering a deployment. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. From 37fa23dee09cd5ba5df9bcd700c5dc2c4c40a6b7 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:11:20 -0400 Subject: [PATCH 095/178] Update surge.md --- user/deployment/surge.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/deployment/surge.md b/user/deployment/surge.md index adf0f1c9bd6..37adb95a0a1 100644 --- a/user/deployment/surge.md +++ b/user/deployment/surge.md @@ -9,12 +9,12 @@ Travis CI can deploy your static files to [Surge.sh](https://surge.sh/) after a You will need to set 2 environment variables in your travis settings and set the deployment provider details in `.travis.yml` -### Environment variables +## Environment variables - **SURGE_LOGIN**: Set it to the email address you use with Surge - **SURGE_TOKEN**: Set it to your login token (get it by doing a `surge token`) -### Configure the .travis.yml file +## Configure the .travis.yml file - Add `surge` as deployment provider in `.travis.yml` @@ -32,7 +32,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Generate content +## Generate content If you are generating files for deployment you must tell the `deploy` step to keep your changes: @@ -48,7 +48,7 @@ It is suggested that you generate your files during the `script` step or the `be - When generating files during the `script` step, an error results in a failed build. - When generating files during the `before_deploy` step, an error does *not* result in a failed build. -### Deploy from Branches +## Deploy from Branches By default, Travis CI will only deploy from your `master` branch. You can specify what branch to deploy from with the deploy option `on`: From e5a1493bb92df1af59ee835cf4a94d6046866dc0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:14:44 -0400 Subject: [PATCH 096/178] Update cloudfiles.md --- user/deployment/cloudfiles.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/deployment/cloudfiles.md b/user/deployment/cloudfiles.md index 5beaae09a89..8bac8551cc8 100644 --- a/user/deployment/cloudfiles.md +++ b/user/deployment/cloudfiles.md @@ -49,7 +49,7 @@ travis setup cloudfiles Keep in mind that the above command has to run in your project directory, so it can modify the `.travis.yml` for you. -### Deploy On Tags +## Deploy On Tags Often, you want to deploy only when you release a new version of your code. @@ -68,7 +68,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Deploy To Only One Folder +## Deploy to one Folder Often, you don't want to upload your entire project to Cloud Files. You can tell Travis CI to only upload a single folder to Cloud Files. This example uploads the build directory of your project to Cloud Files: @@ -84,7 +84,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Deploy to Multiple Containers: +### Deploy to Multiple Containers If you want to upload to multiple containers, you can do this: @@ -105,7 +105,7 @@ deploy: ``` {: data-file=".travis.yml"} -### Branch to release from +## Release Branch You can explicitly specify the branch to release from with the **on** option: @@ -139,14 +139,14 @@ deploy: Builds triggered from Pull Requests will never trigger a release. -### Conditional releases +### Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment#conditional-releases-with-on). -### Running commands before and after release +### Run Commands Before or After Release -Sometimes you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. +Sometimes, you want to run commands before or after releasing a gem. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. ```yaml before_deploy: "echo 'ready?'" From 7d7d1d515762456083c8e5c6d946912c4bf4b49c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:16:40 -0400 Subject: [PATCH 097/178] Update pypi.md --- user/deployment/pypi.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/user/deployment/pypi.md b/user/deployment/pypi.md index b2abee30812..04a9cee7b69 100644 --- a/user/deployment/pypi.md +++ b/user/deployment/pypi.md @@ -1,5 +1,5 @@ --- -title: PyPI deployment +title: PyPI Deployment layout: en deploy: v1 @@ -46,7 +46,7 @@ It is also possible, but not recommended, to use PyPI user and password, instead > Note that if your PyPI password contains [special characters](/user/encryption-keys/#note-on-escaping-certain-symbols) you need to escape them before encrypting your password. Some people have [reported difficulties](https://github.com/travis-ci/dpl/issues/377) connecting to PyPI with passwords containing anything except alphanumeric characters. -## Deploying tags +## Deploy on Tags Most likely, you would only want to deploy to PyPI when a new version of your package is cut. To do this, you can tell Travis CI to only deploy on tagged @@ -64,7 +64,7 @@ deploy: If you tag a commit locally, remember to run `git push --tags` to ensure that your tags are uploaded to GitHub. -## Deploying specific branches +## Deploy Specific Branches You can explicitly specify the branch to release from with the **on** option: @@ -94,7 +94,7 @@ By default, Travis CI will only release from the **master** branch. Builds triggered from Pull Requests will never trigger a release. -## Releasing to a self hosted PyPI +## Release to a self-hosted PyPI To release to a different PyPI index: @@ -107,7 +107,7 @@ deploy: ``` {: data-file=".travis.yml"} -## Uploading different distributions +## Upload different distributions By default, only a source distribution ('sdist') will be uploaded to PyPI. If you would like to upload different distributions, specify them using the `distributions` option, like this: @@ -140,7 +140,7 @@ deploy: skip_existing: true ``` -## Releasing build artifacts +## Release build artifacts After your tests ran and before the release, Travis CI will clean up any additional files and changes you made. @@ -154,14 +154,14 @@ deploy: skip_cleanup: true ``` -## Conditional releases +## Conditional Releases You can deploy only when certain conditions are met. See [Conditional Releases with `on:`](/user/deployment/#conditional-releases-with-on). -## Running commands before and after release +## Run Commands Before or After Release -Sometimes you want to run commands before or after releasing a package. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. +Sometimes, you want to run commands before or after releasing a package. You can use the `before_deploy` and `after_deploy` stages for this. These will only be triggered if Travis CI is actually pushing a release. ``` before_deploy: "echo 'ready?'" From db1c825f66c15de3e6dae00e7a4daa9da591fb74 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:19:18 -0400 Subject: [PATCH 098/178] Update uploading-artifacts.md --- user/uploading-artifacts.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/user/uploading-artifacts.md b/user/uploading-artifacts.md index 816e9d9a510..3a8c9ed958a 100644 --- a/user/uploading-artifacts.md +++ b/user/uploading-artifacts.md @@ -36,7 +36,7 @@ addons: You can find your AWS Access Keys [here](https://console.aws.amazon.com/iam/home?#security_credential). -### Deploy specific paths +## Deploy specific paths The default paths uploaded to S3 are found via `git ls-files -o` in order to find any files in the git working copy that aren't tracked. @@ -62,11 +62,11 @@ ARTIFACTS_PATHS="./logs:./build:/var/log" ``` Please keep in mind that in the example above, colon (`:`) is used as a -delimiter which means file names cannot contain this character. +delimiter, which means file names cannot contain this character. -### Working directory +## Working directory -If you'd like to upload file from a specific directory, you can change your working directory by setting `addons.artifacts.working_dir`. +If you'd like to upload a file from a specific directory, you can change your working directory by setting `addons.artifacts.working_dir`. ```yaml @@ -77,7 +77,7 @@ addons: ``` {: data-file=".travis.yml"} -### Target Paths +## Target Paths By default, artifacts will be uploaded to the path in the bucket defined by `/${TRAVIS_REPO_SLUG}/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}`. @@ -92,7 +92,7 @@ addons: ``` {: data-file=".travis.yml"} -### Debugging +## Debug If you'd like to see more detail about what the artifacts addon is doing, setting `addons.artifacts.debug` to anything non-empty will turn @@ -112,9 +112,9 @@ or define this as a repository settings environment variable, or in the `env.glo ARTIFACTS_DEBUG=1 ``` -### Travis CI Artifact Uploader +## Travis CI Artifact Uploader For more complicated artifact uploads, you can use the [Artifact Uploader Tool](https://github.com/travis-ci/artifacts) which is installed on your build VM by default. -### Build Config Reference +## Build Config Reference You can find more information on the build config format for [Artifacts](https://config.travis-ci.com/ref/job/addons/artifacts) in our [Travis CI Build Config Reference](https://config.travis-ci.com/). From 7db9096e74a7432baab83388f81db6eb36b34b2c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:22:22 -0400 Subject: [PATCH 099/178] Update custom.md --- user/deployment/custom.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/deployment/custom.md b/user/deployment/custom.md index 3903c35a50b..d6c72df7a09 100644 --- a/user/deployment/custom.md +++ b/user/deployment/custom.md @@ -11,7 +11,7 @@ machine by adding a custom [`after_success`](/user/customizing-the-build/) step. You may choose the [Script provider](/user/deployment/script/) instead, as it provides conditional deployment. -### SFTP +## SFTP ```yaml env: @@ -34,7 +34,7 @@ The env variables `SFTP_USER` and `SFTP_PASSWORD` can also be See [curl(1)](http://curl.haxx.se/docs/manpage.html) for more details on how to use cURL as an SFTP client. -### Git +## Git This should also work with services you can deploy to via git. @@ -48,4 +48,4 @@ after_success: ``` {: data-file=".travis.yml"} -See ["How can I encrypt files that include sensitive data?"](/user/travis-ci-for-private/#how-can-i-encrypt-files-that-include-sensitive-data) if you don't want to commit the private key unencrypted to your repository. +See ["How can I encrypt files that include sensitive data?"](/user/travis-ci-for-private/#how-can-i-encrypt-files-that-include-sensitive-data) if you don't want to commit the private key to your repository unencrypted. From bbf78c4924d52692a1a0fb149f5ccbb5f29cf53e Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:27:19 -0400 Subject: [PATCH 100/178] Update installing-dependencies.md --- user/installing-dependencies.md | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/user/installing-dependencies.md b/user/installing-dependencies.md index e8e9e409554..312efb778eb 100644 --- a/user/installing-dependencies.md +++ b/user/installing-dependencies.md @@ -8,7 +8,7 @@ redirect_from: -## Installing Packages on Standard Infrastructure +## Install Packages on Standard Infrastructure To install Ubuntu packages that are not included in the standard [precise](/user/reference/precise/), [trusty](/user/reference/trusty/), [xenial](/user/reference/xenial/), or [bionic](/user/reference/bionic/) distribution, use apt-get in the `before_install` step of your `.travis.yml`: @@ -42,7 +42,7 @@ addons: > > Use the `-y` parameter with apt-get to assume yes to all queries by the apt tools. -### Installing Packages from a custom APT repository +### Install Packages from a custom APT Repository For some packages, you may find an existing repository, which isn't yet set up on our build environment by default. You can easily add custom repositories and Launchpad PPAs as part of your build. @@ -71,7 +71,7 @@ before_script: ``` {: data-file=".travis.yml"} -### Installing Packages without an APT Repository +### Install Packages without an APT Repository For some projects, there may be a Debian/Ubuntu package available, but no corresponding APT repository. These are still easy to install, but require the extra step of downloading. @@ -86,13 +86,13 @@ before_install: ``` {: data-file=".travis.yml"} -### Installing Packages with the APT Addon +### Install Packages with the APT Addon You can also install packages and sources using the APT addon, without running `apt-get` commands in your `before_install` script. -If your requirements goes beyond the normal installation, please use another method described above. +If your requirements go beyond the normal installation, please use another method described above. -#### Adding APT Sources +#### Add APT Sources To add APT sources, you can use one of the following three types of entries: @@ -100,7 +100,7 @@ To add APT sources, you can use one of the following three types of entries: 2. `sourceline` key-value pairs which will be added to `/etc/apt/sources.list` 3. when APT sources require GPG keys, you can specify this with `key_url` pairs in addition to `sourceline`. -The following snippet shows these three types of APT sources +The following snippet shows these three types of APT sources. ```yaml addons: @@ -113,7 +113,7 @@ addons: ``` {: data-file=".travis.yml"} -#### Adding APT Packages +#### Add APT Packages List APT packages under the `addons.apt.packages` key: @@ -144,7 +144,7 @@ addons: > You can also have a look at the [Apt](https://config.travis-ci.com/ref/job/addons/apt) section in our [Travis CI Build Config Reference](https://config.travis-ci.com/). -### Installing Snap Packages with the Snaps Addon +### Install Snap Packages with the Snaps Addon You can install [snap](http://snapcraft.io/) packages using our Xenial or Bionic images: @@ -182,7 +182,7 @@ of the two possible forms: $ sudo snap install hugo ``` -1. The map specifying how the snap should be installed. Possible keys are: +1. The map specifies how the snap should be installed. Possible keys are: `name`, `confinement`, and `channel`. The `confinement` key will be used to add `--classic` or `--devmode` flag, and `channel` will be passed to `--channel` flag. @@ -206,7 +206,7 @@ of the two possible forms: `confinement` and `channel` are optional. -## Installing Packages on macOS +## Install Packages on macOS To install packages that are not included in the [default macOS environment](/user/reference/osx/#compilers-and-build-toolchain) use [Homebrew](http://brew.sh). @@ -232,7 +232,7 @@ addons: ``` {: data-file=".travis.yml"} -### Installing Casks +### Install Casks The Homebrew addon also supports installing [casks][homebrew-cask]. You can add them to the `casks` key in the Homebrew addon configuration to install them: @@ -246,7 +246,7 @@ addons: ``` {: data-file=".travis.yml"} -### Installing From Taps +### Install From Taps Homebrew supports installing casks and packages from third-party repositories called [taps][homebrew-tap], and you can use these with the Homebrew addon. @@ -264,9 +264,9 @@ addons: ``` {: data-file=".travis.yml"} -### Using a Brewfile +### Use Brewfile -Under the hood, the Homebrew addon works by creating a `~/.Brewfile` and running `brew bundle --global`. You can also use the addon to install dependencies from your own [Brewfile][] that is checked in to your project. By passing `brewfile: true`, the addon will look for a `Brewfile` in the root directory of your project: +Under the hood, the Homebrew addon works by creating a `~/.Brewfile` and running `brew bundle --global`. You can also use the addon to install dependencies from your own [Brewfile][] that is checked into your project. By passing `brewfile: true`, the addon will look for a `Brewfile` in the root directory of your project: [brewfile]: https://github.com/Homebrew/homebrew-bundle @@ -286,7 +286,7 @@ addons: ``` {: data-file=".travis.yml"} -### Using Homebrew without addon on older macOS images +### Use Homebrew without addon on older macOS images If you're running the `brew` command directly in your build scripts, and you're using an older macOS image, you may see a warning such as this: @@ -303,7 +303,7 @@ rvm use $TRAVIS_RUBY_VERSION # optionally, switch back to the Ruby version you n > You can also have a look at the [Homebrew](https://config.travis-ci.com/ref/job/addons/homebrew) section in our [Travis CI Build Config Reference](https://config.travis-ci.com/). -## Installing Packages on FreeBSD +## Install Packages on FreeBSD To install packages that are not included in the default FreeBSD environment use `pkg` in the `before_install` step of your `.travis.yml`: @@ -323,7 +323,7 @@ addons: ``` {: data-file=".travis.yml"} -## Installing Dependencies on Multiple Operating Systems +## Install Dependencies on Multiple Operating Systems If you're testing on both Linux and macOS, you can use both the APT addon and the Homebrew addon together. Each addon will only run on the appropriate platform: @@ -344,7 +344,7 @@ install: ``` {: data-file=".travis.yml"} -## Installing Projects from Source +## Install Projects from Source Some dependencies can only be installed from a source package. The build may require a more recent version or a tool or library that's not available as a Ubuntu package. From dd0de23c45f6774db1fe215e8ccc1366725e00a8 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:29:09 -0400 Subject: [PATCH 101/178] Update private-dependencies.md --- user/private-dependencies.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/private-dependencies.md b/user/private-dependencies.md index f6415e79043..89304da9929 100644 --- a/user/private-dependencies.md +++ b/user/private-dependencies.md @@ -17,7 +17,7 @@ either the [Deploy Key](#deploy-key) or [User Key](#user-key) method. If the dependency is also on GitHub, there are four different ways of fetching the repository from within a Travis CI VM. Each one has advantages and -disavantages, so read each method carefully and pick the one that applies best +disadvantages, so read each method carefully and pick the one that applies best to your situation. | Authentication | Protocol | Dependency URL format | Gives access to | Notes | @@ -28,8 +28,8 @@ to your situation. | **[API token](#api-token)** | HTTPS | `https://…` | all repos user has access to | token can be encrypted | You can use a [dedicated CI user account](#dedicated-user-account) for all but -the deploy key approach. This allows you to limit access to a well defined list -of repositories, and make sure that access is read only. +the deploy key approach. This allows you to limit access to a well-defined list +of repositories, and make sure that access is read-only. ## Deploy Key @@ -51,7 +51,7 @@ You can add SSH keys to user accounts on GitHub. Most users have probably alread This way, a single key can access multiple repositories. To limit the list of repositories and type of access, it is recommended to create a [dedicated CI user account](#dedicated-user-account). -### Repository settings - forks +### Fork Repository settings {{ site.data.snippets.git_repository_settings_forks_general }} @@ -59,7 +59,7 @@ This way, a single key can access multiple repositories. To limit the list of re > Please Note: In the [travis-ci.com](https://app.travis-ci.com), secrets may also be stored in encrypted environment variables, available for both public and private repositories. Read more about [encrypted environment variables](/user/environment-variables/). -### Using an existing key +### Use an existing key [ ![Adding an SSH key via the web interface.](/images/2019-07-settings-ssh-key.png) ](/images/2019-07-settings-ssh-key.png){:.small}{:.right} @@ -81,7 +81,7 @@ Current SSH key: Key to clone myorg/lib1 and myorg/lib2 You can omit the `-r myorg/main` if your current working directory is a clone of the "myorg/main" repository. -### Generating a new key +### Generate a new key Assumptions: @@ -115,7 +115,7 @@ You can omit the `-r myorg/main` if your current working directory is a clone of At the end of the process, it will ask you whether you want to store the generated key somewhere, usually it is safe to say "no" here. After all, you can just generate a new key as necessary. See [below](#reusing-a-generated-key) for instructions on storing and reusing a generated key. -### Reusing a generated key +### Reuse a generated key Assumptions: From 99f8dd67453fabbc642a6f8efc2169cd1c317e0a Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:30:17 -0400 Subject: [PATCH 102/178] Update private-dependencies-bb.md --- user/private-dependencies-bb.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/private-dependencies-bb.md b/user/private-dependencies-bb.md index 77338a67175..11f6ef11bf4 100644 --- a/user/private-dependencies-bb.md +++ b/user/private-dependencies-bb.md @@ -19,7 +19,7 @@ either the [Deploy Key](#deploy-key) or [User Key](#user-key) method. If the dependency is also on Bitbucket, there are several different ways of fetching the repository from within a Travis CI VM. Each one has advantages and -disavantages, so read each method carefully and pick the one that applies best +disadvantages, so read each method carefully and pick the one that applies best to your situation. | Authentication | Protocol | Dependency URL format | Gives access to | Notes | @@ -30,8 +30,8 @@ to your situation. | **[API token](#api-token)** | HTTPS | `https://…` | all repos user has access to | token can be encrypted | You can use a [dedicated CI user account](#dedicated-user-account) for all but -the deploy key approach. This allows you to limit access to a well defined list -of repositories, and make sure that access is read only. +the deploy key approach. This allows you to limit access to a well-defined list +of repositories, and make sure that access is read-only. ## Deploy Key @@ -39,10 +39,10 @@ Bitbucket allows you to set up SSH keys for a repository. These deploy keys have - They are not bound to a user account, so they will not get invalidated by removing users from a repository. - They do not give access to other, unrelated repositories. -- The same key can be used for dependencies not stored on Bitbucket. +- The same key can be used for dependencies that are not stored on Bitbucket. However, using deploy keys is complicated by the fact that Bitbucket does not allow you to reuse keys. -So a single private key cannot access multiple Bitbucket repositories. +So, a single private key cannot access multiple Bitbucket repositories. You could include a different private key for every dependency in the repository, possibly [encrypting them](/user/encrypting-files/). Maintaining complex dependency graphs this way can be complex and hard to maintain. For that reason, we recommend using a From c8d944de20db5d9d027e1a5cd858e6cea461d9af Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:31:19 -0400 Subject: [PATCH 103/178] Update ssh-known-hosts.md --- user/ssh-known-hosts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/ssh-known-hosts.md b/user/ssh-known-hosts.md index 9f27c2a0f82..201b8143992 100644 --- a/user/ssh-known-hosts.md +++ b/user/ssh-known-hosts.md @@ -1,5 +1,5 @@ --- -title: Adding to SSH Known Hosts +title: Add to SSH Known Hosts layout: en --- @@ -43,7 +43,7 @@ Note that the `ssh_known_hosts` option may introduce a risk of man-in-the-middle For example, it may prevent a build from detecting that an illegitimate 3rd party attempts to inject a modified git repository or submodule into the build. This possibility might be of particular relevance where Travis CI build outputs are used for release packages or production deployments. -### Mitigations and Workarounds +## Mitigations and Workarounds Currently, Travis CI only detects the above attacks out-of-the-box for repositories on `github.com`, `gist.github.com`, or `ssh.github.com`. If you host your code on other domains, there is currently no straightforward alternative to using the `ssh_known_hosts` option and its security implications. From db2ac20135d623f7a67ad647c3290f5a96303cbd Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:52:31 -0400 Subject: [PATCH 104/178] Update database-setup.md --- user/database-setup.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/user/database-setup.md b/user/database-setup.md index e0bcac350e3..6ae6c167cca 100644 --- a/user/database-setup.md +++ b/user/database-setup.md @@ -1,5 +1,5 @@ --- -title: Setting up Databases and Services +title: Setup Databases and Services layout: en redirect_from: @@ -12,7 +12,7 @@ You can check databases and services availability in the build environment you a All services use default settings, with the exception of some added users and relaxed security settings. -## Starting Services +## Start Services Travis CI environments do not start services by default, to make more RAM available to build scripts. Start services by adding them to the `services:` section of your @@ -61,7 +61,7 @@ and a blank password. You can also [install MySQL 5.7](#mysql-57) on Ubuntu Trusty. -### Using MySQL with ActiveRecord +### Use MySQL with ActiveRecord `config/database.yml` example for Ruby projects using ActiveRecord: @@ -74,7 +74,7 @@ test: ``` {: data-file="config/database.yml"} -You might have to create the `myapp_test` database first, for example in +You might have to create the `myapp_test` database first, for example, in the `before_install` step in `.travis.yml`: ```yaml @@ -83,14 +83,14 @@ before_install: ``` {: data-file=".travis.yml"} -### Note on `test` database +### Note on test database In older versions of MySQL, the Ubuntu package provided the `test` database by default. This is no longer the case as of version 5.5.37 due to security concerns (See [change log](http://changelogs.ubuntu.com/changelogs/pool/main/m/mysql-5.5/mysql-5.5_5.5.47-0ubuntu0.12.04.1/changelog)). -The `test` database may be created if needed, for example in the +The `test` database may be created if needed, for example, in the `before_install` step in `.travis.yml`: ```yaml @@ -116,7 +116,7 @@ services: ``` {: data-file=".travis.yml"} -### Using PostgreSQL in your Builds +### Use PostgreSQL The default user for accessing the local PostgreSQL server is `postgres` with a blank password. @@ -145,7 +145,7 @@ before_script: ``` {: data-file=".travis.yml"} -### Using a different PostgreSQL Version +### Use a different PostgreSQL Version The Travis CI build environments use version 9.2 by default on Trusty images, but other versions from the official [PostgreSQL APT repository](http://apt.postgresql.org) are @@ -183,7 +183,7 @@ For PostgreSQL 10 you must specify the packages to install it and the user is `postgres` and the port is 5432. For PostgreSQL 11 and 12 you must specify the packages, but the user is `travis` and the port is 5433 instead. So you must specify the PGPORT -### Using PostGIS +### Use PostGIS Install the version of PostGIS that matches your PostgreSQL version, and activate the PostGIS extension using: @@ -202,7 +202,7 @@ before_script: The Travis CI build environment comes with a number of pre-installed locales, but you can also install additional ones, should you require them. -#### Installing Locales +#### Install Locales The following example shows the lines you need to add to your `.travis.yml` to install the Spanish language pack. @@ -217,7 +217,7 @@ before_install: ``` {: data-file=".travis.yml"} -### Using `pg_config` +### Use pg_config If your builds rely on the `pg_config` command, you need to install an additional apt package `postgresql-server-dev-X.Y`, where `X.Y` matches the version of PostgreSQL @@ -306,7 +306,7 @@ before_script: ``` {: data-file=".travis.yml"} -### MongoDB does not immediately accept connections +### Troubleshoot MongoDB accepting connections A few users have reported that MongoDB does not accept connections when from the build script. @@ -424,7 +424,7 @@ services: Cassandra is downloaded from the [Apache apt repository](http://www.apache.org/dist/cassandra/debian) and uses the default configuration. It is available on 127.0.0.1. -### Installing older versions of Cassandra +### Install older versions of Cassandra Use the following example to install a specific older version of Cassandra in your `.travis.yml`: @@ -468,7 +468,7 @@ before_script: ElasticSearch uses the default configuration and is available on 127.0.0.1. -### Installing specific versions of ElasticSearch +### Install specific ElasticSearch version You can overwrite the installed ElasticSearch with the version you need (e.g., 7.6.2) with the following: @@ -520,7 +520,7 @@ When enabled, RethinkDB will start on `localhost` at the default port (`28015`). If you need to run multiple builds using different databases, you can configure environment variables and a `before_script` or `before_install` line to create a build matrix. -### Using environment variables and a before_script step +### Use environment variables and a before_script step Use the `DB` environment variable to specify the name of the database configuration. Locally you would run: @@ -528,7 +528,7 @@ Use the `DB` environment variable to specify the name of the database configurat DB=postgres [commands to run your tests] ``` -On Travis CI you want to create a [build matrix](/user/customizing-the-build/#build-matrix) of three builds each having the `DB` variable exported with a different value, and for that you can use the `env` option in `.travis.yml`: +On Travis CI you want to create a [build matrix](/user/customizing-the-build/#build-matrix) of three builds each having the `DB` variable exported with a different value, and for that, you can use the `env` option in `.travis.yml`: ```yaml env: @@ -558,7 +558,7 @@ before_script: For a real example, see [doctrine/doctrine2 .travis.yml](https://github.com/doctrine/doctrine2/blob/master/.travis.yml). -### Using Ruby +### Use Ruby Another approach is put all database configuration in one YAML file (`test/database.yml` for example), like ActiveRecord does: From b66f3918e6d237f97182910270654d085be4bde0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:59:12 -0400 Subject: [PATCH 105/178] Update using-workspaces.md --- user/using-workspaces.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/user/using-workspaces.md b/user/using-workspaces.md index 0565efa6116..e0139817232 100644 --- a/user/using-workspaces.md +++ b/user/using-workspaces.md @@ -1,9 +1,9 @@ --- -title: Using Workspaces +title: Use Workspaces layout: en --- -# Workspaces +## Workspaces Workspaces allow jobs _within_ a build to share files. They are useful when you want to use build artifacts from a previous job; @@ -48,7 +48,9 @@ The workspace is subsequently consumed in the `use_cache` stage. ## Workspace examples -### Multiple workspaces example +The following section shows different workspace examples. + +### Multiple Workspaces example You can use multiple workspaces in a build. @@ -148,7 +150,7 @@ jobs: ``` {: data-file=".travis.yml"} -In above example: +In the above example: 1. Build stage "Build and Test" consists of 3 jobs, each of them producing output to a separate workspace 2. Build stage "Deploy" consists of one job, which @@ -156,14 +158,14 @@ In above example: 2. pulls data out of each previously created workspace and echoes it to standard output to demonstrate ability to access workspace -## Workspaces and concurrency +## Workspaces and Concurrency Note that workspaces work best if there is no race condition set while uploading them. Since there is no guarantee in the execution order of jobs within a build stage, it is a good idea to assign different workspace names to jobs within a build stage. -## Workspace names must be pre-determined +## Pre-determined Workspace names Due to technical reasons, workspace names will be escaped for shell. In other words, given: @@ -193,7 +195,7 @@ workspaces: even if the consumer is running on a Linux VM. -## How workspaces differ from caches +## How Workspaces differ from caches It is worth reiterating that the workspaces are meant for sharing files within the same build. @@ -204,4 +206,4 @@ For files you want to share across builds, use It is possible to include a single file in the cache and workspaces. -> If you restart some builds within a job, and your workspace isn't working like you expect it to, try restarting the the entire build. +> If you restart some builds within a job, and your workspace isn't working like you expect it to, try restarting the entire build. From b3c78686ef7a28d6be89c90a764b963e6591b90c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:15:28 -0400 Subject: [PATCH 106/178] Update caching.md --- user/caching.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/user/caching.md b/user/caching.md index a6531eda42d..aa83ef223b4 100644 --- a/user/caching.md +++ b/user/caching.md @@ -1,5 +1,5 @@ --- -title: Caching Dependencies and Directories +title: Cache Dependencies and Directories layout: en --- @@ -20,14 +20,14 @@ Travis CI can cache content that does not often change, to speed up your build p > When creating the cache, symbolic links are not followed. > Consider caching the normal files and directories instead. -## Caching directories (Bundler, dependencies) +## Cache directories -Caches lets Travis CI store directories between builds, which is useful for storing +Caches lets Travis CI store directories (Bundler, dependencies) between builds, which is useful for storing dependencies that take longer to compile or download. -Note that if a third party project, such as Bundler, changes the location where they store dependencies you might need to specify the [directory manually](#arbitrary-directories) instead of using that particular [caching shortcut](#bundler). Please [contact us](mailto:support@travis-ci.com?subject=Caching) with any questions, issues or feedback. +Note that if a third-party project, such as Bundler, changes the location where they store dependencies, you might need to specify the [directory manually](#arbitrary-directories) instead of using that particular [caching shortcut](#bundler). Please [contact us](mailto:support@travis-ci.com?subject=Caching) with any questions, issues or feedback. -### Build phases +### Build Phases Travis CI uploads the cache after the `script` phase of the build, but before either `after_success` or `after_failure`. @@ -38,7 +38,7 @@ either `after_success` or `after_failure`. On Ruby and Objective-C projects, installing dependencies via [Bundler](http://bundler.io/) can make up a large portion of the build duration. Caching the bundle between builds drastically reduces the time a build takes to run. -#### Enabling Bundler caching +#### Enable Bundler caching To enable Bundler caching in your `.travis.yml`: @@ -50,21 +50,21 @@ cache: bundler Whenever you update your bundle, Travis CI will also update the cache. -#### Determining the bundle path +#### Determine the bundle path -Travis CI tries its best at determining the path bundler uses for storing dependencies. +Travis CI tries its best to determine the path bundler uses for storing dependencies. If you have [custom Bundler arguments](/user/languages/ruby/#custom-bundler-arguments-and-gemfile-locations), and these include the `--path` option, Travis CI will use that path. If `--path` is missing but `--deployment` is present, it will use `vendor/bundle`. -Otherwise it will automatically add the `--path` option. In this case it will either use the value of the environment variable `BUNDLE_PATH` or, if it is missing, `vendor/bundle`. +Otherwise, it will automatically add the `--path` option. In this case it will either use the value of the environment variable `BUNDLE_PATH` or, if it is missing, `vendor/bundle`. -#### Caching and overriding `install` step +#### Cache and override the install step Overriding the `install` step may cause the directive `cache: bundler` to miss the directory. In this case, observe where Bundler is installing the gems, and cache that directory using [cache.directories](#arbitrary-directories). -#### Cleaning up bundle +#### Bundle Clean up When you use @@ -79,11 +79,11 @@ In the cases where this is not desirable, you can use specify the [arbitrary dir to get around it. See [this GitHub issue](https://github.com/travis-ci/travis-ci/issues/2518) for more information. -### cache RVM Ruby version for non Ruby projects +### Cache RVM Ruby version for non-Ruby projects There are projects using machines not based on Ruby but having some Ruby executions. For example, a NodeJS application that has a Ruby functional test suite. -For these cases installing a version of ruby with `rvm install 2.3.1` may take more than 3 minutes. For these cases you can cache the ruby installation. +For these cases installing a version of ruby with `rvm install 2.3.1` may take more than 3 minutes. For these cases, you can cache the ruby installation. ```yaml cache: @@ -96,7 +96,7 @@ For these cases installing a version of ruby with `rvm install 2.3.1` may take m On Objective-C projects, installing dependencies via [CocoaPods](http://cocoapods.org) can take up a good portion of your build. Caching the compiled Pods between builds helps reduce this time. -#### Enabling CocoaPods caching +#### Enable CocoaPods caching You can enable CocoaPods caching for your repository by adding this to your *.travis.yml*: @@ -121,7 +121,7 @@ cache: Note that CocoaPods caching won't have any effect if you are already vendoring the Pods directory in your Git repository. -#### Determining the Podfile path +#### Determine the Podfile path By default, Travis CI will assume that your Podfile is in the root of the repository. If this is not the case, you can specify where the Podfile is like @@ -242,7 +242,7 @@ This caches `$HOME/.cargo` and `$TRAVIS_BUILD_DIR/target`. ### Arbitrary directories -You can cache arbitrary directories, such as Gradle, Maven, Composer and npm cache directories, between builds by listing them in your `.travis.yml`: +You can cache arbitrary directories, such as Gradle, Maven, Composer, and npm cache directories, between builds by listing them in your `.travis.yml`: ```yaml cache: @@ -275,10 +275,10 @@ Large files that are quick to install but slow to download do not benefit from c Docker images are not cached, because we provision a brand new virtual machine for every build. -## Fetching and storing caches +## Fetch and store caches - Travis CI fetches the cache for every build, including branches and pull requests. -- There is one cache per branch and language version / compiler version / JDK version / Gemfile location, etc. See [Caches and build matrices](#caches-and-build-matrices) for details. +- There is one cache per branch and language version/compiler version/JDK version/ Gemfile location, etc. See [Caches and build matrices](#caches-and-build-matrices) for details. - If a branch does not have its own cache, Travis CI fetches the default branch cache. - Only modifications made to the cached directories from normal pushes are stored. @@ -318,9 +318,9 @@ before_cache: Failure in this phase does not mark the job as failed. -### Clearing Caches +### Clear Caches -Sometimes you spoil your cache by storing bad data in one of the cached directories, or your cache can become invalid when language runtimes change. +Sometimes, you spoil your cache by storing bad data in one of the cached directories, or your cache can become invalid when language runtimes change. Use one of the following ways to access your cache and delete it if necessary: @@ -346,7 +346,7 @@ You can find more information on the build config format for [Caching](https://c ## Configuration -### Enabling multiple caching features +### Enable multiple caching features When you want to enable multiple caching features and the language supports them, you can list them as an array: @@ -386,7 +386,7 @@ install: ``` {: data-file=".travis.yml"} -### Explicitly disabling caching +### Explicitly disable caching You can explicitly disable all caching by setting the `cache` option to `false` in your *.travis.yml*: @@ -478,7 +478,7 @@ FAILED: tar -Pzcf /Users/travis/.casher/push.tgz /path/to/unreadable/directory tar: /path/to/unreadable/directory: Cannot stat: No such file or directory ``` -## How does caching work? +## How does caching work Travis CI saves an archive of all the directories listed in the configuration and uploads it to a storage provider, using a secure and protected URL, ensuring security and privacy of From 0fb8e50a420dad26cdb2b4a7f6dc1e599d81f7f0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:30:11 -0400 Subject: [PATCH 107/178] Update for-beginners.md --- user/for-beginners.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/for-beginners.md b/user/for-beginners.md index cbcd5b91b88..088ac43f792 100644 --- a/user/for-beginners.md +++ b/user/for-beginners.md @@ -10,7 +10,7 @@ Welcome to Travis CI! This page provides some contexts and terminologies used throughout the platform and documentation, which might be helpful, if you are new here or new to Continuous Integration (CI). -## What Is Continuous Integration (CI)? +## What Is Continuous Integration? Continuous Integration is the practice of merging in small code changes frequently - rather than merging in a large change at the end of a development @@ -22,7 +22,7 @@ process by automatically building and testing code changes, providing immediate feedback on the success of the change. Travis CI can also automate other parts of your development process by managing deployments and notifications. -## CI Builds and Automation: Building, Testing, Deploying +## CI Builds and Automation: Build, Test, and Deploy When you run a build, Travis CI clones your GitHub repository into a brand-new virtual environment, and carries out a series of tasks to build and test your @@ -36,7 +36,7 @@ you can have jobs depend on each other with [Build Stages](/user/build-stages/), set up [notifications](/user/notifications/), prepare [deployments](/user/deployment/) after builds and many other tasks. -## Builds, Stages, Jobs and Phases +## Builds, Stages, Jobs, and Phases In the Travis CI documentation, some common words have specific meanings: @@ -52,7 +52,7 @@ In the Travis CI documentation, some common words have specific meanings: of a *job*. For example, the `install` phase, comes before the `script` phase, which comes before the optional `deploy` phase. -## Breaking the Build +## Broken Builds The build is considered *broken*, when one or more of its jobs complete with a state that is not *passed*: From 9982ebcd81d9295874f1cd978311bf877c831afa Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:31:43 -0400 Subject: [PATCH 108/178] Update onboarding.md --- user/onboarding.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/onboarding.md b/user/onboarding.md index deed741e7bb..8a8f34e57e9 100644 --- a/user/onboarding.md +++ b/user/onboarding.md @@ -61,7 +61,7 @@ Click the **Manage Repositories** button. Once directed to your chosen platform, > Depending on your chosen platform, you can also make this selection with the authorization message by clicking the *Activate all repositories* button on the Getting Started page to activate all your repos. -## Add a `.travis.yml` File +## Add a .travis.yml File The next step is to add a `.travis.yml` file to your repository to tell Travis CI what to do. The following example specifies a Ruby project built with Ruby 2.2 and the latest version of JRuby. @@ -81,7 +81,7 @@ Add the `.travis.yml` to a specific location in your repository. > Travis only runs builds on the commits you push *after* you've added a `.travis.yml` file. Finally, visit [Travis CI](https://app.travis-ci.com) and select your repository to check the build status page to see if your build [passes or fails](/user/job-lifecycle/#breaking-the-build) according to the return status of the build command. -### Assembla `.travis.yml` File Configuration +### Assembla .travis.yml File Configuration

@@ -117,7 +117,7 @@ See the example below for reference. Perforce and SVN builds are currently **available only for Linux Ubuntu** and standard amd64 CPU architecture build environments, starting from the Bionic Beaver Ubuntu distribution. -## Switching Accounts +## Switch Accounts You can easily switch between your cloud platform provider accounts: @@ -127,7 +127,7 @@ You can easily switch between your cloud platform provider accounts: ![Switch Accounts](/user/images/onboarding-settings.png) -## Selecting a different programming language +## Select a different programming language Use one of these common languages: From b241fd868a1ac3c321c564c9b0359cbfb6416fee Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:41:25 -0400 Subject: [PATCH 109/178] Update customizing-the-build.md --- user/customizing-the-build.md | 66 +++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/user/customizing-the-build.md b/user/customizing-the-build.md index ce4134576be..0381350e7d4 100644 --- a/user/customizing-the-build.md +++ b/user/customizing-the-build.md @@ -1,5 +1,5 @@ --- -title: Customizing the Build +title: Customize the Build layout: en redirect_from: @@ -12,7 +12,7 @@ redirect_from: Builds on Travis CI are configured mostly through the build configuration stored in the file `.travis.yml` in your repository. This allows your -configuration to be version controlled and flexible. +configuration to be version-controlled and flexible. For advanced use cases the main build configuration file `.travis.yml` can import other, shared config sources using the [Build Config Imports](/user/build-config-imports/) @@ -50,7 +50,7 @@ The [Build Lifecycle documentation](/user/job-lifecycle/) now has its own page. {: #Build-Lifecycle} -## Limiting Concurrent Jobs +## Limit Concurrent Jobs {{ site.data.snippets.concurrent_jobs }} @@ -65,9 +65,9 @@ Or using the command line client: $ travis settings maximum_number_of_builds --set 1 ``` -## Building Only the Latest Commit +## Build the Latest Commit only -If you are only interested in building the most recent commit on each branch you can use this new feature to automatically cancel older builds in the queue that are *not yet running*. Existing builds will be allowed to finish. +If you are only interested in building the most recent commit on each branch, you can use this new feature to automatically cancel older builds in the queue that are *not yet running*. Existing builds will be allowed to finish. The *Auto Cancellation Setting* is in the *Settings* tab of each repository, and you can enable it separately to: * *Auto cancel branch builds* - cancels queued builds in your branch and appears in the *Build History* tab of your repository. @@ -128,7 +128,7 @@ git: ## Git LFS -### Authentication with GitHub +### GitHub Authentication We recommend using a read-only GitHub OAuth token to authenticate when using [Git LFS](https://git-lfs.github.com/): @@ -143,7 +143,7 @@ This authentication is required when connecting to private repositories, and pre Deploy keys are not currently supported by LFS, so you should use a GitHub OAuth token to authenticate as in the example above. -### Authentication with Bitbucket +### Bitbucket Authentication We recommend using a read-only Bitbucket OAuth token to authenticate when using [Git LFS](https://git-lfs.github.com/): @@ -158,7 +158,7 @@ This authentication is required when connecting to private repositories, and pre Deploy keys are not currently supported by LFS, so you should use a Bitbucket OAuth token to authenticate as in the example above. -### Authentication with GitLab +### GitLab Authentication We recommend using a read-only GitLab OAuth token to authenticate when using [Git LFS](https://git-lfs.github.com/): @@ -173,7 +173,7 @@ This authentication is required when connecting to private repositories, and pre Deploy keys are not currently supported by LFS, so you should use a GitLab OAuth token to authenticate as in the example above. -### Authentication with Assembla +### Assembla Authentication We recommend using a read-only Assembla OAuth token to authenticate when using [Git LFS](https://git-lfs.github.com/): @@ -234,12 +234,12 @@ git: where `skip-worktree-map-file` is a path to the existing file in the current repository with data you'd like to put into `$GIT_DIR/info/sparse-checkout` file of [format described in Git documentation](https://git-scm.com/docs/git-read-tree#_sparse_checkout). -## Git End of Line Conversion Control +## Git End-of-Line Conversion Control Travis CI clones repositories with platform-dependent [core.autocrlf](https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreautocrlf) behavior. This behavior can be modified via the autocrlf attribute in `.travis.yml`. Valid values are `true`, `false` and `input`. -To clone your repository without end of line conversion, add: +To clone your repository without end-of-line conversion, add: ```yaml git: @@ -250,7 +250,7 @@ git: This is equivalent to [`git config --global core.autocrlf input`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreautocrlf) prior to cloning the repository. -## Disabling git clone +## Disable git clone In some workflows, like [build stages](https://docs.travis-ci.com/user/build-stages/#what-are-build-stages), it might be beneficial to skip the automatic `git clone` step. @@ -263,7 +263,7 @@ git: > Note that if you use this option, the `TRAVIS_COMMIT_MESSAGE` environment variable will not be defined. -## Setting symlinks option +## Set the symlinks option In some cases when a repository is used for both Linux and Windows, it may be desirable to set [core.symlinks](https://git-scm.com/docs/git-config#Documentation/git-config.txt-coresymlinks) option. @@ -275,13 +275,13 @@ git: symlinks: true ``` -## Building Specific Branches +## Build Specific Branches Travis CI uses the `.travis.yml` file from the branch containing the Git commit that triggers the build. Include branches using a safelist, or exclude them using a blocklist. > Note that you also need to take into account automatic [Pull Request Builds](/user/pull-requests/#double-builds-on-pull-requests) when deciding to safelist or blocklist certain branches. -### Safelisting or Blocklisting Branches +### Safelist or Blocklist Branches Specify which branches to build using a safelist, or blocklist branches that you do not want to be built: @@ -316,7 +316,7 @@ branches: > Note that for historical reasons `.travis.yml` needs to be present *on all active branches* of your project. -### Using Regular Expressions +### Regular Expressions You can use regular expressions to safelist or blocklist branches: @@ -333,7 +333,7 @@ Any name surrounded with `/` in the list of branches is treated as a regular exp Options that are specified after the last `/` (e.g., `i` for case insensitive matching) are not supported but can be given inline instead. For example, `/^(?i:deploy)-.*$/` matches `Deploy-2014-06-01` and other branches and tags that start with `deploy-` in any combination of cases. -## Skipping a Build +## Skip a Build If you don't want to run a build for a particular commit for any reason, you may instruct Travis CI to skip building this commit via a command in the commit message. @@ -354,7 +354,7 @@ For example, Note that in case multiple commits are pushed together, the skip command is effective only if present in the commit message of the HEAD commit. -## Build matrix +## Build Matrix You can also define exclusions to the build matrix: @@ -372,7 +372,7 @@ jobs: > All build matrixes are currently limited to a maximum of **200 jobs** for both private and public repositories. If you are on an open-source plan, please remember that Travis CI provides this service free of charge to the community. So please only specify the matrix you *actually need*. -### Naming Jobs within Matrices +### Name Jobs within Matrices You can define names for specific jobs within a matrix. We recommend unique job names, but do not enforce it (though this may change in the future). Jobs defined in the `matrix.include` @@ -397,7 +397,7 @@ script: ./test.py $TEST_SUITE Jobs that are generated by matrix expansion cannot be given name attributes. -### Excluding Jobs +### Exclude Jobs If the jobs you want to exclude from the build matrix share the same matrix parameters, you can specify only those and omit the varying parts. @@ -450,7 +450,7 @@ jobs: ``` {: data-file=".travis.yml"} -#### Excluding Jobs with `env` Value +#### Exclude Jobs with the env Value When excluding jobs with `env` values, the value must match _exactly_. @@ -500,7 +500,7 @@ jobs: ``` {: data-file=".travis.yml"} -### Explicitly Including Jobs +### Explicitly Included Jobs It is also possible to include entries into the matrix with `matrix.include`: @@ -541,7 +541,7 @@ keys defined. In this example with a 3-job Python build matrix, each job in `matrix.include` has the `python` value set to `'3.8'`. -You can explicitly set the python version for a specific entry: +You can explicitly set the Python version for a specific entry: ```yaml language: python @@ -559,13 +559,13 @@ script: env $EXTRA_TESTS ./test.py $TEST_SUITE ``` {: data-file=".travis.yml"} -### Jobs That Are Allowed to Fail +### Intentionally allow Jobs to Fail You can define jobs that are allowed to fail in the build matrix. Allowed failures are jobs in your build matrix that are allowed to fail without causing the entire build to fail. This lets you add in experimental and -preparatory builds, for example to test against runtime versions or +preparatory builds, for example, to test against runtime versions or configurations that you are not ready to officially support. Define allowed failures in the build matrix as key/value pairs: @@ -577,7 +577,7 @@ jobs: ``` {: data-file=".travis.yml"} -#### Conditionally Allowing Jobs to Fail +#### Conditionally allow Jobs to Fail Allowed failures can include a [condition](/user/conditional-builds-stages-jobs/#conditionally-allowing-jobs-to-fail) using the key `if`. @@ -592,14 +592,14 @@ jobs: ``` {: data-file=".travis.yml"} -#### Matching Jobs with `allow_failures` +#### Matching Jobs with the allow_failures attribute When matching jobs against the definitions given in `allow_failures`, _all_ attributes specified on an entry in `allow_failures` must be met exactly, and all the keys in `allow_failures` element must exist in the top level of the build matrix (i.e., not in `matrix.include`). -##### `allow_failures` Examples +#### allow_failures Examples Consider @@ -644,7 +644,7 @@ jobs: Without the top-level `env`, no job will be allowed to fail. -### Fast Finishing +### Use a Fast Finish If some jobs in the build matrix are allowed to fail, the build won't be marked as finished until they have completed. @@ -658,7 +658,7 @@ jobs: Now, the build result will be determined as soon as all the required jobs finish, based on these results, while the rest of the `allow_failures` jobs continue to run. -## Installing a Second Programming Language +## Install a Second Programming Language If you need to install a second programming language in your current build environment, you can do so in the `before_install` stage of the build. @@ -682,7 +682,7 @@ before_install: It's also possible to use other language installation methods such as `apt-get`, `pyenv` for Python, `nvm` for Node.js, etc. -## Implementing Complex Build Steps +## Implement Complex Build Steps If you have a complex build environment that is hard to configure in the `.travis.yml`, consider moving the steps into a separate shell script. The script can be a part of your repository and can easily be called from the `.travis.yml`. @@ -703,13 +703,13 @@ addons: ``` {: data-file=".travis.yml"} -## What Repository Providers or Version Control Systems Can I Use? +## Repository Providers and Version Control Systems Build and test your open source and private repositories hosted on GitHub on [travis-ci.com](https://travis-ci.com/). Travis CI can also integrates with Atlassian [Bitbucket](https://bitbucket.org/), [GitLab](https://about.gitlab.com/) and Assembla (https://www.assembla.com/). Travis CI currently does not support git repositories hosted on other version control systems such as Mercurial. -## What YAML Version Can I Use in `.travis.yml` +## YAML Versions for a .travis.yml file Travis CI uses the Ruby libYAML library, which means that your `.travis.yml` must be valid [YAML 1.1](http://yaml.org/spec/1.1/). From 9fcd325fca66345a5702e9451a070ad1df3a2c86 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:49:17 -0400 Subject: [PATCH 110/178] Update build-config-imports.md --- user/build-config-imports.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/user/build-config-imports.md b/user/build-config-imports.md index f2844205959..cd0d4f91a91 100644 --- a/user/build-config-imports.md +++ b/user/build-config-imports.md @@ -1,5 +1,5 @@ --- -title: Importing Shared Build Configuration +title: Import Shared Build Configuration layout: en --- @@ -7,7 +7,7 @@ layout: en The main source of configuration for your build is the `.travis.yml` file stored in your repository. You can import shared configuration snippets into your `.travis.yml` or [API build request payload](https://docs.travis-ci.com/user/triggering-builds/), -to update your build configuration in multiple repositories making only one +to update your build configuration in multiple repositories, making only one change. Imported configs can themselves include other configs, making this feature very @@ -18,16 +18,16 @@ configuration snippets in total. > BETA The feature Build Config Imports is currently in beta. Please leave feedback on the [Community forum](https://travis-ci.community/c/early-releases). {: .beta } -## Opt-in +## The opt-in option -In order for this feature to be active you have to enable the feature +In order for this feature to be active, you have to enable the feature [Build Config Validation](/user/build-config-validation/) which will be rolled out to all users in the near future. You can enable Build Config Validation in your repository's settings, or by adding `version: ~> 1.0` to your `.travis.yml` file. -## Example +## Import Shared Build Configuration Example Instead of specifying which versions of Ruby to test against in multiple files across many repositories, you can define them in a shared snippet: @@ -102,7 +102,7 @@ present in the importing and an imported config, or in multiple imported configs You can customize this by specifying the merge mode used for each import. See below for more information on [merge modes](#merge-modes). -## Importing configs from the same repository +## Import configs from the same repository When importing configurations stored in the same repository as your `travis.yml`, you can omit the `/` part: @@ -117,9 +117,9 @@ import: The path is relative to the repository's root. -## Importing specific versions of configs +## Import specific config versions -For configurations imported from a different repository the latest version of +For configurations imported from a different repository, the latest version of the default branch in the repository will be used by default. For configurations imported from the same repository the commit you are @@ -136,7 +136,7 @@ import: ``` {: data-file=".travis.yml"} -## Importing configs from private repositories +## Import private repository configs In order to share configurations **from** a private repository this needs to be allowed on that repository, by enabling the *Allow importing config files from this repository* @@ -147,7 +147,7 @@ setting in `More options > Settings > Config Import`. > from private repositories cannot be imported to configs from public > repositories. -## Sharing encrypted secrets +## Share Encrypted Secrets Encrypted secrets contained in imported config snippets can be shared and decrypted with repositories owned by the same organization or user account. @@ -192,7 +192,7 @@ There are these merge modes: The default merge mode is `deep_merge_append`. -### Deep merge append/prepend +### Deep merge: append and prepend The merge modes `deep_merge_append` and `deep_merge_prepend` recursively merge sections (keys) that hold maps (hashes), and concatenates sequences (arrays) by @@ -269,7 +269,7 @@ When triggering a build through the Travis API or the web UI, the order of ascen No. The parsed YAML trees must be merged. Thus, the `import` keyword is accepted only at the root level. If it suits your scenario, you can specify your job template in, e.g., `job.yml` and import it into your `.travis.yml` with the `mode: deep_merge`, adding in the `.travis,yml` specifics to be overridden in the imported template. -### Is it possible to create and use anchors via the shared configs mechanism? +### Can I create and use anchors via the shared configs mechanism? Unfortunately, it’s not supported. As much as we encourage [using YAML as a build configuration language](/user/build-config-yaml), anchors and aliases, referring to these anchors must be defined and used within a single `.yml` file and will be expanded before any *import* action (merging parse trees) occurs. For the same reason, attempts to assign an anchor within `.travis.yml` to an *imported* key will not work — both `.travis.yml` and `imported.yml` must be parsed before the merge action can occur. From 2e4e2019c4d3ee1fdffc666222073ca3de0714f9 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:50:30 -0400 Subject: [PATCH 111/178] Update build-config-validation.md --- user/build-config-validation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/build-config-validation.md b/user/build-config-validation.md index 52d5a4ec05f..52c54da1d32 100644 --- a/user/build-config-validation.md +++ b/user/build-config-validation.md @@ -10,7 +10,7 @@ layout: en

-## Beta opt-in +## The opt-in option You can opt in using the repository setting "Build config validation" in the Travis CI UI, or by specifying the `version` in your `.travis.yml` file: @@ -20,7 +20,7 @@ version: ~> 1.0 ``` {: data-file=".travis.yml"} -## Build config validation +## Build Config Validation When active the [build config validation](https://github.com/travis-ci/travis-yml) feature will validate and normalize any incoming build config sources (e.g. @@ -52,7 +52,7 @@ The messages have 4 severity levels: * `warn` - The build config contains mistakes that our system can repair. It is safe to ignore these messages. * `info` - The build config parser has made changes to the config that you might want to be informed of. It is safe to ignore these messages. -## Validation message types +## Types of Validation messages This table lists build config validation message types, and explains how to respond to these messages. From 1609fc069f49eb5206a1a3b1f19c5ea7cd0f838c Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:51:25 -0400 Subject: [PATCH 112/178] Update cron-jobs.md --- user/cron-jobs.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/cron-jobs.md b/user/cron-jobs.md index 5715d952f57..e26e725b517 100644 --- a/user/cron-jobs.md +++ b/user/cron-jobs.md @@ -15,7 +15,7 @@ Configure cron jobs from the "Cron Jobs" settings tab on your Travis CI page. {{ site.data.snippets.ghlimit }} -## Adding Cron Jobs +## Add Cron Jobs Select the branch to run the build on, how often to run the build, and whether to run the build if there was a build in the last 24 hours, then click "Add": @@ -25,17 +25,17 @@ Confirm that the cron job is displayed in your settings tab: ![cron job created](/images/cron-created.png "cron job created") -## Skipping Cron Jobs +## Skip Cron Jobs Please note that cron jobs will run regardless and cannot be skipped even with [ci skip] in the latest commit message. -## Deleting Cron Jobs +## Delete Cron Jobs -Click the small trash icon on the right hand side of the page: +Click the small trash icon on the right-hand side of the page: ![deleting a cron job](/images/cron-deleting.png "deleting a cron job") -## Detecting Builds Triggered by Cron +## Detect Builds Triggered by Cron To check whether a build was triggered by cron, examine the `TRAVIS_EVENT_TYPE` environment variable to see if it has the value `cron`. From ac96fbb0f827137d3bc5d1beb8338a1294bac489 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:53:06 -0400 Subject: [PATCH 113/178] Update docker.md --- user/docker.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/user/docker.md b/user/docker.md index dd05e731e99..0671e6fa270 100644 --- a/user/docker.md +++ b/user/docker.md @@ -1,5 +1,5 @@ --- -title: Using Docker in Builds +title: Use Docker in Builds layout: en --- @@ -24,9 +24,9 @@ examples. > We do not currently support use of Docker on macOS. -> For information on how to use Docker on Travis CI Enterprise check out [Enabling Docker Builds](/user/enterprise/build-images/#enabling-docker-builds). +> For information on how to use Docker on Travis CI Enterprise, check out [Enabling Docker Builds](/user/enterprise/build-images/#enabling-docker-builds). -## Using a Docker Image from a Repository in a Build +## Use a Docker Image from a Repository This [example repository](https://github.com/travis-ci/docker-sinatra) runs two Docker containers built from the same image: @@ -84,7 +84,7 @@ Finished in 0.022952763 seconds. 43.57 tests/s, 43.57 assertions/s ``` -## Building a Docker Image from a Dockerfile +## Build a Docker Image from a Dockerfile Instead of downloading the Docker image from [carlad/sinatra](https://registry.hub.docker.com/u/carlad/sinatra/) you can @@ -117,7 +117,7 @@ script: ``` {: data-file=".travis.yml"} -## Pushing a Docker Image to a Registry +## Push a Docker Image to a Registry To push an image to a Docker registry, one must first authenticate via `docker login`. The email, username, and password used for login should be stored in @@ -139,7 +139,7 @@ Within your `.travis.yml` prior to attempting a `docker push` or perhaps before echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin ``` -### Branch Based Registry Pushes +### Branch-Based Registry Pushes To push a particular branch of your repository to a remote registry, use the custom deploy section of your `.travis.yml`: @@ -172,7 +172,7 @@ When pushing to a private registry, be sure to specify the hostname in the echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin registry.example.com ``` -## Using Docker Compose +## Use the Docker Compose The [Docker Compose](https://docs.docker.com/compose/) tool is also [installed in the Docker enabled environment](/user/reference/trusty/#docker). @@ -191,7 +191,7 @@ before_install: ``` {: data-file=".travis.yml"} -## Installing a newer Docker version +## Install a newer Docker version You can upgrade to the latest version and use any new Docker features by manually updating it in the `before_install` step of your `.travis.yml`: From f5b07abf4fdd43eaa66bcad55154868ee69c9096 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:01:02 -0400 Subject: [PATCH 114/178] Update pull-requests.md --- user/pull-requests.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/user/pull-requests.md b/user/pull-requests.md index a58045f518e..ef7694389d6 100644 --- a/user/pull-requests.md +++ b/user/pull-requests.md @@ -1,5 +1,5 @@ --- -title: Building Pull Requests +title: Build Pull Requests layout: en --- @@ -36,7 +36,7 @@ Travis CI makes encrypted variables and data available only to pull requests com Pull requests sent from forked repositories do not have access to encrypted variables or data even if these are defined in the fork source project unless certain repository settings in Travis CI aren't set. -### Repository settings - forks +### Fork Repository settings {{ site.data.snippets.git_repository_settings_forks_general }} @@ -58,7 +58,7 @@ script: ``` {: data-file=".travis.yml"} -## My Pull Request isn't being built +## Pull Request does not build If a pull request isn't built or doesn't show up in Travis CI's user interface, that usually means that it can't be merged. We rely on the merge commit that GitHub transparently creates between the changes in the source branch and the upstream branch the pull request is sent against. @@ -78,13 +78,13 @@ The command "eval git fetch origin +refs/pull/994/merge: " failed Restoring the branch of a merged pull request will not trigger a build, nor will pushing a new commit to a branch that has already been merged. -## 'Double builds' on pull requests +## Double builds on pull requests If you see two build status icons on your GitHub pull request, it means there is one build for the branch, and one build for the pull request itself (actually the build for the merge of the head branch with the base branch specified in the pull request). [Build pushed branches](/user/web-ui/#build-pushed-branches) and [Build pushed pull requests](/user/web-ui/#build-pushed-pull-requests) control this behaviour. -## See Also +## Further Reading * [Building only the latest commit](/user/customizing-the-build/#building-only-the-latest-commit) * [Building specific branches](/user/customizing-the-build/#building-specific-branches) From 2c34ab85da62961514c32afeb3025a92f9da6bad Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:21:43 -0400 Subject: [PATCH 115/178] Update common-build-problems.md --- user/common-build-problems.md | 74 ++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/user/common-build-problems.md b/user/common-build-problems.md index 59b8b6e6c26..9c890bc75ab 100644 --- a/user/common-build-problems.md +++ b/user/common-build-problems.md @@ -9,7 +9,7 @@ redirect_from: -## My tests broke but were working yesterday +## Broken Tests that previously worked A very common cause when a test is suddenly breaking without any major code changes involved is a change in upstream dependencies. @@ -33,9 +33,9 @@ version. * Additionally, we update our build environment regularly, which brings in newer versions of languages and the running services. -## My build script is killed without any error +## The build script is killed without any errors -Sometimes, you'll see a build script causing an error and the message in +Sometimes, you'll see a build script causing an error, and the message in the log will be something like `Killed`. This is usually caused by the script or one of the programs it runs exhausting @@ -47,7 +47,7 @@ Depending on the tool in use, this can be caused by a few things: - Ruby test suite consuming too much memory - Tests running in parallel using too many processes or threads (e.g. using the `parallel_test` gem) -- g++ needing too much memory to compile files, for instance with a lot of +- g++ needing too much memory to compile files, for instance, with a lot of templates included. ### Parallel processes @@ -63,7 +63,7 @@ likely to show similar causes. It can be caused by memory leaks or by custom settings for the garbage collector, for instance to delay a sweep for as long as possible. Dialing these numbers down should help. -## My build fails unexpectedly +## Unexpected Build Failures One possible cause for builds failing unexpectedly can be calling `set -e` (also known as `set errexit`), either *directly in* your `.travis.yml`, or `source`ing a script which does. This causes any error causing a non-zero return status in your script to stop and fail the build immediately. @@ -74,7 +74,7 @@ See also [Complex Build Steps](/user/customizing-the-build/#implementing-complex Another reason could be that the repo setting **Clone or import** is set to `OFF.` In this case, no information from the repository is shared and it is possible some builds using private dependencies between repos can break. If you want to avoid the situation when all of your repositories stop sharing dependencies, please go to the repository settings and explicitly set **Clone or Import** to `ON.` In this case, your builds keep running as usual. -## Segmentation faults from the language interpreter (Ruby, Python, PHP, Node.js, etc.) +## Segmentation faults from the language interpreter If your build is failing due to unexpected segmentation faults in the language interpreter, this may be caused by corrupt or invalid caches of your extension codes (gems, modules, etc). This can happen with any interpreted language, such as Ruby, Python, PHP, Node.js, etc. @@ -82,7 +82,7 @@ Fix the problem by * clearing the cache or * removing the cache key from your .travis.yml (you can add it back in a subsequent commit). -## **Ruby**: RSpec returns 0 even though the build failed +## **Ruby**: RSpec returns 0 when the build failed In some scenarios, when running `rake rspec` or even rspec directly, the command returns 0 even though the build failed. This is commonly due to some RubyGem @@ -110,7 +110,7 @@ If your project is using the [Code Climate integration](/user/code-climate/) or Simplecov, this issue can also come up with the 0.8 branch of Simplecov. The fix is to downgrade to the last 0.7 release until the issue is fixed. -## **Capybara**: I'm getting errors about elements not being found +## **Capybara**: Not found elements Errors In scenarios that involve JavaScript, you can occasionally see errors that indicate that an element is missing, a button, a link, or some other resource @@ -138,14 +138,14 @@ If you're still seeing timeouts after increasing it initially, set it to something much higher for one test run. Should the error still persist, there's possibly a deeper issue on the page, for instance compiling the assets. -## **Ruby**: Installing the debugger_ruby-core-source library fails +## **Ruby**: debugger_ruby-core-source library installation fails -This Ruby library unfortunately has a history of breaking with even patchlevel +This Ruby library, unfortunately, has a history of breaking with even patch-level releases of Ruby. It's commonly a dependency of libraries like linecache or other Ruby debugging libraries. We recommend moving these libraries to a separate group in your Gemfile and then -to install RubyGems on Travis CI without this group. As these libraries are only +installing RubyGems on Travis CI without this group. As these libraries are only useful for local development, you'll even gain a speedup during the installation process of your build. @@ -161,9 +161,9 @@ end bundler_args: --without development debug ``` -## **Ruby**: Tests frozen and cancelled after 10 minute log silence +## **Ruby**: Tests frozen and canceled -In some cases, the use of the `timecop` gem can result in seemingly sporadic +In some cases, tests get frozen and then canceled after 10 minutes of log silence. The use of the `timecop` gem can result in seemingly sporadic "freezing" due to issues with ordering calls of `Timecop.return`, `Timecop.freeze`, and `Timecop.travel`. For example, if using RSpec, be sure to have a `Timecop.return` configured to run *after* all examples: @@ -179,7 +179,7 @@ end ## **Mac**: macOS Mavericks (10.9) Code Signing Errors -With Mavericks quite a lot has changed in terms of code signing and the keychain application. +With Mavericks, quite a lot has changed in terms of code signing and the keychain application. Signs of issues can be error messages stating that an identity can't be found and that "User interaction is not allowed." @@ -311,7 +311,7 @@ You can also have more details in [this GitHub issue](https://github.com/travis- ## **Mac**: Errors running CocoaPods -CocoaPods usage can fail for a few reasons currently. +CocoaPods usage can currently fail for a few reasons. ### Newer version of CocoaPods required @@ -324,7 +324,7 @@ before_install: ``` {: data-file=".travis.yml"} -### CocoaPods can't be found +### CocoaPods cannot be found CocoaPods isn't currently installed on all available Rubies, which unfortunately means it will fail when using the default Ruby, which is 2.0.0. @@ -350,14 +350,14 @@ rvm: 1.9.3 ``` {: data-file=".travis.yml"} -## **System**: Required language pack isn't installed +## **System**: Required language pack not installed The Travis CI build environments currently have only the en_US language pack -installed. If you get an error similar to : "Error: unsupported locale +installed. If you get an error similar to: "Error: unsupported locale setting", then you may need to install another language pack during your test run. -This can be done with the follow addition to your `.travis.yml`: +This can be done with the following addition to your `.travis.yml`: ```yaml before_install: @@ -380,7 +380,7 @@ addons: ``` {: data-file=".travis.yml"} -## **Linux**: apt fails to install package with 404 error +## **Linux**: apt fails to install the package with 404 error This is often caused by old package database and can be fixed by adding the following to `.travis.yml`: @@ -390,12 +390,12 @@ before_install: ``` {: data-file=".travis.yml"} -## **Windows**: common build problems and known issues +## **Windows**: Common build problems and Known issues -For a list of common build problems on Windows, known issues and workarounds, please visit the [Travis CI community forum].(https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264). +For a list of common build problems on Windows, known issues, and workarounds, please visit the [Travis CI community forum].(https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264). The [Travis CI community forum](https://travis-ci.community) provides better visibility on the issues customers are running into and how to solve them. -## Travis CI does not preserve the state between builds +## Travis CI not preserving the state between builds Travis CI uses virtual machine snapshotting to make sure no state is preserved between builds. If you modify the CI environment by writing something to a data store, creating @@ -407,7 +407,7 @@ Travis CI runs all commands over SSH in isolated virtual machines. Commands that modify SSH session states are "sticky" and persist throughout the build. For example, if you `cd` into a directory, all subsequent commands are run from that directory. -## Git submodules are not updated correctly +## Git submodules not updating correctly Travis CI automatically initializes and updates submodules when there's a `.gitmodules` file in the root of the repository. @@ -447,7 +447,7 @@ https://github.com/someuser/somelibrary.git Otherwise, Travis CI builders won't be able to clone your project because they don't have your private SSH key. -## My builds are timing out +## Builds time out Builds can unfortunately time out, either during installation of dependencies or during the build itself, for instance because of a command that's taking a longer amount of time to run while not producing any output. @@ -490,7 +490,7 @@ does work in the [other steps](/user/job-lifecycle/). ### Build times out because no output was received -When a long running command or compile step regularly takes longer than 10 minutes without producing any output, you can adjust your build configuration to take that into consideration. +When a long-running command or compile step regularly takes longer than 10 minutes without producing any output, you can adjust your build configuration to take that into consideration. The shell environment in our build system provides a function that helps to work around that, at least for longer than 10 minutes. @@ -515,13 +515,13 @@ Continuing the example above to extend the waiting time to 30 minutes: > We recommend to carefully use `travis_wait`, as overusing it can extend your build time when there could be a deeper underlying issue. When in doubt, [email us](mailto:support@travis-ci.com) first to see if something could be improved about this particular command first. -#### Limitations of `travis_wait` +#### Limitations of travis_wait `travis_wait` works by starting a process, sending it to the background, and watching the background process. If the command you pass to `travis_wait` does not persist, then `travis_wait` does not extend the timeout. -## Running builds in debug mode +## Run builds in debug mode In private repositories and those public repositories for which the feature is enabled, it is possible to run builds and jobs in debug mode. @@ -529,7 +529,7 @@ Using this feature, you can interact with the live VM where your builds run. For more information, please consult [the debug VM documentation](/user/running-build-in-debug-mode/). -## Log length exceeded +## Exceed Log length The log for each build is limited to approximately 4 MB. When it reaches that length, the build is terminated and you'll see the following message at the end of your build log: @@ -539,7 +539,7 @@ The log length has exceeded the limit of 4 Megabytes (this usually means that te The build has been terminated. ``` -## FTP/SMTP/other protocol do not work +## FTP and SMTP Protocols do not work Some protocols such as FTP and SMTP are not directly supported due to the infrastructure requirements in place for security and fair usage. Using @@ -559,7 +559,7 @@ before_install: {: data-file=".travis.yml"} -## I pushed a commit and can't find its corresponding build +## Pushing a commit and not finding the build The build request events that Travis CI receives are listed in your repository's Requests page. You can find it under the **More Options** dropdown menu, choosing **Requests**. @@ -578,22 +578,22 @@ If a build hasn't been triggered for your commit, these are the possible build r > Please note that Travis CI does not receive a Webhook event when more than three commits are tagged. So if you do `git push --tags`, and more than three tags that are present locally, are not known on GitHub, Travis will not be told about any of those events, and the tagged commits will not be built. -## I'm running out of disk space in my build +## Build running out of disk space Approximate available disk space is listed in the [build environment overview](/user/reference/overview/#virtualisation-environment-vs-operating-system). The best way to find out what is available on your specific image is to run `df -h` as part of your build script. If you need a bit more space in your Ubuntu builds, we recommend using `language: minimal`, which will route you to a base image with less tools and languages preinstalled. This image has approximately ~24GB of free space. -## Uploading artifacts to sonatype +## Upload artifacts to sonatype When publishing via the `nexus-staging-maven-plugin` to Sonatype OSS Repository, IP addresses used by TravisCI change due to our [NAT layer](https://travis-ci.com/blog/2018-07-23-the-tale-of-ftp-at-travis-ci). To get around this, please use a `stagingProfileId` as [explained in this document](https://travis-ci.community/t/sonatype-deployment-problems/1353/2?u=mzk). -## Travis CLI does not recognize my valid Github token +## Travis CLI does not recognize my valid GitHub token When using the [Travis CLI tool](https://github.com/travis-ci/travis.rb#readme) to interact with the Travis CI platform, if you receive an `insufficient_oauth_permissions` error or similar, please ensure the Github Token supplied via `--github-token` has **repo** scope as [explained in this document](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). -## Duplicate/Unknown job shows up in my build +## Unknown or Duplicate jobs in a build When specifying stages, users often unknowingly add an implicit job to the list of jobs in a stage using YAML that is otherwise syntactically correct. @@ -631,7 +631,9 @@ This creates only one job, _Peanut Butter and Bread_ under the stage named _Bre When adding custom setup instructions to a NodeJS build, add them in the `before_script` phase and not before _dependencies are installed_. The `before_script` phase is the safest place to add custom setup scripts. Symptoms of this problem include previously succeeding builds suddenly failing due to the addition of a new dependency. -## **Node**: NPM/YARN throw ***Error: connect ENETUNREACH*** or build hangs in the install phase i.e. `npm install` or `yarn install` for NodeJs versions 16+ on LXD images (ppc64le, arm64 and s390x) +## **Node**: NPM or YARN connect ENETUNREACH Error + +If using NPM or YARN, the ***Error: connect ENETUNREACH*** shows or the build hangs in the install phase, i.e., `npm install` or `yarn install` for NodeJs versions 16+ on LXD images (ppc64le, arm64, and s390x). This seems to be a known bug and the details can be reviewed at https://github.com/npm/cli/issues/4163. Add the following to resolve the issue: From 7de9ad5f9145279939f27b286002bbefb55ad865 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:30:31 -0400 Subject: [PATCH 116/178] Update gui-and-headless-browsers.md --- user/gui-and-headless-browsers.md | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/user/gui-and-headless-browsers.md b/user/gui-and-headless-browsers.md index 5ed1545daef..c908d5e6eaa 100644 --- a/user/gui-and-headless-browsers.md +++ b/user/gui-and-headless-browsers.md @@ -6,13 +6,11 @@ layout: en -## What This Guide Covers - This guide covers headless GUI & browser testing using tools provided by the Travis [CI environment](/user/reference/precise/). Most of the content is technology-neutral and does not cover all the details of specific testing tools (like Poltergeist or Capybara). We recommend you start with the [Onboarding](/user/onboarding/) and [Build Configuration](/user/customizing-the-build/) guides before reading this one. -## Using Sauce Labs +## Work with Sauce Labs -[Sauce Labs](https://saucelabs.com) provides a Selenium cloud with access to more than 170 different device/OS/browser combinations. If you have browser tests that use Selenium, using Sauce Labs to run the tests is very easy. First, you need to sign up for their service (it's free for open source projects). +[Sauce Labs](https://saucelabs.com) provides a Selenium cloud with access to more than 170 different device/OS/browser combinations. If you have browser tests that use Selenium, using Sauce Labs to run the tests is very easy. First, you need to sign up for their service (it's free for open-source projects). Once you've signed up, set up a tunnel using Sauce Connect so Sauce Labs can connect to your web server. Our [Sauce Connect addon](/user/sauce-connect/) makes this easy, just add this to your .travis.yml: @@ -51,14 +49,14 @@ capabilities["tags"] = [os.environ["TRAVIS_PYTHON_VERSION"], "CI"] For travis-web, our very own website, we use Sauce Labs to run browser tests on multiple browsers. We use environment variables in our [.travis.yml](https://github.com/travis-ci/travis-web/blob/15dc5ff92184db7044f0ce3aa451e57aea58ee19/.travis.yml#L14-15) to split up the build into multiple jobs, and then pass the desired browser into Sauce Labs using [desired capabilities](https://github.com/travis-ci/travis-web/blob/15dc5ff92184db7044f0ce3aa451e57aea58ee19/script/saucelabs.rb#L9-13). On the Travis CI side, it ends up looking like [this](https://travis-ci.org/travis-ci/travis-web/builds/12857641). -## Using xvfb to Run Tests That Require a GUI +## Run GUI Tests with xvfb To run tests requiring a graphical user interface on Travis CI, use `xvfb` (X Virtual Framebuffer) to imitate a display. If you need a browser, you can use Firefox (either with the pre-installed version, or the [addon](/user/firefox)) or Google Chrome (with the [addon](/user/chrome), on Linux Trusty or macOS). -### Using `services:` +### Use services: on your script > This only works on Ubuntu 16.04 (Xenial) and later on releases i.e. with `dist: xenial` or `dist: bionic` @@ -72,7 +70,7 @@ services: ``` {: data-file=".travis.yml"} -### Using the xvfb-run wrapper +### How to use the xvfb-run wrapper `xvfb-run` is a wrapper for invoking `xvfb` so that `xvfb` can be used with less fuss: @@ -89,7 +87,7 @@ script: xvfb-run --server-args="-screen 0 1024x768x24" make test ``` {: data-file=".travis.yml"} -### Using xvfb directly +### Direct use of xvfb > This is recommended on Ubuntu 14.04 (Trusty) i.e. with `dist: trusty`. For `dist: xenial`, use the `services` keyword described [above](/user/gui-and-headless-browsers/#using-services). @@ -121,7 +119,7 @@ before_install: See [xvfb manual page](http://www.xfree86.org/4.0.1/Xvfb.1.html) for more information. -### Starting a Web Server +### Start a Web Server @@ -148,10 +146,10 @@ Note that sudo is not available for builds that are running on the -## Using the [Chrome addon](/user/chrome) in the headless mode +## Headless mode with the Chrome addon Starting with version 57 for Linux Trusty and version 59 on macOS, Google Chrome can be used in "headless" -mode, which is suitable for driving browser-based tests using Selenium and other tools. +mode with the [Chrome addon](/user/chrome), which is suitable for driving browser-based tests using Selenium and other tools. > As of 2017-05-02, this means `stable` or `beta` on Linux builds, and `beta` on macOS builds. @@ -181,14 +179,14 @@ before_install: ``` {: data-file=".travis.yml"} -#### Documentation +### More Documentation * [Headless Chromium documentation](https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md) * [Getting Started with Headless Chrome](https://developers.google.com/web/updates/2017/04/headless-chrome) -## Using the [Firefox addon](/user/firefox) in headless mode +## Headless mode with the Firefox addon -Starting with version 56, Firefox can be used in "headless" mode, which is +Starting with version 56, Firefox can be used in "headless" mode with the [Firefox addon](/user/firefox), which is suitable for driving browser-based tests using Selenium and other tools. Headless mode can be enabled using the `MOZ_HEADLESS` [environment variable](/user/environment-variables/): @@ -215,12 +213,12 @@ options.add_argument('-headless') firefox = Firefox(firefox_options=options) ``` -#### Documentation +### More Documentation * [Using headless mode](https://developer.mozilla.org/en-US/Firefox/Headless_mode#Using_headless_mode) * [Automated testing with headless mode](https://developer.mozilla.org/en-US/Firefox/Headless_mode#Automated_testing_with_headless_mode) -## Using PhantomJS +## Use PhantomJS [PhantomJS](http://phantomjs.org/) is a headless WebKit with JavaScript API. It is an optimal solution for fast headless testing, site scraping, pages capture, SVG renderer, network monitoring and many other use cases. @@ -237,12 +235,14 @@ If you need a web server to serve the tests, see the previous section. ## Examples +The following are a series of examples. + ### Real World Projects - [Ember.js](https://github.com/emberjs/ember-mocha/blob/master/.travis.yml) (starts web server programmatically) - [Sproutcore](https://github.com/sproutcore/sproutcore/blob/master/.travis.yml) (starts web server with *before_script*) -### Ruby +### Ruby Example #### RSpec, Jasmine, Cucumber From 9d32506342e524b269e1b135d7e4878085a1a008 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:34:58 -0400 Subject: [PATCH 117/178] Update speeding-up-the-build.md --- user/speeding-up-the-build.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/user/speeding-up-the-build.md b/user/speeding-up-the-build.md index 6d81b51a480..bf2c2c2a6e1 100644 --- a/user/speeding-up-the-build.md +++ b/user/speeding-up-the-build.md @@ -1,15 +1,15 @@ --- -title: Speeding up the build +title: Speed up the build layout: en --- Travis CI implements a few optimizations which help to speed up your build, -like in memory filesystem for DB's files, but there is a range of things +like in-memory filesystem for DB's files, but there is a range of things that can be done to improve build times even more. -## Parallelizing your Builds across Virtual Machines +## Parallelize Builds across Virtual Machines To speed up a test suite, you can break it up into several parts using Travis CI's [build @@ -71,7 +71,7 @@ actionmailer, activesupport and a whole bunch of sets run the activerecord tests against multiple databases. See their [.travis.yml file](https://github.com/rails/rails/blob/master/.travis.yml) for more examples. -## Parallelizing your Build on One Virtual Machine +## Parallelize a Build on a single Virtual Machine Parallelizing the test suite on one virtual machine depends on the language and test runner: @@ -81,11 +81,11 @@ Parallelizing the test suite on one virtual machine depends on the language and To give you an idea of the speedup we are talking about, I've tried to run tests in parallel on `travis-core` and I was able to see a drop from about 26 minutes to about 19 minutes across 4 jobs. -## Parallelizing RSpec, Cucumber and Minitest on Multiple VMs +## Parallelize RSpec, Cucumber, and Minitest on Multiple VMs -If you want to parallel tests for RSpec, Cucumber or Minitest on multiple VMs to get faster feedback from CI, you can try [knapsack](https://github.com/ArturT/knapsack) gem. It will split tests across virtual machines and make sure that tests will run a comparable time on each VM (each job will take similar time). You can use our matrix feature to set up knapsack. +If you want to perform parallel tests for RSpec, Cucumber, or Minitest on multiple VMs to get faster feedback from CI, you can try [knapsack](https://github.com/ArturT/knapsack) gem. It will split tests across virtual machines and make sure that tests will run a comparable time on each VM (each job will take similar time). You can use our matrix feature to set up knapsack. -### RSpec Parallelization example +### RSpec Parallelization Example ```yaml script: "bundle exec rake knapsack:rspec" @@ -106,7 +106,7 @@ MY_GLOBAL_VAR=123 CI_NODE_TOTAL=2 CI_NODE_INDEX=0 MY_GLOBAL_VAR=123 CI_NODE_TOTAL=2 CI_NODE_INDEX=1 ``` -### Cucumber Parallelization example +### Cucumber Parallelization Example ```yaml script: "bundle exec rake knapsack:cucumber" @@ -119,7 +119,7 @@ env: ``` {: data-file=".travis.yml"} -### Minitest Parallelization example +### Minitest Parallelization Example ```yaml script: "bundle exec rake knapsack:minitest" @@ -132,9 +132,9 @@ env: ``` {: data-file=".travis.yml"} -### RSpec, Cucumber and Minitest Parallelization example +### RSpec, Cucumber, and Minitest Parallelization Example -If you want to parallelize a test suite for RSpec, Cucumber and Minitest at the same time, define script in `.travis.yml` as follows: +If you want to parallelize a test suite for RSpec, Cucumber, and Minitest at the same time, define script in `.travis.yml` as follows: ```yaml script: @@ -155,13 +155,13 @@ You can either use our [built-in caching](/user/caching/) or roll your own on S3 want to roll your own and you use Ruby with Bundler, check out [the great WAD project](https://github.com/Fingertips/WAD). For other languages, you can use s3 tools directly to upload and download the dependencies. -## Environment-Specific Ways to Speed up your Build +## Environment-Specific Ways to Speed up a Build In addition to the optimizations implemented by Travis, there are also several environment-specific ways you may consider to increase the speed of your tests. -### PHP optimizations +### PHP Optimizations PHP VM images on Travis CI provide several PHP versions which include XDebug. The XDebug extension is useful, if you wish to generate code coverage @@ -176,7 +176,7 @@ builds if: - you are testing on PHP 7.0 or above and are able to use the [PHP Debugger (phpdbg)](https://github.com/krakjoe/phpdbg) which may be faster. -#### Using phpdbg example +#### phpdbg Example ```yaml before_script: @@ -188,7 +188,7 @@ script: ``` {: data-file=".travis.yml"} -### Makefile optimization +### Makefile Optimization If your makefile build consists of independent parts that can be safely parallelized, you can [run multiple recipes @@ -200,7 +200,7 @@ similar number (or slightly higher if your build frequently waits on disk I/O). > Note that doing this will cause concurrent recipe output to become interleaved. -#### Makefile parallelization example +#### Makefile Parallelization Example ```yaml env: From eb40f9919a837f0dc58fa3841e633306dd49d643 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:45:39 -0400 Subject: [PATCH 118/178] Update apps.md --- user/apps.md | 66 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/user/apps.md b/user/apps.md index fe83a7125d9..04b58987790 100644 --- a/user/apps.md +++ b/user/apps.md @@ -1,5 +1,5 @@ --- -title: Apps, Clients and Tools +title: Apps, Clients, and Tools layout: en --- @@ -16,12 +16,12 @@ There is a wide range of tools you can use to interact with Travis CI: And if you don't find anything that fits your needs, you can also interact with our [API](/api/) directly. -Note however that Travis CI can not take any responsibility of for third-party tools you might use. - -# Websites {#websites} +However, Travis CI cannot take any responsibility for third-party tools you might use. ## Full Web Clients +This section shows the full web client apps that are available. + ### Travis CI Web Client ![travis-web](/images/apps/travis-web.jpg){:.app}{:.official} @@ -34,6 +34,8 @@ Our official web interface, written in [Ember.js](http://www.emberjs.com) ## Dashboards +This section shows the different available dashboard apps. + ### TravisLight ![travis-light](/images/apps/travis-light.jpg){:.app} @@ -112,6 +114,8 @@ By Workshop 64 ## Tools +This section shows available tools. + ### Travis Web Encrypter ![travis-encrypt](/images/apps/travis-encrypt.jpg){:.app} @@ -124,11 +128,9 @@ By Konstantin Haase
-# Mobile Applications +## Android Mobile Applications -## Android - -### Siren of Shame (Android) +### Siren of Shame ![Siren of Shame](/images/apps/siren-android.jpg){:.app} @@ -138,7 +140,7 @@ By Automated Architecture - [website](http://sirenofshame.com/) - [play store](https://play.google.com/store/apps/details?id=com.automatedarchitecture.sirenofshame2) -## iOS +## iOS Mobile Applications ### Jarvis @@ -160,7 +162,7 @@ By Dimitri Roche - [app store](https://itunes.apple.com/us/app/project-monitor/id857272990) - [source code](https://github.com/dimroc/iOS.ProjectMonitor) -### Siren of Shame (iOS) +### Siren of Shame ![Siren of Shame](/images/apps/siren-ios.jpg){:.app} @@ -170,7 +172,7 @@ By Automated Architecture - [website](http://sirenofshame.com/) - [app store](https://itunes.apple.com/us/app/siren-of-shame/id637677118) -## Windows Phone +## Windows Mobile Applications ### Travis7 @@ -181,7 +183,7 @@ By Tim Felgentreff - [website](http://travis7.codeplex.com/) -# Desktop +## Desktop If you are looking for **desktop notifications**, our command line client [supports them](https://github.com/travis-ci/travis.rb#monitor). @@ -232,9 +234,7 @@ By catlight.io -# Command Line Tools - -## Full Clients +## Command Line Tools - Full Clients ### Travis CLI @@ -250,7 +250,7 @@ Command line client for PowerShell - [website](https://github.com/felixfbecker/PSTravis#readme) -## Build Monitoring +## Command Line Tools - Build Monitoring ### Bickle @@ -297,7 +297,7 @@ By Henry Ruhs - [website](https://github.com/redaxmedia/chroma-feedback) -## Generators +## Command Line Tools - Generators ### travis-encrypt @@ -335,9 +335,7 @@ By James Halliday - [website](https://github.com/substack/travisify) -# Plugins - -## Google Chrome +## Google Chrome Plugins ### My Travis @@ -362,11 +360,11 @@ By Tomas Carnecky ![chrome-github-status](/images/apps/chrome-github-status.jpg){:.app} Display build status next to project name on GitHub
-By excellenteasy +By excellent easy - [website](https://chrome.google.com/webstore/detail/github-status/mgbkbopoincdiimlleifbpfjfhcndahp) -## Opera +## Opera Plugins ### GitHub+Travis @@ -377,7 +375,7 @@ By smasty - [website](https://addons.opera.com/en/extensions/details/travisgithub/) -## Editors +## Editor Plugins ### Atom Plugin @@ -416,7 +414,7 @@ By Keith Smiley - [website](https://github.com/Keithbsmiley/travis.vim) -## Other +## Other Plugins ### git-travis @@ -445,9 +443,11 @@ By Sankarsan Kampa - [website](https://github.com/DiscordHooks/travis-ci-discord-webhook) -# Libraries +## Libraries + +The following section shows the different available libraries. -## Ruby +### Ruby - [travis.rb](https://github.com/travis-ci/travis.rb) **(official)** - [trav3](https://github.com/danielpclark/trav3) by Daniel P. Clark @@ -456,7 +456,7 @@ By Sankarsan Kampa - [Knapsack](https://github.com/ArturT/knapsack) by Artur Trzop -## JavaScript +### JavaScript - [travis-ci](https://github.com/pwmckenna/node-travis-ci) by Patrick Williams - [node-travis-ci](https://github.com/mmalecki/node-travis-ci) by Maciej Małecki @@ -465,25 +465,25 @@ By Sankarsan Kampa - [ee-travis](https://github.com/eventEmitter/ee-travis) by Michael van der Weg - [Favis CI](https://github.com/jaunesarmiento/favis-ci) by Jaune Sarmiento -## PHP +### PHP - [php-travis-client](https://github.com/l3l0/php-travis-client) by Leszek Prabucki -## Python +### Python - [TravisPy](http://travispy.readthedocs.org/en/latest/) by Fabio Menegazzo -## PowerShell +### PowerShell - [PSTravis](https://github.com/felixfbecker/PSTravis) by Felix Becker -## Elixir +### Elixir - [travis.ex](https://github.com/localytics/travis.ex) by Kevin Deisz -## R +### R - [travis](https://github.com/ropenscilabs/travis) by Kirill Müller -## Go +### Go - [go-travis](https://github.com/shuheiktgw/go-travis) by Shuhei Kitagawa From 675d08684ef662bedb45eb2dd199993ddc9bc946 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:40:12 -0400 Subject: [PATCH 119/178] Update build-config-yaml.md --- user/build-config-yaml.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/build-config-yaml.md b/user/build-config-yaml.md index 6b2ab179972..821a95fe2f9 100644 --- a/user/build-config-yaml.md +++ b/user/build-config-yaml.md @@ -1,5 +1,5 @@ --- -title: Using YAML as a build configuration language +title: Use YAML as a build configuration language layout: en --- @@ -11,7 +11,7 @@ imported using the [Build Config Imports](/user//) feature. This page documents a few noteworthy pieces of information about how Travis CI uses YAML. -## Usage of YAML anchors and aliases +## YAML anchors and aliases In more advanced use cases, in order to reduce repetition in large build config files a good practice is to use YAML's mechanism of defining and reusing shared @@ -50,10 +50,10 @@ deploy: branch: staging ``` -## Private keys as YAML anchors and aliases and external tooling +## Private keys as YAML anchors, aliases, and external tooling -In some cases it might be better to define a shared piece of YAML config in a -different place than where it is going to be used, e.g. in order to increase +In some cases, it might be better to define a shared piece of YAML config in a +different place than where it is going to be used, e.g., in order to increase readability. For example, one might define several jobs by reusing a shared portion of @@ -92,7 +92,7 @@ quoting version numbers so the YAML parser would interpret them as strings. is active for the given repository. For example, specifying a Node.js version as `node_js: 9.10` would have been -parsed into `9.0`, not matching the intended version. As a solution we would +parsed into `9.0`, not matching the intended version. As a solution, we would have recommended specifying `node_js: "9.10"` instead. With the introduction of a new YAML parser as part of the [Build Config Validation](/user/build-config-validation/) From 655b130071e41a73edf809ea8f57d5a2c8f62aed Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:40:33 -0400 Subject: [PATCH 120/178] Update build-hacks.md --- user/build-hacks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/build-hacks.md b/user/build-hacks.md index 1f5b631f5f5..77ab87fdc35 100644 --- a/user/build-hacks.md +++ b/user/build-hacks.md @@ -6,7 +6,7 @@ layout: en -## Update/Downgrade Maven +## Update or Downgrade Maven The newer Maven isn't always stable compared to previous ones, potentially breaking plugins, This script downloads and installs the latest 3.1.1 release From 14654c296c04d9eac5219b964a1bbd74ec5401de Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:41:38 -0400 Subject: [PATCH 121/178] Update chrome.md --- user/chrome.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user/chrome.md b/user/chrome.md index 2d397656bc6..89312297edb 100644 --- a/user/chrome.md +++ b/user/chrome.md @@ -10,9 +10,9 @@ This addon supports both, Linux and [macOS](/user/reference/osx/) [build environ > For Linux, you must be running on [Ubuntu Xenial 16.04](https://docs.travis-ci.com/user/reference/xenial/) or later build environments. -## Selecting a Chrome version +## Select a Chrome version -You can install the `stable` or the `beta` version of Chrome but you can't select a specific numeric version. +You can install the `stable` or the `beta` version of Chrome, but you can't select a specific numeric version. ```yaml addons: @@ -35,7 +35,7 @@ In that case, you may see an error message like this: ``` 30 11 2017 13:35:42.245:ERROR [launcher]: Cannot start Chrome - [4315:4315:1130/133541.781662:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /opt/google/chrome/chrome-sandbox is owned by root and has mode 4755. + [4315:4315:1130/133541.781662:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing, I'm aborting now. You need to make sure that /opt/google/chrome/chrome-sandbox is owned by root and has mode 4755. ``` or like this: From fc779be6cf165a2dbb97fae96401f09462f6d0fd Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:42:34 -0400 Subject: [PATCH 122/178] Update deployment-v2.md From 29e109597a7ee8517c47b9c940904c25b8fa8e59 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:43:52 -0400 Subject: [PATCH 123/178] Update conditions-v0.md --- user/conditions-v0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/conditions-v0.md b/user/conditions-v0.md index 8a2fa0f9f07..17484e924b4 100644 --- a/user/conditions-v0.md +++ b/user/conditions-v0.md @@ -12,7 +12,7 @@ specifying conditions in your build configuration (your `.travis.yml` file). See [Conditional Builds, Stages, and Jobs](/user/conditional-builds-stages-jobs/) for details. -## Specifying conditions +## Specify conditions The condition can be specified using a boolean language as follows: @@ -29,9 +29,9 @@ A term is defined as: All keywords (such as `AND`, `OR`, `NOT`, `IN`, `IS`, attributes, and functions) are case-insensitive. -### Left hand side +### Left-hand side -The left hand side part can either be a known attribute or a function call. +The left-hand side part can either be a known attribute or a function call. Known attributes are: @@ -52,7 +52,7 @@ The function `env` currently only supports environment variables that are given in your build configuration (e.g. on `env` or `env.global`), not environment variables specified in your repository settings. -### Right hand side +### Right-hand side It is currently not possible to compare function calls. This means that if you try to evaluate something similar to: From 16d758e0178db5e8eeb9d9b3a84def7d024635ce Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:45:31 -0400 Subject: [PATCH 124/178] Update firefox.md --- user/firefox.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/firefox.md b/user/firefox.md index 82bd5730e35..52b550eae46 100644 --- a/user/firefox.md +++ b/user/firefox.md @@ -9,7 +9,7 @@ Our 64-bit Linux VMs include a version of Firefox. While Firefox is not pre-installed on macOS images, you can use this addon to set it up for use on your builds. -## Selecting a Firefox version +## Select a Firefox version To install a specific version of Firefox, you can use the Firefox addon. The addon will download and install Firefox before running your build script. @@ -36,4 +36,4 @@ In addition to specific version numbers, there are 6 special aliases you can use The `latest-unsigned` binary is an unbranded build, suitable for [Add-ons/Extensions Signing](https://wiki.mozilla.org/Addons/Extension_Signing#Unbranded_Builds). -For more information visit the [Mozilla Wiki](https://wiki.mozilla.org/Firefox/Channels#Developer_Edition_.28aka_Aurora.29). +For more information, visit the [Mozilla Wiki](https://wiki.mozilla.org/Firefox/Channels#Developer_Edition_.28aka_Aurora.29). From 11ad88657a8c142ffefddce08550e4aa10b488a1 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:49:34 -0400 Subject: [PATCH 125/178] Update running-build-in-debug-mode.md --- user/running-build-in-debug-mode.md | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/user/running-build-in-debug-mode.md b/user/running-build-in-debug-mode.md index 8af6862de88..0ef822db9dc 100644 --- a/user/running-build-in-debug-mode.md +++ b/user/running-build-in-debug-mode.md @@ -1,5 +1,5 @@ --- -title: Running Build in Debug Mode +title: Run Builds in Debug Mode layout: en --- @@ -13,7 +13,7 @@ significant differences between your local development environment and the Travis CI build environment, you can restart builds in debug mode to get shell access to the virtual machine or container. -## Enabling debug mode +## Enable debug mode Private repositories have debug mode enabled by default, and no changes need to be made. To limit access to debug, grant users only *read access* to the repo, and use a fork + PR workflow. @@ -21,7 +21,7 @@ For public repositories, we have to enable it on a repository basis. To enable debug for your public repositories, please email us at support@travis-ci.com and let us know which repositories you want activated. -## Restarting a job in debug mode +## Restart a job in debug mode The "Debug build" or "Debug job" button is available on the upper right corner of the build and job pages for private repositories. For open source repositories, @@ -29,7 +29,7 @@ this button is not available and you will need to use an API call instead. ![Screenshot of debug build/job buttons](/images/debug_buttons.png) -### Restarting a job in debug mode via API +### Restart a job in debug mode via API To restart a job in debug mode via API, send a `POST` request to the job's `debug` endpoint. This request needs to be authenticated by adding your [Travis CI API token](/user/triggering-builds/) @@ -70,7 +70,7 @@ $ curl -s -X POST \ https://api.travis-ci.org/job/${id}/debug ``` -#### Finding the job ID +#### Find the job ID The `${id}` is a job ID, not a build ID. For example, the ID `248927956` in the URL [`https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/248927956`](https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/248927956) is a build ID. To obtain the corresponding job ID, click the _View config_ button on that page, and the URL will change into [`https://travis-ci.org/travis-ci/docs-travis-ci-com/jobs/248927957/config`](https://travis-ci.org/travis-ci/docs-travis-ci-com/jobs/248927957/config), showing the job ID `248927957`. Alternatively, you can obtain job IDs corresponding to a build ID [via the API](https://docs.travis-ci.com/api/#builds). @@ -79,10 +79,10 @@ The `${id}` is a job ID, not a build ID. For example, the ID `248927956` in the To show any command input and output you see while connected to the VM running in the debug mode, pass an empty JSON object (`{}`) in the payload instead. -## Connecting to the job running in the debug mode +## Connect to the job running in the debug mode When the job starts in the debug mode, it will go through the initial steps, including setting up language -run times and caches (if applicable) and installing debug utilities. +run times and caches (if applicable) and install debug utilities. When it is ready for your connection, you will see: @@ -140,7 +140,7 @@ Permission denied (publickey). If you see this, run the command `ssh-keygen` (go through the prompts), and try again. -## Things to do once you are inside the debug VM +## Things to do once inside the debug VM Once inside the debug VM, you are able to explore. @@ -148,7 +148,7 @@ You are in a [`tmate`](https://tmate.io/) session, at the point where your `before_install` (even if it is not defined) phase is about to start. -### Convenience `bash` functions +### Convenience bash functions Various build phases are defined in convenience `bash` functions named `travis_run_*` (e.g., `travis_run_before_install`, `travis_run_install`). @@ -185,7 +185,7 @@ travis_run_script () ``` `travis_cmd` basically executes the string argument (with escaped white spaces in the example above) and adds some decorations so that the output looks nice. In the debug sessions, you can run the string argument (unescaped) instead. -### Basic `tmate` features +### Basic tmate features `tmate` is a fork of [`tmux`](https://tmux.github.io/). Your debug VM session uses the default configuration; thus, the command prefix is @@ -193,7 +193,7 @@ Your debug VM session uses the default configuration; thus, the command prefix i A subset of functionalities are available for you in this debug session. -#### Creating a new window +#### Create a new window ``` ctrl-b c @@ -202,7 +202,7 @@ ctrl-b c The first window is indexed 0. So repeating command will give you windows 1, 2, and so on. -#### Switching to a different window +#### Switch to a different window ``` ctrl-b 0 @@ -227,7 +227,7 @@ Switch to the previous window. Switching between windows can be helpful if you want to run long-running process in one window while looking at the debug VM in another. -#### Scrolling up and down the terminal history +#### Scroll up and down the terminal history ``` ctrl-b [ @@ -238,7 +238,7 @@ log history. Press `q` to exit the log scroll mode. -### Capturing the debug session output +### Capture the debug session output Before you end the debug session, you may wish to copy the output. By default, when you exit your `tmate` session the terminal is cleared immediately, without a chance to save it. @@ -254,7 +254,7 @@ In order to save the output, follow these steps: 1. cancel the debug session from the web UI (this leaves the job in "Canceled" state regardless of the result of the previous execution), or 1. open a new window (`ctrl-b c`), kill the first window (`tmate killw -t 0`), and exit the new window (`exit`). -### Getting out of the debug VM +### Get out of the debug VM Once you exit from all the live `tmate` windows, the debug VM will terminate after resetting the job's status to the original status before you restarted it. @@ -262,7 +262,7 @@ No more phases (`before_install`, `install`, etc.) will be executed. ## Known issues -### In a Node.js debug session, the `node` and `npm` versions differ from what is defined in the configuration +### In a Node.js debug session, the node and npm versions differ from what is defined in the configuration To set up the debug environment in the same ways as the Node.js job, run the following command when you log in to your debug session before @@ -271,7 +271,7 @@ executing any other command: ``` nvm install $TRAVIS_NODE_VERSION ``` -### If the debug VM crashes when running one of the `travis_run_*` functions +### If the debug VM crashes when running one of the travis_run_* functions If your debug build crashes when running any of the specified commands, we suggest narrowing down the issue as follows: From ffc50f10ebb97fafdcc062d74293293071900570 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:51:10 -0400 Subject: [PATCH 126/178] Update private-dependencies-gl.md --- user/private-dependencies-gl.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/private-dependencies-gl.md b/user/private-dependencies-gl.md index 93306d3112b..0dd36d74a70 100644 --- a/user/private-dependencies-gl.md +++ b/user/private-dependencies-gl.md @@ -18,7 +18,7 @@ either the [Deploy Key](#deploy-key) or [User Key](#user-key) method. If the dependency is also on GitLab, there are several different ways of fetching the repository from within a Travis CI VM. Each one has advantages and -disavantages, so read each method carefully and pick the one that applies best +disadvantages, so read each method carefully and pick the one that applies best to your situation. | Authentication | Protocol | Dependency URL format | Gives access to | Notes | @@ -30,7 +30,7 @@ to your situation. You can use a [dedicated CI user account](#dedicated-user-account) for all but the deploy key approach. This allows you to limit access to a well defined list -of repositories, and make sure that access is read only. +of repositories, and make sure that access is read-only. ## Deploy Key @@ -38,7 +38,7 @@ GitLab allows you to set up SSH keys for a repository. These deploy keys have so - They are not bound to a user account, so they will not get invalidated by removing users from a repository. - They do not give access to other, unrelated repositories. -- The same key can be used for dependencies not stored on GitLab. +- The same key can be used for dependencies that are not stored on GitLab. However, using deploy keys is complicated by the fact that GitLab does not allow you to reuse keys. So a single private key cannot access multiple GitLab repositories. @@ -151,7 +151,7 @@ before_install: ``` {: data-file=".travis.yml"} -It is also possible to inject the token into URLs, for instance, in a Gemfile, it would look like this: +It is also possible to inject the token into URLs. For instance, in a Gemfile, it would look like this: ```ruby source 'https://rubygems.org' @@ -169,10 +169,10 @@ gem 'lib1', gitlab: "myorg/lib1" gem 'lib2', gitlab: "myorg/lib2" ``` -> In case of private git submodules, be aware that the `git submodule +> In the case of private git submodules, be aware that the `git submodule > update --init --recursive` command runs before the `~/.netrc` credentials > are updated. If you are writing credentials to `~/.netrc`, disable the automatic loading of -> submodules, update the credentials and add an explicit step to update the submodules: +> submodules, update the credentials, and add an explicit step to update the submodules: > > ```yaml > git: From a8e09ce205143161fdecc4cfb9281be8262dc661 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:51:45 -0400 Subject: [PATCH 127/178] Update private-dependencies-assembla.md --- user/private-dependencies-assembla.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/private-dependencies-assembla.md b/user/private-dependencies-assembla.md index ff38973f9ae..dab4c48a09c 100644 --- a/user/private-dependencies-assembla.md +++ b/user/private-dependencies-assembla.md @@ -18,7 +18,7 @@ either the [Deploy Key](#deploy-key) or [User Key](#user-key) method. If the dependency is also on Assembla, there are several different ways of fetching the repository from within a Travis CI VM. Each one has advantages and -disavantages, so read each method carefully and pick the one that applies best +disadvantages, so read each method carefully and pick the one that applies best to your situation. | Authentication | Protocol | Dependency URL format | Gives access to | Notes | @@ -30,7 +30,7 @@ to your situation. You can use a [dedicated CI user account](#dedicated-user-account) for all but the deploy key approach. This allows you to limit access to a well defined list -of repositories, and make sure that access is read only. +of repositories, and make sure that access is read-only. ## Deploy Key From db3b92a10f10a4c0de5388eeef0eb8a52bc560b2 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:52:41 -0400 Subject: [PATCH 128/178] Update multi-platform-login.md --- user/multi-platform-login.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/multi-platform-login.md b/user/multi-platform-login.md index 5f2171d6fcf..2556cca1aef 100644 --- a/user/multi-platform-login.md +++ b/user/multi-platform-login.md @@ -10,11 +10,11 @@ You can now log into Travis CI using several accounts from our supported platfor > For Travis CI being able to recognize all your accounts, you have to log in on the provider website and then add the account on [Travis CI](travis-ci.com/signin). -## Adding Accounts +## Add Accounts You can add more accounts to Travis CI by using either the Sign-in page or the user menu. -### Adding accounts using the Sign-in page +### Add accounts using the Sign-in page To add more accounts: @@ -23,7 +23,7 @@ To add more accounts: 3. Go to the Travis CI Sign-in page. 4. Click **Sign In with GitHub/Bitbucket/GitLab/Assembla** on the sign-in page. Your account is stored and you can now switch between the different accounts in Travis CI. -### Adding accounts using the user menu +### Add accounts using the user menu To add more accounts: @@ -31,20 +31,20 @@ To add more accounts: 2. Click the **Add an account** link at the bottom of the menu. The Sign-in page appears displaying all your accounts. 3. Click **Sign In with ** and your account is added. -## Switching Accounts +## Switch Accounts > You have to add accounts first, then you can switch between them. You can switch between accounts by using either the Sign-in page or the user menu where your available accounts are listed. -### Switching accounts using the user menu +### Switch accounts using the user menu To switch between accounts: 1. Click on your user icon in the top right corner of [Travis CI](travis-ci.com). Under *Switch accounts* all available accounts for this user are displayed. 2. Select the desired account. -### Switching accounts using the Sign-in page +### Switch accounts using the Sign-in page To switch between accounts: 1. Sign out of [Travis CI](travis-ci.com). From 32899f8cc7009141048289bac42ff15352616036 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:54:44 -0400 Subject: [PATCH 129/178] Update open_source_license.md --- user/open_source_license.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/user/open_source_license.md b/user/open_source_license.md index d816e0b8965..2c6856a993b 100644 --- a/user/open_source_license.md +++ b/user/open_source_license.md @@ -8,8 +8,8 @@ Travis CI relies on multiple Open-Source modules and frameworks. The respective The Travis CI [web application](https://app.travis-ci.com), running in your browsers (which may satisfy 'distributing Software' according to the legal assessment), relies on the EmberJS framework. Particular EmberJS framework version used by Travis CI is licensed as follows: -# MIT Licenses -## EmberJS MIT License +## MIT Licenses +### EmberJS MIT License **Copyright (c) 2011 Yehuda Katz, Tom Dale, and Ember.js contributors.** @@ -21,7 +21,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Terser-webpack-plugin MIT License +### Terser-webpack-plugin MIT License **Copyright JS Foundation and other contributors.** @@ -38,7 +38,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Webpack MIT License +### Webpack MIT License **Copyright JS Foundation and other contributors.** @@ -55,7 +55,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## ts-loader MIT License +### ts-loader MIT License **Copyright (c) 2015-present TypeStrong.** @@ -72,7 +72,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Webpack-cli MIT License +### Webpack-cli MIT License **Copyright JS Foundation and other contributors.** @@ -89,7 +89,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## @types/node MIT License +### @types/node MIT License **This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file.** @@ -106,7 +106,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Markdown-it MIT License +### Markdown-it MIT License **Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.** @@ -123,7 +123,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Markdown-it-code-copy MIT License +### Markdown-it-code-copy MIT License **Copyright (c) 2020 DCsunset.** @@ -140,7 +140,7 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE -## Tiny-markdown-editor MIT License +### Tiny-markdown-editor MIT License **Copyright (c) 2020 Jens-Fabian Goetzmann.** @@ -156,8 +156,8 @@ copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# BSD Licenses -## HighlightJS BSD License +## BSD Licenses +### HighlightJS BSD License **BSD 3-Clause License** @@ -176,8 +176,8 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# Apache Licenses -## TypeScript Apache License +## Apache Licenses +### TypeScript Apache License **Apache License** From ee4eaa4438fd264a2ef31bf5bbe66322a8b87036 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:55:17 -0400 Subject: [PATCH 130/178] Update overview.md --- user/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/overview.md b/user/overview.md index 86875d7a4f0..4eced336060 100644 --- a/user/overview.md +++ b/user/overview.md @@ -7,7 +7,7 @@ layout: en ### Travis CI Overview Travis CI is a hosted continuous integration service. It is integrated with -GitHub and offers first class support for many programming languages and +GitHub and offers first-class support for many programming languages and hosting environments. Travis CI's build environment provides different runtimes for different From 2eeae20b8885b5133d2004684ac4b471561cdb14 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:56:13 -0400 Subject: [PATCH 131/178] Update precise-to-trusty-migration-guide.md --- user/precise-to-trusty-migration-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/precise-to-trusty-migration-guide.md b/user/precise-to-trusty-migration-guide.md index 7057242b963..d80a9e080fc 100644 --- a/user/precise-to-trusty-migration-guide.md +++ b/user/precise-to-trusty-migration-guide.md @@ -3,8 +3,8 @@ title: Ubuntu Precise to Ubuntu Trusty Migration Guide layout: en --- -As of July, 18th 2017, we're switching the default Linux distribution on Travis CI from Ubuntu Precise 12.04 LTS to -Ubuntu Trusty 14.04 LTS. Here are the most common issues our customers ran into and how you can fix them. +As of July 18th, 2017, we're switching the default Linux distribution on Travis CI from Ubuntu Precise 12.04 LTS to +Ubuntu Trusty 14.04 LTS. Here are the most common issues our customers run into and how you can fix them. > If you’d like to stay on Ubuntu Precise or need more time to set up your repository with Ubuntu Trusty, please explicitly set `dist: precise` in your .travis.yml file as soon as possible. @@ -17,12 +17,12 @@ Some of the APT Packages available in Ubuntu Precise are no longer available in ## Oracle JDK 7 availability -Oracle JDK 7 (i.e. `jdk: oraclejdk7`) is unfortunately no longer available in Ubuntu Trusty. The current workarounds are the following: +Oracle JDK 7 (i.e., `jdk: oraclejdk7`) is unfortunately no longer available in Ubuntu Trusty. The current workarounds are the following: 1. If it's an option for you, Open JDK 7 is still available. You can use it in your builds by adding the following in your .travis.yml file: `jdk: openjdk7` 1. Stay on Ubuntu Precise by explicitly setting `dist: precise` in your .travis.yml file. -## Need Help? +## Contact Support Please feel free to contact us via our [support](mailto:support@travis-ci.com?subject=Issues%20migrating%20my%20build%20to%20Trusty) email address, or create a [GitHub issue](https://github.com/travis-ci/travis-ci/issues/new?title=Issues%20migrating%20my%20build%20to%20Trusty&body=Hi%20everyone!%20**links%20to%20the%20build%20on%20Precise%20and%20Trusty). From 331f5d6ead8309d3df4b3f1a259ff6371989b17d Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:57:07 -0400 Subject: [PATCH 132/178] Update hostname.md --- user/hostname.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/hostname.md b/user/hostname.md index b820fc413ca..f496d831461 100644 --- a/user/hostname.md +++ b/user/hostname.md @@ -13,4 +13,4 @@ addons: This is useful when your processes require a short hostname. For example, [OpenJDK 6 and OpenJDK 7 processes will encounter -buffer overflows when the host name is too long](https://github.com/travis-ci/travis-ci/issues/5227). +buffer overflows when the hostname is too long](https://github.com/travis-ci/travis-ci/issues/5227). From de8c94cd6ee3f2f9c79e620fc620c65d92c2f42b Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:58:09 -0400 Subject: [PATCH 133/178] Update ibm-power.md --- user/ibm-power.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/ibm-power.md b/user/ibm-power.md index 5dcbb6cea9c..227e6ecf893 100644 --- a/user/ibm-power.md +++ b/user/ibm-power.md @@ -13,11 +13,11 @@ layout: en _TODO_ -## How do I test on IBM POWER? +## Test on IBM POWER _TODO_ -## What features are available on IBM POWER? +## IBM POWER Features ## Examples From 2b63a9adcc7a9c1809a745b7033c16dd2e803243 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 07:59:27 -0400 Subject: [PATCH 134/178] Update jwt.md --- user/jwt.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/user/jwt.md b/user/jwt.md index fe056f34404..68812e292ac 100644 --- a/user/jwt.md +++ b/user/jwt.md @@ -12,18 +12,18 @@ Integration between Travis-CI and third-party services like Sauce Labs relies on [encrypted variables](/user/environment-variables/#encrypting-environment-variables) which works well for trusted branches and committers. For security reasons, encrypted variables are not exposed to untrusted pull requests, -so builds of pull requests do not have access to third party integrations. +so builds of pull requests do not have access to third-party integrations. The JWT addon replaces encrypted variables with a time-limited authentication token, which is exposed to pull requests without security consequences. For this to work the JWT addon needs to be enabled in the `.travis.yml` file, -and the third-party need to have integrated with the JWT service and allow +and the third-party needs to have integrated with the JWT service and allow token-based authentication. JWT Travis Flow Diagram -### .travis.yml +### .travis.yml file Add the encrypted key to the `jwt` section of the `.travis.yml` file. This can be done manually or using the `travis encrypt` command @@ -67,7 +67,7 @@ environment variables containing the JWT tokens instead of the original values. For example, using the previous configuration `SAUCE_ACCESS_KEY` and `THIRDPARTY_SHARED_SECRET` will be available as environment variables. -### How secure is this addon? +### Secure the addon The JWT token is only valid for 90 minutes. It is signed in a way that lets you securely transmit your secret information without worrying that it is leaked. @@ -106,7 +106,7 @@ Where: - `exp` will be when the token expires (now + 5400 seconds, so 90 minutes) - `iat` is the issued at time (now) -### Third Party Service Provider Code Sample +### Third-Party Service Provider Code Sample A code sample which illustrates how to add JWT token authentication to third party services. @@ -125,7 +125,7 @@ The HTTP BASIC AUTH header's payload is base64 encoded which will decode to stri johndoe:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ0cmF2aXMtY2kub3JnIiwic2x1ZyI6InRyYXZpcy1jaS90cmF2aXMtY2kiLCJwdWxsLXJlcXVlc3QiOiIiLCJleHAiOjU0MDAsImlhdCI6MH0.soQJgHR6cGNr9Lj_N6yL2Nk5SQug-hXGUPenJy1QTVc ``` -The colon separated string contains the username before the colon and the JWT +The colon-separated string contains the username before the colon and the JWT token after the colon. The username is used to retrieve the user object from the user database. Below is a function which is executed against the user object and the token to validate them for authentication. Please note that the @@ -154,7 +154,7 @@ def authenticate(user, access_key): return False ``` -## List of Third-Party Services Integrated with the JWT Addon +## Third-Party Services Integrated with the JWT Addon ### Sauce Labs From 4db152e8d5f4b08b7c42f202546f73e7f8121338 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:00:59 -0400 Subject: [PATCH 135/178] Update trusty-to-xenial-migration-guide.md --- user/trusty-to-xenial-migration-guide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user/trusty-to-xenial-migration-guide.md b/user/trusty-to-xenial-migration-guide.md index 64c79bd4fd6..264b38d1376 100644 --- a/user/trusty-to-xenial-migration-guide.md +++ b/user/trusty-to-xenial-migration-guide.md @@ -4,7 +4,7 @@ layout: en --- As of August, 13th 2019, we've switched the default Linux distribution on Travis CI from Ubuntu Trusty 14.04 LTS to -Ubuntu Xenial 16.04. Here are the most common issues our customers ran into and how you can fix them. +Ubuntu Xenial 16.04. Here are the most common issues our customers run into and how you can fix them. > If you’d like to stay on Ubuntu Trusty or need more time to set up your repository with Ubuntu Trusty, please explicitly set `dist: trusty` in your .travis.yml file as soon as possible. @@ -17,7 +17,7 @@ Repositories without an explicit operating system `os:` key in their `travis.yml There are three important changes to take into account when updating to Xenial from our Trusty build environment: -### 1. Services support +### Services Support Services like [MySQL or PostgreSQL](https://docs.travis-ci.com/user/database-setup/) are not started by default. To start any service, such as MySQL, add it to the services key in your config: @@ -38,7 +38,7 @@ try to add the following line of code to your `.travis.yml`: before_install: sudo mount -o remount,size=50% /var/ramfs ``` -### 2. Third-party APT sources +### Third-party APT sources Sources from third-party APT repositories have been removed. During the Xenial image provision, third-party APT repositories are used to pre-install services like `redis-server`. These packages are available during build time, but to reduce the risk of sporadic `apt-get update` failures, the repositories are removed after the packages are installed. @@ -55,7 +55,7 @@ addons: - git-lfs ``` -### 3. Headless browser testing +### Headless browser testing To use headless browser testing, you now start `xvfb` via the services key, like this: @@ -72,12 +72,12 @@ The default build environment is Ubuntu Xenial 16.04. You can identify if your r ![OS details](/images/2019-04-15-xenial-build-log.png) -Jobs run on Xenial, display Operating System Details, Description: Ubuntu 16.04.5 LTS +Jobs run on Xenial, display Operating System Details, Description: Ubuntu 16.04.5 LTS. You can find the specific versions of what’s pre-installed in the [Xenial Reference docs](/user/reference/xenial/). > If your build depends on a different Ubuntu distribution like Ubuntu Trusty 14.04, you can explicitly specify `dist: trusty` to ensure your build will use it. -## Need Help? +## Contact Support Please feel free to contact us via our [support](mailto:support@travis-ci.com?subject=Issues%20migrating%20my%20build%20to%20Xenial) email address, or create a [forum topic](https://travis-ci.community/c/environments/xenial). From d94111670b785594f5f5e02d3c9d4c27ad55449a Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:02:31 -0400 Subject: [PATCH 136/178] Update travis-ci-vcs-proxy.md --- user/travis-ci-vcs-proxy.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/user/travis-ci-vcs-proxy.md b/user/travis-ci-vcs-proxy.md index 2dfc00a71f7..2f8d90be745 100644 --- a/user/travis-ci-vcs-proxy.md +++ b/user/travis-ci-vcs-proxy.md @@ -37,9 +37,9 @@ You will need: If you are on Windows when working with Perforce repository, you may want to check [Windows section](/user/travis-ci-vcs-proxy#windows) below in the *P4 CLI Usage* chapter. -## Setting up repositories and organization TCI Proxy +## Setup repositories and organization TCI Proxy -You will go through following major steps in configuration +You will go through the following major steps in configuration. * In case of Assembla Cloud with P4 or SVN repository * Note down certain configuration details from your P4 or SVN repository in Assembla Cloud. @@ -134,7 +134,7 @@ P4CLIENT=testspace_j # This is your local client name, choose anything. ``` You can access your P4 environment variables by running in your command line `cat ~/.p4enviro` and if you want to edit your environment variables run `vim ~/.p4enviro` in your command line or use an IDE or text editor of your choice. -## Inviting collaborators to TCI VCS Proxy Organization +## Invite collaborators to TCI VCS Proxy Organization To allow users to trigger builds in Travis CI, first, you must add them as members of the organization in the TCI VCS Proxy. @@ -276,7 +276,7 @@ After you pushed successfully, with your Assembla username, you can see my `.tra You may find more of the useful information in Assembla articles on working with Perforce Helix Core. -## I want to build with Travis CI +## Build with Travis CI Once the Travis CI VCS Proxy configuration is ready for at least one organization and repository, please follow the instructions in [Getting started with Travis CI using Travis CI VCS Proxy](/user/travis-ci-vcs-proxy-get-started/). From 244128cff10184bd38354dcf1e6649e987877fe0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:05:35 -0400 Subject: [PATCH 137/178] Update travis-ci-for-private.md --- user/travis-ci-for-private.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/travis-ci-for-private.md b/user/travis-ci-for-private.md index 4f7a2cc32df..0222cd5f699 100644 --- a/user/travis-ci-for-private.md +++ b/user/travis-ci-for-private.md @@ -23,7 +23,7 @@ the [blog post](https://travis-ci.com/blog/announcing-pull-request-support/) acc ## Who has access to the builds? -Access rights on Travis CI is based on the access rights on GitHub, Bitbucket, GitLab or Assembla: +Access rights on Travis CI are based on the access rights on GitHub, Bitbucket, GitLab or Assembla: - Users that can access a repository on GitHub, Bitbucket, GitLab or Assembla can see the build status and logs on Travis CI. - Users that can push to a repository on GitHub, Bitbucket, GitLab or Assembla can trigger, cancel and restart builds, and change its settings. @@ -45,7 +45,7 @@ You can change the access rights to **Restricted** (or back to **Open**) under t ![Billing access toggle](/images/admin_only_toggle.png "Billing access toggle") -## Is it safe to give Travis CI access to my private code? +## Is giving Travis CI access to my private code safe? Security is our major concern when it comes to your source code. At Travis CI, we make sure our infrastructure is protected and secure so that your most valuable asset is safe and protected from unauthorized access. From 47d99d0deac06e18bc342e2f11318e3bdebf5b09 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:06:13 -0400 Subject: [PATCH 138/178] Update what-is-travis.md --- user/what-is-travis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/what-is-travis.md b/user/what-is-travis.md index 13d8f809d63..ee987058f06 100644 --- a/user/what-is-travis.md +++ b/user/what-is-travis.md @@ -7,6 +7,6 @@ layout: en What is Travis CI? - Travis CI is continuous integration for projects hosted on GitHub. -- Travis CI is automation for testing building and deploying. +- Travis CI is automation for testing, building, and deploying. - Travis CI gives you peace of mind when developing. - Travis CI lets you know as soon as something goes wrong. From 90d5452cac359222844c412c5aa4c24a307b01b4 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:06:48 -0400 Subject: [PATCH 139/178] Update web-ui.md --- user/web-ui.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/web-ui.md b/user/web-ui.md index 1bf08a02f36..c110a92f1c3 100644 --- a/user/web-ui.md +++ b/user/web-ui.md @@ -43,11 +43,11 @@ In the case of a fork-to-base pull request: Read more: [Pull Requests and security restrictions](/user/pull-requests/#pull-requests-and-security-restrictions) -## Enabling access to old build jobs +## Enable access to old build jobs {{ site.data.snippets.enabling_access_jobs_logs }} -## Limiting access to build job logs +## Limit access to build job logs {{ site.data.snippets.limiting_access_jobs_logs }} From 6f1a0034df499d34cfba98b94e3367b212e54db0 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:30:42 -0400 Subject: [PATCH 140/178] Update android.md --- user/languages/android.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/user/languages/android.md b/user/languages/android.md index 1649b41a9f3..0d4f0919e38 100644 --- a/user/languages/android.md +++ b/user/languages/android.md @@ -1,17 +1,15 @@ --- -title: Building an Android Project +title: Build an Android Project layout: en --- -### What This Guide Covers This guide covers build environment and configuration topics specific to Android projects. Please make sure to read our [Onboarding](/user/onboarding/) and [General Build configuration](/user/customizing-the-build/) guides first. Android builds are not available on the macOS environment. - ## CI Environment for Android Projects ### Overview @@ -60,9 +58,9 @@ android: ``` {: data-file=".travis.yml"} -### How to install Android SDK components +### Install Android SDK components -In your `.travis.yml` you can define the list of SDK components to be installed, as illustrated in the following example: +In your `.travis.yml`, you can define the list of SDK components to be installed, as illustrated in the following example: ```yaml language: android @@ -77,7 +75,7 @@ android: The exact component names must be specified (filter aliases like `add-on` or `extra` are also accepted). To get a list of available exact component names and descriptions run the command `sdkmanager --list` (preferably in your local development machine). -#### Dealing with Licenses +#### Deal with Licenses By default, Travis CI will accept all the requested licenses, but it is also possible to define a white list of licenses to be accepted, as shown in the following example: @@ -99,7 +97,7 @@ android: For more flexibility, the licenses can also be referenced with regular expressions (using Tcl syntax as `expect` command is used to automatically respond to the interactive prompts). -### Pre-installed components +### Pre-installed Components While the following components are preinstalled, the exact list may change without prior notice. To ensure the stability of your build environment, we recommend that you explicitly specify the required components for your project. @@ -111,7 +109,7 @@ While the following components are preinstalled, the exact list may change witho - extra-google-m2repository - extra-android-m2repository -### How to Create and Start an Emulator +### Create and Start an Emulator **Warning:** At the moment, these steps are not fully supported by Travis CI Android builder. @@ -184,7 +182,7 @@ cache: ## Default Test Command -If Travis CI could not detect Maven or Gradle files, Travis CI Android builder will try to use Ant to build your project. By default it will use +If Travis CI cannot detect Maven or Gradle files, Travis CI Android builder will try to use Ant to build your project. By default, it will use ```bash ant debug install test @@ -192,7 +190,7 @@ ant debug install test to run your test suite. This can be overridden as described in the [general build configuration](/user/customizing-the-build/) guide. -## Testing Against Multiple JDKs +## Test against Multiple JDKs As for any JVM language, it is also possible to [test against multiple JDKs](/user/languages/java/#testing-against-multiple-jdks). @@ -200,7 +198,7 @@ As for any JVM language, it is also possible to [test against multiple JDKs](/us For Android projects, `env` and `jdk` can be given as arrays to construct a build matrix. -## Building Android projects on new build environments +## Build Android projects on new build environments The `dist: trusty` build environment is the only supported build environment for Android but if you would like to build on newer build environments e.g. `dist: jammy`, you can exercise your access to the Travis CI build environments and install required packages and tools. An example .travis.yml config can be reviewed below: From c28165654e349b869867ae6723eedee048d36cd2 Mon Sep 17 00:00:00 2001 From: nrios14 <44674816+nrios14@users.noreply.github.com> Date: Mon, 11 Nov 2024 08:32:44 -0400 Subject: [PATCH 141/178] Update c.md --- user/languages/c.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/user/languages/c.md b/user/languages/c.md index 9f3b088224f..d68e0f15990 100644 --- a/user/languages/c.md +++ b/user/languages/c.md @@ -1,10 +1,9 @@ --- -title: Building a C Project +title: Build a C Project layout: en --- -## What This Guide Covers