GithubHelp home page GithubHelp logo

isabella232 / swift-community-hosted-continuous-integration Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apple/swift-community-hosted-continuous-integration

0.0 0.0 0.0 79 KB

Swift Community-Hosted Continuous Integration

Home Page: https://ci-external.swift.org

License: Apache License 2.0

swift-community-hosted-continuous-integration's Introduction

Swift Community-Hosted Continuous Integration

Swift Community-Hosted CI is an extension of Swift CI that allows the community to add additional platforms. Community members can volunteer to host new platforms and they are responsible for maintaining the host nodes. The maintainer will provide a build preset which will be periodically built on the node. This allows the Swift community to see the impact of changes on a greater range of platforms.

Current List of Nodes

  • Fedora 33
  • Fedora Rawhide
  • ARMv7 for Debian "Stretch"
  • Ubuntu 16.04
  • Ubuntu 18.04 for TensorFlow
  • PPC64LE for Ubuntu 16.04
  • AArch64 for Ubuntu 18.04
  • AArch64 for Ubuntu 20.04
  • Android
  • macOS 10.13 for TensorFlow
  • Debian 10
  • wasm32 cross-compiled from Ubuntu 20.04

Add Nodes

  1. Create a pull request
    • Add new JSON file under nodes directory - nodes/_<os_version>.json
{
   "contact":{
      "name":"Full name",
      "email":"Email address",
      "company":"Company name (optional)"
   },
   "node":{
      "platform":"Platform name",
      "os_version":"Operating system version"
   },
   "jobs":[
      {
         "display_name":"Swift - <PLATFORM> (Tools <TOOLS_CONFIG>, Stdlib <STDLIB_CONFIG>) (<BRANCH>))",
         "branch":"Swift branch",
         "preset":"Build preset from utils/build-preset.ini"
      }
   ]
}

Example: File name: macOS_10_13.json

{
   "contact":{
      "name":"Mishal Shah",
      "email":"[email protected]",
      "company":"Apple Inc"
   },
   "node":{
      "platform":"macOS",
      "os_version":"macOS 10.13"
   },
   "jobs":[
      {
         "display_name":"Swift - macOS (Tools RA, Stdlib RD) (master)",
         "branch":"master",
         "preset":"buildbot_incremental,tools=RA,stdlib=RD,build"
      }
   ]
}
  1. Verify preset builds on the server:

    • Clone Swift git clone https://github.com/apple/swift.git
    • Clone all other repositories ./swift/utils/update-checkout --scheme <BRANCH> --clone
    • Build + Test ./swift/utils/build-script --preset=<PRESET>
  2. Once the pull request has been merged, you will receive an email with a set of terms and conditions to agree to, and to exchange public key information for connecting to the CI system.

  3. You will be required to provide the following information in the email:

    • Agreement to terms and conditions
    • IP address
    • Username

Maintaining Node

The node maintainer is responsible for updating the OS with security patches, keeping the host online, and installing any required packages to build the Swift compiler on the node. In the event that the host node becomes unaccessible or offline, the maintainer is responsible for bringing the node online within two weeks of being notified. Otherwise, an un-maintained node may be removed from the CI.

swift-community-hosted-continuous-integration's People

Contributors

andrewsb avatar compnerd avatar dan-zheng avatar drodriguez avatar fiveze avatar frizlab avatar futurejones avatar kateinoigakukun avatar m3bm3b avatar maxdesiatov avatar sarveshtamba avatar shahmishal avatar tachoknight avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.