diff --git a/_data/languages.yml b/_data/languages.yml index b63e791c214..45312105358 100644 --- a/_data/languages.yml +++ b/_data/languages.yml @@ -21,7 +21,6 @@ Julia: "/user/languages/julia/" MATLAB: "/user/languages/matlab/" Minimal: "/user/languages/minimal-and-generic/" Nix: "/user/languages/nix/" -Objective-C: "/user/languages/objective-c/" Perl: "/user/languages/perl/" Perl6: "/user/languages/perl6/" PHP: "/user/languages/php/" @@ -31,5 +30,4 @@ Ruby: "/user/languages/ruby/" Rust: "/user/languages/rust/" Scala: "/user/languages/scala/" Smalltalk: "/user/languages/smalltalk/" -Swift: "/user/languages/objective-c/" Visual Basic: "/user/languages/csharp/" diff --git a/_includes/c11-cpp11-and-beyond-and-toolchains.md b/_includes/c11-cpp11-and-beyond-and-toolchains.md index e3eea3ac973..cb64341d2fa 100644 --- a/_includes/c11-cpp11-and-beyond-and-toolchains.md +++ b/_includes/c11-cpp11-and-beyond-and-toolchains.md @@ -65,38 +65,6 @@ before_install: ``` {: data-file=".travis.yml"} -### GCC on macOS - -On macOS, `gcc` is an alias for `clang`, and `g++` is an alias for `clang++`. -So you must set CC and CXX to specific `gcc`/`g++` versions: - -```yaml -matrix: - include: - - os: osx - osx_image: xcode8 - env: - - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - - - os: osx - osx_image: xcode8 - env: - - MATRIX_EVAL="brew install gcc5 && CC=gcc-5 && CXX=g++-5" - - - os: osx - osx_image: xcode8 - env: - - MATRIX_EVAL="brew install gcc6 && CC=gcc-6 && CXX=g++-6" - - - os: osx - osx_image: xcode8 - env: - - MATRIX_EVAL="brew install gcc && CC=gcc-7 && CXX=g++-7" - -before_install: - - eval "${MATRIX_EVAL}" -``` -{: data-file=".travis.yml"} ### GCC on FreeBSD @@ -203,23 +171,6 @@ before_install: ``` {: data-file=".travis.yml"} -### Clang on macOS - -On macOS, the version of `clang` is controlled by the choice of `osx_image`. -You can find [here](/user/reference/osx/#macos-version) the list of available `osx_image`. - -```yaml -matrix: - include: - - os: osx - osx_image: xcode10.1 - - - os: osx - osx_image: xcode9.4 -``` -{: data-file=".travis.yml"} - -You can find the `clang` version shipped by Xcode [here](https://trac.macports.org/wiki/XcodeVersionInfo). ### Clang on FreeBSD @@ -263,4 +214,4 @@ addons: ``` {: data-file=".travis.yml"} -On macOS, the version of `cmake` is controlled by the choice of `osx_image`. + diff --git a/_includes/sidebar.html b/_includes/sidebar.html index 1071d275ea7..8319b77b72e 100644 --- a/_includes/sidebar.html +++ b/_includes/sidebar.html @@ -74,7 +74,6 @@
-- -### CCMenu - -{:.app} - -macOS status bar app- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -ccache is not installed on macOS environments, but you can install it by adding: - -```yaml -install: - - brew install ccache - - export PATH="/usr/local/opt/ccache/libexec:$PATH" -``` -{: data-file=".travis.yml"} - -> Note that this creates wrappers around your default gcc and g++ compilers. - ### R package cache For caching R packages, use: @@ -436,12 +417,11 @@ jobs should use. These factors are: -1. OS name (currently, `linux`, `osx`, or `windows`) +1. OS name (currently, `linux` or `windows`) 2. OS distribution (for Linux, `noble`, `jammy`, `focal`, `bionic`, `xenial`, `trusty`, or `precise`) -3. macOS image name (e.g., `xcode7.2`) -4. Names and values of visible environment variables set in `.travis.yml` or Settings panel -5. Language runtime version (for the language specified in the `language` key) if applicable -6. For Bundler-aware jobs, the name of the `Gemfile` used +3. Names and values of visible environment variables set in `.travis.yml` or Settings panel +4. Language runtime version (for the language specified in the `language` key) if applicable +5. For Bundler-aware jobs, the name of the `Gemfile` used If these characteristics are shared by more than one job in a build matrix, they will share the same URL on the network. diff --git a/user/common-build-problems.md b/user/common-build-problems.md index 1ce216bc673..296a1059a9e 100644 --- a/user/common-build-problems.md +++ b/user/common-build-problems.md @@ -178,103 +178,8 @@ RSpec.configure do |c| end ``` -## **Mac**: macOS Mavericks (10.9) Code Signing Errors -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -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." - -The keychain must be marked as the default keychain, must be unlocked explicitly and the build needs to make sure that the keychain isn't locked before the critical point in the build is reached. The following set of commands takes care -of this: - -``` -KEY_CHAIN=ios-build.keychain -security create-keychain -p travis $KEY_CHAIN -# Make the keychain the default so identities are found -security default-keychain -s $KEY_CHAIN -# Unlock the keychain -security unlock-keychain -p travis $KEY_CHAIN -# Set keychain locking timeout to 3600 seconds -security set-keychain-settings -t 3600 -u $KEY_CHAIN -``` - -## **Mac**: macOS Sierra (10.12) Code Signing Errors - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -With the introduction of macOS Sierra (10.12) on our infrastructure, we've seen build jobs that were hanging at the codesigning step of the build process. Here's some information on how to recognize this issue and fix it. - -Your build is running on macOS Sierra (10.12), if the `osx_image` in your .travis.yml file is `xcode8.3` or higher. See [the macOS Build Environment documentation](https://docs.travis-ci.com/user/reference/osx/) to know which macOS version is associated with each image. - -The following lines in your build log possibly indicate an occurrence of this issue: - -**Example: Signing** - -``` -▸ Signing /Users/travis/Library/Developer/Xcode/DerivedData/PresenterKit-ggzwtlifkopsnbffbqrmtydtmafv/Build/Intermediates/CodeCoverage/Products/Debug-iphonesimulator/project.xctest - -No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself. -Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received - -The build has been terminated -``` - -**Example: Embed Pods Frameworks** - -``` -▸ Running script '[CP] Embed Pods Frameworks' - -No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself. -Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received - -The build has been terminated -``` - -To fix this issue, you will need to add the following command **after** you have imported your certificate: - -``` -security set-key-partition-list -S apple-tool:,apple: -s -k keychainPass keychainName -``` - -Where: - -- `keychainPass` is the password of your keychain -- `keychainName` is the name of your keychain - -Here's an example of where to put the command in context: - -```bash -# Create the keychain with a password -security create-keychain -p travis ios-build.keychain - -# Make the custom keychain default, so xcodebuild will use it for signing -security default-keychain -s ios-build.keychain - -# Unlock the keychain -security unlock-keychain -p travis ios-build.keychain - -# Add certificates to keychain and allow codesign to access them -security import ./Provisioning/certs/apple.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign -security import ./Provisioning/certs/distribution.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign -security import ./Provisioning/certs/distribution.p12 -k ~/Library/Keychains/ios-build.keychain -P $KEY_PASSWORD -T /usr/bin/codesign - -security set-key-partition-list -S apple-tool:,apple: -s -k travis ios-build.keychain -``` - -> IMPORTANT: It's mandatory to create a keychain with a password for the command `security set-key-partition-list` to work. - -### Fastlane +## Fastlane If you are using [Fastlane](https://fastlane.tools/) to sign your app (e.g. with [Fastlane Match](https://github.com/fastlane/fastlane/tree/master/match)), you will need to do something similar to the following in your `Fastfile`: @@ -296,7 +201,7 @@ If you are using [Fastlane](https://fastlane.tools/) to sign your app (e.g. with ) ``` -If you are using `import_certificate` directly to import your certificates, it's mandatory to pass your keychain's password as a parameter e.g. +If you are using `import_certificate` directly to import your certificates, it's mandatory to pass your keychain's password as a parameter, e.g. ``` keychain_name = "ios-build.keychain" @@ -322,53 +227,6 @@ import_certificate( You can also have more details in [this GitHub issue](https://github.com/travis-ci/travis-ci/issues/6791) starting at [this comment](https://github.com/travis-ci/travis-ci/issues/6791#issuecomment-261071904). -## **Mac**: Errors running CocoaPods - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -CocoaPods usage can currently fail for a few reasons. - -### Newer version of CocoaPods required - -Most Pods now require CocoaPods 0.32.1, but we still have 0.21 preinstalled. If -you're seeing this error, add this to your `.travis.yml`: - -```yaml -before_install: - - gem install cocoapods -v '0.32.1' -``` -{: data-file=".travis.yml"} - -### 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. - -To work around this issue, you can either install CocoaPods manually as shown -above, or you can switch to Ruby 1.9.3 in your `.travis.yml`, which should work -without any issues: - -```yaml -rvm: 1.9.3 -``` -{: data-file=".travis.yml"} - -### CocoaPods fails with a segmentation fault - -On Ruby 2.0.0, CocoaPods has been seen crashing with a segmentation fault. - -You can work around the issue by using Ruby 1.9.3, which hasn't shown these -issues. Add this to your `.travis.yml`: - -```yaml -rvm: 1.9.3 -``` -{: data-file=".travis.yml"} - ## **System**: Required language pack not installed The Travis CI build environments currently have only the en_US language pack diff --git a/user/coverity-scan.md b/user/coverity-scan.md index d0a0e0e5738..ea50c6dd8bb 100644 --- a/user/coverity-scan.md +++ b/user/coverity-scan.md @@ -22,15 +22,6 @@ See more details about Coverity Scan in the [FAQ](https://scan.coverity.com/faq) 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 - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -The Coverity Scan addon doesn't work on macOS versions with the SIP feature enabled i.e. on macOS El Capitan (10.11) and higher. Specifically on Travis CI, it currently only works on our Xcode 6.4 image (i.e. with `osx_image: xcode6.4`). However, it's possible to make it work with custom scripts or commands. Please reach out to [support@travis-ci.com](mailto:support@travis-ci.com) to learn how. ## Step-by-step Configuration diff --git a/user/customizing-the-build.md b/user/customizing-the-build.md index 6fe29a5d9a9..46622e9f96f 100644 --- a/user/customizing-the-build.md +++ b/user/customizing-the-build.md @@ -14,7 +14,7 @@ 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. -For advanced use cases the main build configuration file `.travis.yml` can +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/) feature. @@ -39,8 +39,8 @@ Travis CI has specific time limits for each job, and will stop the build and add Some common reasons why builds might hang: - Waiting for keyboard input or other kind of human interaction -- Concurrency issues (deadlocks, livelocks and so on) -- Installation of native extensions that take very long time to compile +- Concurrency issues (deadlocks, livelocks, and so on) +- Installation of native extensions that take a very long time to compile > There is no timeout for a build; a build will run as long as needed to complete all the jobs, but will stop immediately if any job hits a timeout limit. @@ -59,7 +59,7 @@ each repository.  -Or using the command line client: +Or, using the command line client: ```bash $ travis settings maximum_number_of_builds --set 1 @@ -127,7 +127,6 @@ git: ## Git LFS - ### GitHub Authentication We recommend using a read-only GitHub OAuth token to authenticate when using [Git LFS](https://git-lfs.github.com/): @@ -192,27 +191,6 @@ Deploy keys are not currently supported by LFS, so you should use a Assembla OAu [Git LFS](https://git-lfs.github.com/) is supported by default on our Ubuntu Trusty, Xenial, and Bionic images. -### macOS - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -Installing `git-lfs` via brew is the recommended way to get Git LFS in [macOS](/user/reference/osx/). - -```yaml -os: osx - -before_install: -- brew install git-lfs - -before_script: -- git lfs pull -``` -{: data-file=".travis.yml"} - ### Git LFS Skip Smudge GitHub rate-limits the Git LFS requests during the `git clone` process. If you run into rate-limiting issues, you can skip fetching the git-lfs files during the initial `git clone` (equivalent to [`git lfs smudge --skip`](https://github.com/git-lfs/git-lfs/blob/master/docs/man/git-lfs-smudge.1.ronn)), and download these assets during the `before_install` phase of your build. To achieve this, you can use the following configuration in `.travis.yml`: diff --git a/user/database-setup.md b/user/database-setup.md index 71e8b80ec11..697e04d8128 100644 --- a/user/database-setup.md +++ b/user/database-setup.md @@ -176,10 +176,10 @@ env: ``` {: data-file=".travis.yml"} -In the Xenial images Postgres 9.4 through 9.6 just need the version specified and use the user +In the Xenial images, Postgres 9.4 through 9.6 just need the version specified and use the user `postgres` by default and the default port of 5432. -For PostgreSQL 10 you must specify the packages +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 @@ -346,7 +346,7 @@ before_script: ## RabbitMQ -RabbitMQ requires `setuid` flags, so you can only run RabbitMQ as a service on macOS or Ubuntu Trusty infrastructure. +RabbitMQ requires `setuid` flags, so you can only run RabbitMQ as a service on Ubuntu Trusty infrastructure. Start RabbitMQ in your `.travis.yml`: diff --git a/user/encrypting-files.md b/user/encrypting-files.md index 72603b70353..951f93ed764 100644 --- a/user/encrypting-files.md +++ b/user/encrypting-files.md @@ -90,7 +90,7 @@ before_install: ### Caveat -There is a report of this function not working on a local Windows machine. Please use the WSL (Windows Subsystem for Linux) or a Linux or macOS machine. +There is a report of this function not working on a local Windows machine. Please use the WSL (Windows Subsystem for Linux) or a Linux machine. ## Manual Encryption diff --git a/user/environment-variables.md b/user/environment-variables.md index a2cb1ffcc80..3ba0f93cba9 100644 --- a/user/environment-variables.md +++ b/user/environment-variables.md @@ -110,7 +110,7 @@ env: Encrypt environment variables with the public key attached to your repository using the `travis` gem: -1. If you do not have the `travis` gem installed, run `gem install travis` (or `brew install travis` on macOS). +1. If you do not have the `travis` gem installed, run `gem install travis`. 2. In your repository directory: @@ -163,7 +163,7 @@ The following default environment variables are available to all builds. - `DEBIAN_FRONTEND=noninteractive` - `HAS_JOSH_K_SEAL_OF_APPROVAL=true` - `USER=travis` -- `HOME` is set to `/home/travis` on Linux, `/Users/travis` on MacOS, and +- `HOME` is set to `/home/travis` on Linux, and `/c/Users/travis` on Windows. - `LANG=en_US.UTF-8` - `LC_ALL=en_US.UTF-8` @@ -207,11 +207,9 @@ to tag the build, or to run post-build deployments. - `TRAVIS_JOB_NUMBER`: The number of the current job (for example, "4.1"). - `TRAVIS_JOB_WEB_URL`: URL to the job log. - `TRAVIS_OS_NAME`: On multi-OS builds, this value indicates the platform the job is running on. - Values are currently `linux`, `osx` and `windows` (beta), to be extended in the future. + Values are currently `linux` and `windows` (beta), to be extended in the future. - `TRAVIS_CPU_ARCH`: On [multi-arch](https://docs.travis-ci.com/user/multi-cpu-architectures/) builds, this value indicates the CPU architecture the job is running on. - Values are currently `amd64`, `arm64`, `ppc64le` and `s390x`. -- `TRAVIS_OSX_IMAGE`: The `osx_image` value configured in `.travis.yml`. If this is not set in `.travis.yml`, - it is empty. + Values are currently `amd64`, `arm64`, `ppc64le`, and `s390x`. - `TRAVIS_PULL_REQUEST`: The pull request number if the current job is a pull request, "false" if it's not a pull request. - `TRAVIS_PULL_REQUEST_BRANCH`: diff --git a/user/for-beginners.md b/user/for-beginners.md index bbbbba67ecf..640fa5636a6 100644 --- a/user/for-beginners.md +++ b/user/for-beginners.md @@ -7,12 +7,12 @@ layout: en 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 +throughout the platform and documentation, which might be helpful if you are new here or new to Continuous Integration (CI). ## What Is Continuous Integration? -Continuous Integration is the practice of merging in small code changes +Continuous Integration is the practice of merging small code changes frequently - rather than merging in a large change at the end of a development cycle. The goal is to build healthier software by developing and testing in smaller increments. This is where Travis CI comes in. @@ -28,7 +28,7 @@ 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 code. If one or more of those tasks fail, the build is considered [*broken*](#breaking-the-build). If none of the tasks fail, the build is -considered [*passed*](#breaking-the-build) and Travis CI can deploy your code +considered [*passed*](#breaking-the-build), and Travis CI can deploy your code to a web server or application host. CI builds can also automate other parts of your delivery workflow. This means @@ -46,15 +46,15 @@ In the Travis CI documentation, some common words have specific meanings: * *stage* - a group of *jobs* that run in parallel as part of a sequential *build* process composed of multiple [stages](/user/build-stages/). * *job* - an automated process that clones your repository into a virtual environment and then carries out a series of *phases* such as compiling your - code, running tests, etc. A job fails, if the return code of the `script` *phase* + code, running tests, etc. A job fails if the return code of the `script` *phase* is non-zero. * *phase* - the [sequential steps](/user/job-lifecycle/) - of a *job*. For example, the `install` phase, comes before the `script` phase, + of a *job*. For example, the `install` phase comes before the `script` phase, which comes before the optional `deploy` phase. ## Broken Builds -The build is considered *broken*, when one or more of its jobs complete with a +The build is considered *broken* when one or more of its jobs complete with a state that is not *passed*: * *errored* - a command in the `before_install`, `install`, or `before_script` @@ -68,18 +68,10 @@ to start troubleshooting why your build is broken. ## Infrastructure and Environment Notes -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-+Travis CI offers a few different infrastructure environments, so you can select the setup that suits your project best: -Travis CI offers a few different infrastructure environments, so you can select -the setup that suits your project best: - -* *Ubuntu Linux* - these Linux Ubuntu environments run inside full virtual machines, provide plenty of computational resources, and support the use of `sudo`, `setuid`, and `setgid`. Check out more information on the [Ubuntu Linux Build Environment](/user/reference/linux/). -* *macOS* - uses one of several versions of the macOS operating system. This environment is useful for building projects that require macOS software, such as projects written in Swift. It is not a requirement to use the macOS environment, if you develop on a macOS machine. Here you can find more details on the [macOS Build Environment](/user/reference/osx/). -* *Windows* - currently Windows Server version 1803 is supported. If you want to know more about it, see the [Windows Build Environment](/user/reference/windows/). +* *Ubuntu Linux* - These Linux Ubuntu environments run inside full virtual machines, provide plenty of computational resources, and support the use of `sudo`, `setuid`, and `setgid`. Check out more information on the [Ubuntu Linux Build Environment](/user/reference/linux/). +* *Windows* - Currently, Windows Server version 1803 is supported. If you want to know more about it, see the [Windows Build Environment](/user/reference/windows/). More details on our build environments are available in our [CI Environment](/user/ci-environment/) documentation. diff --git a/user/gui-and-headless-browsers.md b/user/gui-and-headless-browsers.md index 1832a21256c..9bc7a5174de 100644 --- a/user/gui-and-headless-browsers.md +++ b/user/gui-and-headless-browsers.md @@ -39,9 +39,9 @@ driver = webdriver.Remote(desired_capabilities=capabilities, command_executor="h The Sauce Connect addon exports the `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` environment variables, and relays connections to the hub URL back to Sauce Labs. -This is all you need to get your Selenium tests running on Sauce Labs. However, you may want to only use Sauce Labs for Travis CI builds, and not for local builds. To do this, you can use the `CI` or `TRAVIS` environment variables to conditionally change what driver you're using (see [our list of available environment variables](/user/reference/precise/#environment-variables) for more ways to detect if you're running on Travis CI). +This is all you need to get your Selenium tests running on Sauce Labs. However, you may want to use Sauce Labs only for Travis CI builds and not for local builds. To do this, you can use the `CI` or `TRAVIS` environment variables to conditionally change what driver you're using (see [our list of available environment variables](/user/reference/precise/#environment-variables) for more ways to detect if you're running on Travis CI). -To make the test results on Sauce Labs a little more easy to navigate, you may wish to provide some more metadata to send with the build. You can do this by passing in more desired capabilities: +To make the test results on Sauce Labs a little easier to navigate, you may wish to provide some more metadata to send with the build. You can do this by passing in more desired capabilities: ```python capabilities["build"] = os.environ["TRAVIS_BUILD_NUMBER"] @@ -56,11 +56,11 @@ For travis-web, our very own website, we use Sauce Labs to run browser tests on 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). +or Google Chrome (with the [addon](/user/chrome), on Linux Trusty). ### 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` +> This only works on Ubuntu 16.04 (Xenial) and later on releases, i.e. with `dist: xenial` or `dist: bionic` The following will start xvfb and set the right values for the `DISPLAY` environment variable: @@ -150,18 +150,12 @@ Note that- Travis CI will stop support for macOS starting March 31st, 2025. -
-
sudo
is not available for builds that are running on the
## 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" +Starting with version 57 for Linux Trusty, Google Chrome can be used in "headless" 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. +> As of 2017-05-02, this means `stable` or `beta` on Linux builds. -For example, on Linux +For example, on Linux: ```yaml dist: xenial @@ -174,18 +168,6 @@ before_install: ``` {: data-file=".travis.yml"} -On macOS: - -```yaml -language: objective-c -addons: - chrome: beta -before_install: - - # start your web application and listen on `localhost` - - "/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --headless --disable-gpu --remote-debugging-port=9222 http://localhost &" - ⋮ -``` -{: data-file=".travis.yml"} ### More Documentation diff --git a/user/installing-dependencies.md b/user/installing-dependencies.md index 577ca02ef85..a8c1527c2bd 100644 --- a/user/installing-dependencies.md +++ b/user/installing-dependencies.md @@ -7,7 +7,6 @@ redirect_from: --- - ## 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`: @@ -208,114 +207,6 @@ of the two possible forms: `confinement` and `channel` are optional. -## Install Packages on macOS - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -To install packages that are not included in the [default macOS environment](/user/reference/osx/#compilers-and-build-toolchain), use [Homebrew](http://brew.sh). - -For convenience, you can use the Homebrew addon in your `.travis.yml`. -For example, to install beanstalk: - -```yaml -addons: - homebrew: - packages: - - beanstalk -``` -{: data-file=".travis.yml"} - -By default, the Homebrew addon will not run `brew update` before installing packages. `brew update` can take a long time and slow down your builds. If you need more up-to-date versions of packages than the snapshot on the build VM has, you can add `update: true` to the addon configuration: - -```yaml -addons: - homebrew: - packages: - - beanstalk - update: true -``` -{: data-file=".travis.yml"} - -### 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: - -[homebrew-cask]: https://github.com/Homebrew/homebrew-cask - -```yaml -addons: - homebrew: - casks: - - dotnet-sdk -``` -{: data-file=".travis.yml"} - -### 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. - -For instance, Homebrew maintains a tap of older versions of certain casks at [`homebrew/cask-versions`][cask-versions]. If you wanted to install Java 8 on an image with Java 10 installed, you can add that tap and then install the `java8` cask: - -[homebrew-tap]: https://docs.brew.sh/Taps -[cask-versions]: https://github.com/Homebrew/homebrew-cask-versions - -```yaml -osx_image: xcode10 -addons: - homebrew: - taps: homebrew/cask-versions - casks: java8 -``` -{: data-file=".travis.yml"} - -### 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 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 - -```yaml -addons: - homebrew: - brewfile: true -``` -{: data-file=".travis.yml"} - -You can also provide a path if your Brewfile is in a different location. - -```yaml -addons: - homebrew: - brewfile: Brewfile.travis -``` -{: data-file=".travis.yml"} - -### Use Homebrew without addon on older macOS images - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -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: - - Homebrew must be run under Ruby 2.3! You're running 2.0.0. - -You'll need to update to Ruby 2.3 or newer: - -``` -rvm use 2.3 --install --binary -brew update -brew install openssl -rvm use $TRAVIS_RUBY_VERSION # optionally, switch back to the Ruby version you need. -``` - -> 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/). ## Install Packages on FreeBSD diff --git a/user/integration/platformio.md b/user/integration/platformio.md index 04d377ef0c0..5a30898839e 100644 --- a/user/integration/platformio.md +++ b/user/integration/platformio.md @@ -8,9 +8,9 @@ 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 +- *Platforms* - pre-built different development platforms for the following host OS (Windows, Linux 32/64bit, Linux ARMv6+). Each of them includes compiler, debugger, uploader, etc: - Atmel AVR diff --git a/user/ip-addresses.md b/user/ip-addresses.md index ac59a4f7ad8..96708e33337 100644 --- a/user/ip-addresses.md +++ b/user/ip-addresses.md @@ -16,7 +16,6 @@ on the infrastructure your builds are running on. | Infrastructure | NAT hostname | Current DNS | Last recorded IPs | |:---------------|:--------------------------------------------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------| -| OS X | {{ site.data.macstadium_ip_range['host'] }} | [A recs](https://dnsjson.com/{{ site.data.macstadium_ip_range['host'] }}/A.json) | `{{ site.data.macstadium_ip_range['ip_range'] | join: "` `" }}` | | Linux, Windows | {{ site.data.gce_ip_range['host'] }} | [A recs](https://dnsjson.com/{{ site.data.gce_ip_range['host'] }}/A.json) | `{{ site.data.gce_ip_range['ip_range'] | join: "`, `" }}` | | Linux, Windows | {{ site.data.gce_ip_ue1_range['host'] }} | [A recs](https://dnsjson.com/{{ site.data.gce_ip_ue1_range['host'] }}/A.json) | `{{ site.data.gce_ip_ue1_range['ip_range'] | join: "`, `" }}` | | (all combined) | {{ site.data.ip_range['host'] }} | [A recs](https://dnsjson.com/{{ site.data.ip_range['host'] }}/A.json) | (sum of all above) | diff --git a/user/languages/c.md b/user/languages/c.md index 4b15d844dc0..c6605f8dc2a 100644 --- a/user/languages/c.md +++ b/user/languages/c.md @@ -29,12 +29,6 @@ This guide covers build environment and configuration topics specific to C projects. Please make sure to read our [Onboarding](/user/onboarding/) and [General Build configuration](/user/customizing-the-build/) guides first. -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- ## CI Environment for C Projects Travis CI VMs are 64-bit and provide versions of: @@ -64,7 +58,7 @@ See the [build configuration guide](/user/customizing-the-build/) to learn more. ## Test against Compilers -You can test projects against either GCC or Clang, or both. To do so, specify +You can test projects against either GCC or Clang or both. To do so, specify the compiler to use using the `compiler:` key in `.travis.yml`. For example, to build with Clang: @@ -86,7 +80,6 @@ Testing against two compilers will create (at least) 2 rows in your build matrix. For each row, Travis CI C builder will export the `CC` and `CC_FOR_BUILD` env variables to point to either `gcc` or `clang`. -On macOS, `gcc` is an alias for `clang`. Set a specific [GCC version](#gcc-on-macos) to use GCC on macOS. ## OpenMP Projects diff --git a/user/languages/cpp.md b/user/languages/cpp.md index 5a4c9e43fd5..76768facaff 100644 --- a/user/languages/cpp.md +++ b/user/languages/cpp.md @@ -28,11 +28,6 @@ This guide covers build environment and configuration topics specific to C++ projects. Please make sure to read our [Onboarding](/user/onboarding/) and [General Build configuration](/user/customizing-the-build/) guides first. -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-## CI Environment for C++ Projects @@ -87,8 +82,6 @@ matrix. For each row, the Travis CI C++ builder will export the `CXX` and correspondingly export the `CC` and `CC_FOR_BUILD` env variables to point to either `gcc` or `clang`. -On macOS, `gcc` is an alias for `clang`, and `g++` is an alias for `clang++`. -Set a specific [GCC version](#gcc-on-macos) to use GCC on macOS. ## Examples diff --git a/user/languages/csharp.md b/user/languages/csharp.md index 08b7b383de2..903133d0d9b 100644 --- a/user/languages/csharp.md +++ b/user/languages/csharp.md @@ -35,7 +35,7 @@ and cc [@joshua-anderson](https://github.com/joshua-anderson), [@akoeplinger](ht ### Build Environment -Currently, Travis builds your C#, F#, and Visual Basic project with the either the [Mono](http://www.mono-project.com/) or the [.NET Core](https://github.com/dotnet/core) runtimes on Linux or macOS. Note that these runtimes do not implement the entire .NET framework, so Windows .NET framework programs may not be fully compatible and require porting. +Currently, Travis builds your C#, F#, and Visual Basic project with either the [Mono](http://www.mono-project.com/) or the [.NET Core](https://github.com/dotnet/core) runtimes on Linux. Note that these runtimes do not implement the entire .NET framework, so Windows .NET framework programs may not be fully compatible and require porting. ### Overview @@ -67,7 +67,7 @@ mono: You can choose from the following Mono versions: -| Version | Installed Packages (Linux only, macOS always includes everything) | +| Version | Installed Packages (Linux only) | |:-----------------|:------------------------------------------------------------------| | 3.10.0 and later | mono-complete, mono-vbnc, fsharp, nuget, referenceassemblies-pcl | | 3.8.0 | mono-complete, mono-vbnc, fsharp, nuget | @@ -75,7 +75,7 @@ You can choose from the following Mono versions: | 2.10.8 | mono-complete, mono-vbnc | | none | *disables Mono (use this if you only want .NET Core, see below)* | -> *Note*: even if you specify e.g. 3.12.0 the version used by your build may actually be 3.12.1 depending on what the latest version in the 3.12.x series is (it's a limitation of the Xamarin repositories right now). +> *Note*: even if you specify, e.g., 3.12.0 the version used by your build may actually be 3.12.1 depending on what the latest version in the 3.12.x series is (it's a limitation of the Xamarin repositories right now). **Alpha, Beta, and Weekly Channel**: To install and test against upcoming Mono versions, specify `alpha`, `beta`, or `weekly` as the version number. Please report bugs you encounter on these channels to the Mono project so they can be fixed before release. diff --git a/user/languages/dart.md b/user/languages/dart.md index c4589617fa5..d501cb40e7b 100644 --- a/user/languages/dart.md +++ b/user/languages/dart.md @@ -84,8 +84,7 @@ dart_task: ### Available Browsers -Travis comes with Firefox and Chrome installed by default on Linux, and Safari -on macOS. However, if you want to run your tests on Dartium, you'll need to +Travis comes with Firefox and Chrome installed by default on Linux. However, if you want to run your tests on Dartium, you'll need to install it by adding `install_dartium: true` either at the top level or for a particular task. @@ -116,7 +115,6 @@ dart_task: ``` {: data-file=".travis.yml"} -XVFB is never used on macOS, since it doesn't use the X windows system. ## Other Tasks @@ -125,7 +123,7 @@ Several tasks are available in addition to running tests. ### Analyzer To run the [Dart analyzer][] to verify that your code doesn't have any static -errors, add a task with `dartanalyzer: true`. By default it analyzes all Dart +errors, add a task with `dartanalyzer: true`. By default, it analyzes all Dart files in your repository, but you can configure it by providing arguments instead of `true`. diff --git a/user/languages/java.md b/user/languages/java.md index 99cbaf084d4..9368e98dcbd 100644 --- a/user/languages/java.md +++ b/user/languages/java.md @@ -175,11 +175,8 @@ addons: ``` {: data-file=".travis.yml"} -> Note that testing against multiple Java versions is not supported on macOS. See -the [macOS Build Environment](/user/reference/osx/#jdk-and-macos) for more -details. -The list of available JVMs for different dists are at +The list of available JVMs for different dists are at: * [JDKs installed for **Noble**](/user/reference/noble/#jvm-clojure-groovy-java-scala-support) * [JDKs installed for **Jammy**](/user/reference/jammy/#jvm-clojure-groovy-java-scala-support) @@ -230,14 +227,14 @@ script: ## Current JDK providers -Currently our builds are using Bellsoft and Adoptium JDK providers - they are switched based on the distribution and architecture you are using in your build. Additionally, we've added IBM's Semeru JDK - to use it, instead of using jdk: jdkX or jdk: openjdkX syntax, simply use jdk: semeruX like here: +Currently, our builds are using Bellsoft and Adoptium JDK providers - they are switched based on the distribution and architecture you are using in your build. Additionally, we've added IBM's Semeru JDK - to use it, instead of using jdk: jdkX or jdk: openjdkX syntax, simply use jdk: semeruX like here: ```yaml language: java jdk: semeru11 ``` {: data-file=".travis.yml"} -Available semeru JDKs for AMD, S390X, PPC64LE and ARM architectures: 8, 11, 16, 17, 18, 19, 20, 21, 22 +Available semeru JDKs for AMD, S390X, PPC64LE, and ARM architectures: 8, 11, 16, 17, 18, 19, 20, 21, 22 ## Examples diff --git a/user/languages/julia.md b/user/languages/julia.md index 52a7fa20316..5df6e2aabf9 100644 --- a/user/languages/julia.md +++ b/user/languages/julia.md @@ -40,8 +40,7 @@ of Julia. - `X.Y` will test against the latest release for that minor version. - `X.Y.Z` will test against that exact version. -The oldest version for which binaries are available is 0.3.1 for Linux, -or 0.2.0 for [macOS](/user/multi-os/). +The oldest version for which binaries are available is 0.3.1 for Linux. ## Coverage diff --git a/user/languages/python.md b/user/languages/python.md index 18b0ad7a122..bea34a1f578 100644 --- a/user/languages/python.md +++ b/user/languages/python.md @@ -29,12 +29,6 @@ Minimal example: {: .warning} > Python builds are not available on the macOS and Windows environments. -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- The rest of this guide covers configuring Python projects in Travis CI. If you're new to Travis CI, please read our [Onboarding](/user/onboarding/) and [General Build configuration](/user/customizing-the-build/) guides first. @@ -163,25 +157,21 @@ As described [above](/user/languages/python/#travis-ci-uses-isolated-virtualenvs If you're using tox to test your code against multiple versions of Python, you have two options: * use `language: generic` and manually install the Python versions you're interested in before running tox (without the manual installation, tox will only have access to the default Ubuntu Python versions - 2.7.12 and 3.5.2 for Xenial) - * use `language: python` and a build matrix that uses a different version of Python for each branch (you can specify the Python version by using the `python` key). This will ensure the versions you're interested in are installed and parallelize your workload. + * use `language: python` and a build matrix that uses a different version of Python for each branch (you can specify the Python version by using the `python` key). This will ensure the versions you're interested in are installed and will parallelize your workload. ## Run Python tests on multiple Operating Systems -Sometimes it is necessary to ensure that software works the same across multiple Operating Systems. The following `.travis.yml` file will execute parallel test runs on Linux, macOS, and Windows. +Sometimes, it is necessary to ensure that software works the same across multiple Operating Systems. The following `.travis.yml` file will execute parallel test runs on Linux and Windows. ```yaml -language: python # this works for Linux but is an error on macOS or Windows +language: python # this works for Linux but is an error on Windows jobs: include: - name: "Python 3.8.0 on Xenial Linux" - python: 3.8 # this works for Linux but is ignored on macOS or Windows + python: 3.8 # this works for Linux but is ignored on Windows - name: "Python 3.6.10 on FreeBSD" os: freebsd language: python - - name: "Python 3.7.4 on macOS" - os: osx - osx_image: xcode11.2 # Python 3.7.4 running on macOS 10.14.4 - language: shell # 'language: python' is an error on Travis CI macOS - name: "Python 3.8.0 on Windows" os: windows # Windows 10.0.17134 N/A Build 17134 language: shell # 'language: python' is an error on Travis CI Windows @@ -190,8 +180,8 @@ jobs: - python -m pip install --upgrade pip env: PATH=/c/Python38:/c/Python38/Scripts:$PATH install: pip3 install --upgrade pip # all three OSes agree about 'pip3' -# 'python' points to Python 2.7 on macOS but points to Python 3.8 on Linux and Windows -# 'python3' is a 'command not found' error on Windows but 'py' works on Windows only +# 'python' points to Python 3.8 on Linux and Windows +# 'python3' is a 'command not found' error on Windows, but 'py' works on Windows only script: python3 my_app.py || python my_app.py ``` {: data-file=".travis.yml"} diff --git a/user/languages/r.md b/user/languages/r.md index d84268c39eb..db61e592af3 100644 --- a/user/languages/r.md +++ b/user/languages/r.md @@ -9,11 +9,6 @@ This guide covers build environment and configuration topics specific to R projects. Please make sure to read our [Onboarding](/user/onboarding/) and [General Build configuration](/user/customizing-the-build/) guides first. -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-## Community-Supported Warning @@ -44,13 +39,13 @@ Travis CI supports a number of configuration options for your R package. ### R Versions -Travis CI supports R versions `3.0.3` and above on Ubuntu Precise, Ubuntu Trusty and macOS. -Aliases exist for each major release, e.g `3.1` points to `3.1.3`. In addition the +Travis CI supports R versions `3.0.3` and above on Ubuntu Precise and Ubuntu Trusty. +Aliases exist for each major release, e.g, `3.1` points to `3.1.3`. In addition, the name `oldrel` is aliased to the previous major release and `release` is aliased to the latest minor release. `devel` is built off of the [R git mirror](https://travis-ci.org/wch/r-source) of the R SVN trunk (updated hourly). -Matrix builds *are* supported for R builds, however both instances of `r` must +Matrix builds *are* supported for R builds, however, both instances of `r` must be in *lowercase*. ```yaml @@ -206,7 +201,7 @@ cache: `https://cloud.r-project.org`. - `repos`: Dictionary of repositories to pass to `options(repos)`. If `CRAN` is - not given in the dictionary the value of the `cran` option is used. + not given in the dictionary, the value of the `cran` option is used. Example: ```yaml @@ -216,10 +211,6 @@ repos: ``` {: data-file=".travis.yml"} -- `disable_homebrew`: if `true` this removes the preinstalled homebrew - installation on macOS. Useful to test if the package builds on a vanilla macOS - machine, such as the CRAN mac builder. - ### Environment Variables R-Travis sets the following additional environment variables from the [Travis @@ -236,8 +227,8 @@ defaults](/user/environment-variables/#default-environment-variables). ### Additional Dependency Fields -For most packages you should not need to specify any additional dependencies in -your `.travis.yml`. However for rare cases the following fields +For most packages, you should not need to specify any additional dependencies in +your `.travis.yml`. However, for rare cases, the following fields are supported. Each of the names below is a list of packages you can optionally specify as a @@ -247,15 +238,12 @@ processed in order, so entries can depend on dependencies in a previous list. - `apt_packages`: See above -- `brew_packages`: A list of packages to install via `brew`. This option is - ignored on non-macOS builds. - - `r_binary_packages`: A list of R packages to install as binary packages on linux builds, via Michael Rutter's [cran2deb4ubuntu PPA][launchpad]. - These installs will be faster than source installs, but may not always be + These installs will be faster than source installs but may not always be the most recent version. Specify the name just as you would when installing - from CRAN. On macOS builds these packages are installed from source. + from CRAN. - `r_packages`: A list of R packages to install via `install.packages`. @@ -268,7 +256,7 @@ processed in order, so entries can depend on dependencies in a previous list. here should be of the form `user/repo`. If the package is installed in a subdirectory, use `user/repo/subdirectory`. An alternative is to add `user/repo` or `user/repo/folder` to - the `Remotes` section of the `DESCRIPTION` file of your package + the `Remotes` section of the `DESCRIPTION` file of your package. ### Customize the Travis build steps diff --git a/user/languages/ruby.md b/user/languages/ruby.md index 1d7e0dddf48..0ce08d86b52 100644 --- a/user/languages/ruby.md +++ b/user/languages/ruby.md @@ -65,7 +65,7 @@ one is available. -If you're using macOS or Trusty environments, you can also use +If you're using Trusty environments, you can also use [Rubinius](http://rubini.us). To test with Rubinius, add `rbx-X` or `rbx-X.Y.Z` to your `.travis.yml`, where X.Y.Z specifies a Rubinius release listed on [http://rubies.travis-ci.org/rubinius](http://rubies.travis-ci.org/rubinius) . diff --git a/user/languages/smalltalk.md b/user/languages/smalltalk.md index b692434b2b0..0492dfea176 100644 --- a/user/languages/smalltalk.md +++ b/user/languages/smalltalk.md @@ -26,7 +26,6 @@ language: smalltalk # Select operating system(s) os: - linux - - osx # Select virtual machine(s) smalltalk_vm: diff --git a/user/onboarding.md b/user/onboarding.md index 7ab168b05c8..0b793040085 100644 --- a/user/onboarding.md +++ b/user/onboarding.md @@ -170,22 +170,6 @@ language: go ``` {: data-file=".travis.yml"} -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
--If you have tests that need to run on macOS or your project uses Swift or -Objective-C, use our macOS environment: - -```yaml -os: osx -``` -{: data-file=".travis.yml"} - -> You do *not* necessarily need to use macOS if you develop on a Mac. -> macOS is required only if you need Swift, Objective-C, or other -> macOS-specific software. Travis CI supports many [programming languages](/user/languages/). diff --git a/user/reference/freebsd.md b/user/reference/freebsd.md index 8bf1a12d9d2..0d9cf426d61 100644 --- a/user/reference/freebsd.md +++ b/user/reference/freebsd.md @@ -21,9 +21,7 @@ To use FreeBSD, add the following to your `.travis.yml`: os: freebsd ``` - -Travis CI also supports the [Ubuntu Linux Build Environment](/user/reference/linux/), [Windows Build Environment](/user/reference/windows/) -and [macOS Build Environment](/user/reference/osx/). +Travis CI also supports the [Ubuntu Linux Build Environment](/user/reference/linux/) and [Windows Build Environment](/user/reference/windows/). > FreeBSD is available on our hosted fully virtualized infrastructure. diff --git a/user/reference/linux.md b/user/reference/linux.md index 2e42971794a..96c6ece4cdf 100644 --- a/user/reference/linux.md +++ b/user/reference/linux.md @@ -56,7 +56,7 @@ dist: xenial ``` {: data-file=".travis.yml"} -Travis CI also supports the [Windows Build Environment](/user/reference/windows/), [macOS Build Environment](/user/reference/osx/) and [FreeBSD Build Environment](/user/reference/freebsd/). +Travis CI also supports the [Windows Build Environment](/user/reference/windows/) and [FreeBSD Build Environment](/user/reference/freebsd/). ## Migration Guides diff --git a/user/reference/overview.md b/user/reference/overview.md index c872fedac31..f1213637439 100644 --- a/user/reference/overview.md +++ b/user/reference/overview.md @@ -56,17 +56,8 @@ The table below sums up the available Ubuntu environments and virtualization typ LXD compliant OS images for arm64 are run on [AWS](https://aws.amazon.com/) and in [Packet](https://www.packet.com/). LXD compliant OS images for IBM Power and Z are run in [IBM Cloud](https://www.ibm.com/cloud). For more information see [Building on Multiple CPU Architectures](/user/multi-cpu-architectures/). -You can select Linux virtualization type by setting a `virt` tag to either `vm` or `lxd`. See relevant `.travis.yml` examples [below](/user/reference/overview/#for-a-particular-travisyml-configuration). +You can select the Linux virtualization type by setting a `virt` tag to either `vm` or `lxd`. See relevant `.travis.yml` examples [below](/user/reference/overview/#for-a-particular-travisyml-configuration). -### macOS - -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- -A [macOS](/user/reference/osx/) environment for Objective-C and other macOS specific projects ### Windows @@ -74,30 +65,24 @@ A [Windows](/user/reference/windows/) environment running Windows Server, versio ### Virtualization Environment vs. Operating System -- Travis CI will stop support for macOS starting March 31st, 2025. -
-
-- The following table summarizes the differences across virtual environments and operating systems: -| | Ubuntu Linux ([Noble](/user/reference/noble/), Ubuntu Linux ([Jammy](/user/reference/jammy/), Ubuntu Linux ([Focal](/user/reference/focal/), [Bionic](/user/reference/bionic/), [Xenial](/user/reference/xenial/) , [Trusty](/user/reference/trusty/), [Precise](/user/reference/precise/)) | [macOS](/user/reference/osx/) | [Windows](/user/reference/windows/) | Ubuntu Linux / LXD container ([Focal](/user/reference/focal/), [Bionic](/user/reference/bionic/), [Xenial](/user/reference/xenial/)) | -|:---------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------|:-----------------------------------|:-------------------------------------------------------| -| Name | Ubuntu | macOS | Windows | Ubuntu | -| Status | Current | Current | Early release | Beta | -| Infrastructure | Virtual machine on GCE or AWS | Virtual machine | Virtual machine on GCE | ARM: LXD container on Packet or AWS- Travis CI will stop support for macOS starting March 31st, 2025. -
-