diff --git a/docs/docker-base-images/index.xml b/docs/docker-base-images/index.xml index 4e5934b..1391b41 100644 --- a/docs/docker-base-images/index.xml +++ b/docs/docker-base-images/index.xml @@ -6,11 +6,11 @@ Recent content in Docker Base Images on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/docker-base-images/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/docker-base-images/readme/ Readme diff --git a/docs/docker-base-images/readme/index.html b/docs/docker-base-images/readme/index.html index b9114d3..d2f9ac5 100644 --- a/docs/docker-base-images/readme/index.html +++ b/docs/docker-base-images/readme/index.html @@ -12,8 +12,8 @@ - - + +

Readme

-

OCaml-CI Build Status

+

OCaml-CI Build Status

This is an OCurrent pipeline that builds Docker images for OCaml, for various combinations of Linux distribution, Windows version, OCaml version and architecture.

diff --git a/docs/index.html b/docs/index.html index 4458bdf..82ac0c5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -158,7 +158,7 @@

Opam Repo CI

Readme
@@ -177,7 +177,7 @@

Opam Health Check

Readme
@@ -196,7 +196,7 @@

OCurrent Deployer

VM Host Machine
@@ -208,7 +208,7 @@

OCurrent Deployer

Readme
@@ -227,7 +227,7 @@

OCurrent

Write your own plugin
@@ -239,7 +239,7 @@

OCurrent

The build cache
@@ -251,7 +251,7 @@

OCurrent

Internal overview
@@ -263,7 +263,7 @@

OCurrent

Example pipelines
@@ -282,7 +282,7 @@

OCaml Multicore CI

Readme
@@ -301,7 +301,7 @@

OCaml Docs CI

Readme
@@ -320,7 +320,7 @@

OCaml CI

Readme
@@ -332,7 +332,7 @@

OCaml CI

Development notes
@@ -344,7 +344,7 @@

OCaml CI

Deploy on Docker
@@ -363,7 +363,7 @@

Docker Base Images

Readme
diff --git a/docs/index.xml b/docs/index.xml index e6e1a75..32eae85 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -6,6 +6,6 @@ Recent content in OCurrent Docs on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 diff --git a/docs/ocaml-ci/dev/index.html b/docs/ocaml-ci/dev/index.html index 52277a4..ab7d6da 100644 --- a/docs/ocaml-ci/dev/index.html +++ b/docs/ocaml-ci/dev/index.html @@ -12,8 +12,8 @@ - - + + Development notes

Local development

-

This document sets you up to use locally running instances of ocaml-ci-service and ocaml-ci-web to build an OCaml project that is in a repository owned by your GitHub user.

-

Setting up a GitHub App

-

Since ocaml-ci is a GitHub App, create a GitHub App (settings/apps) under your own user and point it to localhost via a webhook payload delivery service like smee.io.

+

This document sets you up to use local instances of ocaml-ci-service and ocaml-ci-web running in Docker containers to build an OCaml project that is in a repository owned by your GitHub user.

+

Setting up a GitHub App

+

ocaml-ci uses the functionality of a GitHub App to interact with GitHub. To use ocaml-ci yourself you must create your own. You can create a GitHub App (settings/apps) under your own user and point it to localhost via a webhook payload delivery service like smee.io.

To do this, follow the instructions in Setting up your development environment to create a GitHub App but when it comes to setting permissions for your app, set the following as the “Repository permissions”:

Checks: Read and write
 Commit statuses: Read and write
@@ -98,49 +98,42 @@ 

Setting up a GitHub App

Create
 Pull request
 Push
-

Running the GitHub pipeline locally

+

Running the GitHub pipeline locally

You will need the following:

  1. The GitHub App ID of the app you created
  2. -
  3. The pem file containing the private key associated to the app
  4. -
  5. A comma separated list of GitHub accounts to allow - this could start out as just your GitHub account
  6. -
  7. A capability file for submitting jobs to a cluster, in this case the main ocaml-ci cluster as documented in https://github.com/ocurrent/ocluster#admin
  8. -
  9. The app webhook secret that is used to authenticate to the app
  10. +
  11. A comma-separated list of GitHub accounts to allow—this could start out as just your GitHub account
  12. +
  13. A file private-key.pem containing the private key associated with the app
  14. +
  15. A file webhook-secret containing the webhook secret that is used to authenticate with the app
-
dune exec -- ocaml-ci-service \
-  --github-app-id <your-github-app-id> \
-  --github-private-key-file <path-to/private-key.pem> \
-  --github-account-allowlist <your-github-username> \
-  --submission-service <path-to-the-submission-capability-file> \
-  --github-webhook-secret-file <path-to-the-app-secret> \
-  --capnp-listen-address tcp:127.0.0.1:9001
-  --migration-path "$PWD/migrations"
-

This will generate a capability file. See the logs for Wrote capability reference to "./capnp-secrets/ocaml-ci-admin.cap"

-

You should see the admin site on localhost:8080

-

Running the GitLab pipeline locally

-

You will need the following:

-
    -
  1. The GitLab API token with permissions to the repositories to build
  2. -
  3. GitLab secret associated with webhooks
  4. -
  5. A capability file for submitting jobs to a cluster, in this case the main ocaml-ci cluster as documented in https://github.com/ocurrent/ocluster#admin
  6. -
-
dune exec -- ocaml-ci-gitlab \
-  --gitlab-token-file <your-gitlab-token> \
-  --gitlab-webhook-secret-file <your-gitlab-secret> \
-  --submission-service <path-to-the-submission-capability-file> \
-  --capnp-listen-address tcp:127.0.0.1:9800
-  --migration-path "$PWD/migrations"
-

This will generate a capability file. See the logs for Wrote capability reference to "./capnp-secrets/ocaml-ci-gitlab-admin.cap"

-

Running the web client locally

-

Using the capability file written out by the service, run the web client as follows:

-
dune exec -- ocaml-ci-web \
-  --backend ./capnp-secrets/ocaml-ci-admin.cap \
-  --gitlab-backend ./capnp-secrets/ocaml-ci-gitlab-admin.cap
-

You should see the client site on localhost:8090 note that both backends are optional so you can run just the github or gitlab pipelines.

-

Running a scheduler and a worker (OPTIONAL)

-

You can run a scheduler and a worker to connect it to the CI. -Follow the instruction from ocurrent/ocluster.

-

Migrations

+

private-key.pem and webhook-secret must be stored in the same directory on the host. The directory path will be needed.

+

Create a file /etc/caddy/Caddyfile containing:

+
{
+	log default {
+		level WARN
+	}
+}
+
+http://localhost:8100 {
+	reverse_proxy service:8080
+}
+
+http://localhost {
+	reverse_proxy web:8090
+}
+

You can then start the services with:

+
APP_ID=... ALLOW_LIST=... SECRETS_DIR=... docker compose up
+

You should see the admin site on http://localhost:8100 and the user site on http://localhost.

+

Alternatively, you can store the environment variables in a .env file at the root of the project. For example:

+
APP_ID=359343
+ALLOW_LIST="myusername,ocurrent"
+SECRETS_DIR=$HOME/ci_secrets/
+

You can then run the compose as simply:

+
docker compose up
+

If you want webhooks to be directed to your application, start smee in another terminal, replacing the argument to --url with the URL you generated before on smee.io:

+
smee --url https://smee.io/xxxxxxxxxxxxxxxx --path /webhooks/github --port 8100
+

Make sure that the GitHub App is sending webhooks to the URL, specified in its settings.

+

Migrations

Migrations are managed using omigrate. If you are using an opam switch for ocaml-ci then omigrate should be installed and you can create a new migration by doing this from the project root:

omigrate create --dir migrations <migration-name>
 

This will create timestamped files in the migrations directory that you can then populate with the sql necessary to introduce and remove the migration (in the up and down files respectively).

diff --git a/docs/ocaml-ci/docker-deployment/index.html b/docs/ocaml-ci/docker-deployment/index.html index c7c5dda..6175bbe 100644 --- a/docs/ocaml-ci/docker-deployment/index.html +++ b/docs/ocaml-ci/docker-deployment/index.html @@ -12,8 +12,8 @@ - - + + Recent content in OCaml CI on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Deploy on Docker https://www.ocurrent.org/docs/ocaml-ci/docker-deployment/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/docker-deployment/ Deploy on Docker @@ -19,7 +19,7 @@ Development notes https://www.ocurrent.org/docs/ocaml-ci/dev/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/dev/ Development notes @@ -28,7 +28,7 @@ Readme https://www.ocurrent.org/docs/ocaml-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/readme/ Readme diff --git a/docs/ocaml-ci/readme/index.html b/docs/ocaml-ci/readme/index.html index 32d3427..3b57f69 100644 --- a/docs/ocaml-ci/readme/index.html +++ b/docs/ocaml-ci/readme/index.html @@ -12,8 +12,8 @@ - - + + OCaml-CI
  • Go to https://github.com/apps/ocaml-ci and install the app for your GitHub user.
  • Configure just the repositories you want to test (start with one!). If you select All Repositories we won’t build anything.
  • Ask us to add you to the alpha-testers list by submitting a PR against this -repository adding yourself to --github-account-allowlist in stack.yml. eg https://github.com/ocurrent/ocaml-ci/pull/346. Additionally, please add yourself to deploy-data/github-organisations.txt.
  • +repository adding yourself to deploy-data/github-organisations.txt.
  • Add a status badge from the OCaml-CI endpoint with:
    [![OCaml-CI Build Status](https://img.shields.io/endpoint?url=https://ocaml.ci.dev/badge/<user>/<repo>/<branch>&logo=ocaml)](https://ocaml.ci.dev/github/<user>/<repo>)
     
  • @@ -119,7 +119,7 @@

    Installation

    opam install --deps-only ./ocaml-dockerfile ./ocluster ./ocurrent ./solver-service .

    Note: you need to clone with --recursive because this project uses submodules (it depends on some packages that aren’t released yet). -If you forget, git submodule update --init will fetch them.

    +If you forget, git submodule update --init --recursive will fetch them.

    To test the CI on a local Git clone, you need to first install the dependencies and then use dune exec as shown below:

    opam update
    @@ -191,7 +191,7 @@ 

    Remote API

  • git push -u upstream HEAD:live-www
  • To deploy changes to stack.yml run (assuming a docker context with sufficient access):

    -
    docker -c ocaml.ci.dev stack deploy -c stack.yml ocaml-ci
    +
    make deploy-stack
     

    Opam repository updates

    When it is updated opam-repository sends a webhook to Ocaml-ci triggering its pipelines. This mechanism allows builds to remain up to date with changes in the opam package ecosystem. For further details of this webhook, diff --git a/docs/ocaml-docs-ci/index.xml b/docs/ocaml-docs-ci/index.xml index 1745bac..ad97aa9 100644 --- a/docs/ocaml-docs-ci/index.xml +++ b/docs/ocaml-docs-ci/index.xml @@ -6,11 +6,11 @@ Recent content in OCaml Docs CI on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/ocaml-docs-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-docs-ci/readme/ Readme diff --git a/docs/ocaml-docs-ci/readme/index.html b/docs/ocaml-docs-ci/readme/index.html index a5f5354..4f1c8da 100644 --- a/docs/ocaml-docs-ci/readme/index.html +++ b/docs/ocaml-docs-ci/readme/index.html @@ -12,8 +12,8 @@ - - + + Readme

    Docs CI

    OCaml-CI Build Status

    -

    OCaml Docs CI (aka docs-ci) is an OCurrent pipeline used for building the documentation for ocaml.org website. -It uses the metadata from opam-repository to work out how to build documentation for individual -packages using voodoo, the OCaml package documentation generator, and generates a HTML output -suitable for ocaml.org server to present.

    +

    OCaml Docs CI (aka ocaml-docs-ci or just docs-ci) is an OCurrent pipeline used to build the documentation for ocaml.org website. +It uses the metadata from opam-repository to work out how to build documentation for individual packages using voodoo, the OCaml package documentation generator, and generates a HTML output suitable for ocaml.org server.

    Installation

    Get the code with:

    git clone --recursive https://github.com/ocurrent/ocaml-docs-ci.git
    @@ -104,11 +102,11 @@ 

    Installation

    # Run the tests dune build @runtest -

    Documentation

    -

    At a high level docs-ci purpose is to compile the documentation of every package in the opamverse. To do this is generates +

    Architecture

    +

    At a high level docs-ci purpose is to compile the documentation of every package in the opamverse. To do this it generates a dependency universe. For each package (along with the version), the documentation is generated for it plus all of its dependencies. This documentation is then collected into a documentation set and provided to the ocaml.org service. -The voodoo tool defines the on disk format for the documentation set.

    +The voodoo tool defines the on disk format for the documentation set.

    For further details on how docs-ci works read the pipeline diagram.

    Deployment

    ocaml-docs-ci is deployed as into two environments, with ocurrent-deployer. The application is deployed as a series of Docker containers from a git branch.

    @@ -145,21 +143,28 @@

    Deployment

    OAuth integration provided by GitHub OAuth Apps hosted under the OCurrent organisation. See https://github.com/organizations/ocurrent/settings/applications

    -

    The infrastructure for ocaml-docs-ci is managed via Ansible. -Contact @tmcgilchrist or @mtelvers if you need access or have questions.

    +

    The infrastructure for docs-ci is managed via Ansible, contact @tmcgilchrist or @mtelvers if you need access or have questions.

    To deploy a new version of docs-ci:

    1. Create a PR and wait for the GH Checks to run (ocaml-ci compiles the code and ocurrent-deployer checks it can build the Dockerfiles for the project)
    2. Test the changes on staging environment by git cherry picking the commits to that branch and pushing it
    3. -
    4. Check deploy.ci.ocaml.org for ocaml-docs-ci
    5. +
    6. Check deploy.ci.ocaml.org for docs-ci

    Follow a similar process for live exercising extra caution as it could impact the live ocaml.org service.

    The git history on live and staging MUST be kept in sync with the default branch. Those branches should be the same as main plus or minus some commits from a PR.

    Remote API

    -

    TODO Provide cli over canpnp.

    +

    docs-ci has a cli tool (ocaml-docs-ci-client) for interacting with the pipeline over CapnP. It provides commands to:

    +
      +
    • diff-pipelines - to show the changes between two pipeline runs
    • +
    • health-check - to provide information about a specific pipeline run
    • +
    • status - build status of a package
    • +
    • status-by-pipeline - build status of a package in the two most recent pipeline runs
    • +
    • steps - build steps of a package
    • +
    +

    The output is via json, which is intended to be combined with jq to display and query for pieces of information.

    Local Development

    -

    docs-ci is runable as:

    +

    ocaml-docs-ci is runable as:

    dune exec -- ocaml-docs-ci \
         --ocluster-submission cap/XXX.cap \
         --ssh-host ci.mirage.io \
    @@ -176,11 +181,19 @@ 

    Local Development

  • ocluster scheduler
  • ocluster Linux x86 worker
  • nginx webserver for generated docs
  • -
  • docs-ci built from the local git checkout
  • +
  • ocaml-docs-ci built from the local git checkout
  • Run this command to create an environment:

    $ docker-compose -f docker-compose.yml up
     

    You should then be able to watch the pipeline in action at http://localhost:8080.

    +

    Migrations

    +

    Migrations are managed using omigrate. If you are using an opam switch for ocaml-docs-ci then omigrate should be installed and you can create a new migration by doing this from the project root:

    +
    $ omigrate create --dir migrations <migration-name>
    +

    This will create timestamped files in the migrations directory that you can then populate with the sql necessary to introduce and remove the migration (in the up and down files respectively).

    +

    Migrations will not run unless the –migration-path flag is present when invoking ocaml-docs-ci-service.

    +

    Epoch management

    +

    Epochs are used in ocaml-docs-ci to organise sets of artifacts all produced by the same odoc/voodoo version. +There is a cli tool for managing epochs described in epoch.md.

    diff --git a/docs/ocaml-multicore-ci/index.xml b/docs/ocaml-multicore-ci/index.xml index f5ee98e..4f911fa 100644 --- a/docs/ocaml-multicore-ci/index.xml +++ b/docs/ocaml-multicore-ci/index.xml @@ -6,11 +6,11 @@ Recent content in OCaml Multicore CI on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/ocaml-multicore-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-multicore-ci/readme/ Readme diff --git a/docs/ocaml-multicore-ci/readme/index.html b/docs/ocaml-multicore-ci/readme/index.html index 6fb572f..ab4a415 100644 --- a/docs/ocaml-multicore-ci/readme/index.html +++ b/docs/ocaml-multicore-ci/readme/index.html @@ -12,8 +12,8 @@ - - + + Recent content in OCurrent Deployer on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/ocurrent-deployer/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent-deployer/readme/ Readme @@ -19,7 +19,7 @@ VM Host Machine https://www.ocurrent.org/docs/ocurrent-deployer/vm-host/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent-deployer/vm-host/ VM Host Machine diff --git a/docs/ocurrent-deployer/readme/index.html b/docs/ocurrent-deployer/readme/index.html index 92e3c1d..9471048 100644 --- a/docs/ocurrent-deployer/readme/index.html +++ b/docs/ocurrent-deployer/readme/index.html @@ -12,8 +12,8 @@ - - + + - - + + - - + + - - + + Recent content on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Example pipelines https://www.ocurrent.org/docs/ocurrent/example_pipelines/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/example_pipelines/ Example pipelines @@ -19,7 +19,7 @@ Internal overview https://www.ocurrent.org/docs/ocurrent/internals/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/internals/ Internal overview @@ -28,7 +28,7 @@ The build cache https://www.ocurrent.org/docs/ocurrent/disk_cache/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/disk_cache/ The build cache @@ -37,7 +37,7 @@ Write your own plugin https://www.ocurrent.org/docs/ocurrent/writing_plugins/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/writing_plugins/ Write your own plugin diff --git a/docs/ocurrent/internals/index.html b/docs/ocurrent/internals/index.html index 00d04d5..21a16fa 100644 --- a/docs/ocurrent/internals/index.html +++ b/docs/ocurrent/internals/index.html @@ -12,8 +12,8 @@ - - + + - - + + Recent content in Opam Health Check on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/opam-health-check/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/opam-health-check/readme/ Readme diff --git a/docs/opam-health-check/readme/index.html b/docs/opam-health-check/readme/index.html index 6455451..f7635a8 100644 --- a/docs/opam-health-check/readme/index.html +++ b/docs/opam-health-check/readme/index.html @@ -12,8 +12,8 @@ - - + + How to use opam-health-check remo give the key to your new user. She now just need to do the same procedure but with her username.

    Side note: every user have the same rights and can add new users.

    Enjoy.

    - +

    Troubleshooting

    +

    My config.yaml file is getting reset when I edit it!

    +

    You should make sure no instance of opam-health-serve is running before editing an instance configuration file.

    +

    I started opam-health-serve, ran opam-health-check run, and nothing seems to be happening.

    +

    Overall this takes a while. You can run opam-health-check log to follow the progress. Once it’s done, you can visit http://localhost:port (where port is set in your config.yaml) to visualize the results.

    +

    Can I use opam-health-check to build packages on a custom compiler switch?

    +

    Sure, to do that, you need to fork opam-repository, add your compiler switch to it, and point to your forked repository in the extra-repositories field of the config.yaml file. E.g.:

    +
    name: default
    +port: 8080
    +# [...]
    +default-repository: ocaml/opam-repository
    +extra-repositories:
    +- alpha:
    +    github: kit-ty-kate/opam-alpha-repository
    +    for-switches:
    +    - 5.0+more_volatile
    +- more-volatile-switch:
    +    github: OlivierNicole/opam-repository#more_volatile_switch
    +    for-switches:
    +    - 5.0+more_volatile
    +with-test: false
    +with-lower-bound: false
    +list-command: opam list --available --installable --short --all-versions
    +# [...]
    +ocaml-switches:
    +- "4.14": 4.14.0
    +- "5.0": 5.0.0
    +- "5.0+more_volatile": ocaml-variants.5.0.0+more_volatile
    +slack-webhooks: []
    +
    diff --git a/docs/opam-repo-ci/index.xml b/docs/opam-repo-ci/index.xml index ac6c53d..72d6126 100644 --- a/docs/opam-repo-ci/index.xml +++ b/docs/opam-repo-ci/index.xml @@ -6,11 +6,11 @@ Recent content in Opam Repo CI on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Readme https://www.ocurrent.org/docs/opam-repo-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/opam-repo-ci/readme/ Readme diff --git a/docs/opam-repo-ci/readme/index.html b/docs/opam-repo-ci/readme/index.html index 347ed9f..05cd812 100644 --- a/docs/opam-repo-ci/readme/index.html +++ b/docs/opam-repo-ci/readme/index.html @@ -12,8 +12,8 @@ - - + + Readme

    opam-ci

    Status: experimental

    This is an OCurrent pipeline that tests submissions to opam-repository.

    -

    To test locally you will need:

    -
      -
    1. A personal access token from GitHub.
    2. -
    3. A submission.cap for an OCluster build cluster.
    4. -
    -

    Run the opam-repo-ci-local command -(you might need to increase the limit on the number of open files):

    +

    To test locally you will need a local copy of the opam-repository Git repo. Run the opam-repo-ci-local command (you might need to increase the limit on the number of open files):

    ulimit -n 102400
     dune exec -- opam-repo-ci-local \
       --confirm harmless \
    -  --submission-service submission.cap \
    -  --github-token-file token \
    +  --repo REPO-PATH \
    +  --branch BRANCH-NAME \
       --capnp-address tcp:127.0.0.1:5001
    -

    Browse to http://localhost:8080 to see the web UI. +

    Here REPO-PATH is the relative or absolute path to your copy of opam-repository, and BRANCH-NAME is the name of the branch containing the changes you want to make, relative to the master branch.

    +

    Browse to http://localhost:8080 to see the web UI. You can either set the confirm threshold (at the bottom of the web page) to allow all builds to start, or just click on a yellow box and then on the Start now button to start one step manually.

    The analysis step will detect which packages have been changed. @@ -109,7 +104,7 @@

    opam-ci

    depend on this one and test them too.

    Web UI

    The public web front-end is a separate process. -It needs a .cap file to connect to the engine. +It needs a .cap capability file to connect to the engine. If you have the file for the real service, you can use that. If you’re testing the engine locally (as shown above), you can use the ./capnp-secrets/opam-repo-ci-admin.cap that it writes out.

    diff --git a/index.xml b/index.xml index 2d2dd90..db39287 100644 --- a/index.xml +++ b/index.xml @@ -6,11 +6,11 @@ Recent content in Welcome to OCurrent on OCurrent Hugo -- gohugo.io en-us - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 Deploy on Docker https://www.ocurrent.org/docs/ocaml-ci/docker-deployment/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/docker-deployment/ Deploy on Docker @@ -19,7 +19,7 @@ Development notes https://www.ocurrent.org/docs/ocaml-ci/dev/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/dev/ Development notes @@ -28,7 +28,7 @@ Example pipelines https://www.ocurrent.org/docs/ocurrent/example_pipelines/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/example_pipelines/ Example pipelines @@ -37,7 +37,7 @@ Internal overview https://www.ocurrent.org/docs/ocurrent/internals/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/internals/ Internal overview @@ -46,7 +46,7 @@ Readme https://www.ocurrent.org/docs/docker-base-images/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/docker-base-images/readme/ Readme @@ -55,7 +55,7 @@ Readme https://www.ocurrent.org/docs/ocaml-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-ci/readme/ Readme @@ -64,7 +64,7 @@ Readme https://www.ocurrent.org/docs/ocaml-docs-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-docs-ci/readme/ Readme @@ -73,7 +73,7 @@ Readme https://www.ocurrent.org/docs/ocaml-multicore-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocaml-multicore-ci/readme/ Readme @@ -82,7 +82,7 @@ Readme https://www.ocurrent.org/docs/ocurrent-deployer/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent-deployer/readme/ Readme @@ -91,7 +91,7 @@ Readme https://www.ocurrent.org/docs/opam-health-check/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/opam-health-check/readme/ Readme @@ -100,7 +100,7 @@ Readme https://www.ocurrent.org/docs/opam-repo-ci/readme/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/opam-repo-ci/readme/ Readme @@ -109,7 +109,7 @@ The build cache https://www.ocurrent.org/docs/ocurrent/disk_cache/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/disk_cache/ The build cache @@ -118,7 +118,7 @@ VM Host Machine https://www.ocurrent.org/docs/ocurrent-deployer/vm-host/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent-deployer/vm-host/ VM Host Machine @@ -127,7 +127,7 @@ Write your own plugin https://www.ocurrent.org/docs/ocurrent/writing_plugins/ - Thu, 20 Jul 2023 00:00:00 +0000 + Wed, 08 May 2024 00:00:00 +0000 https://www.ocurrent.org/docs/ocurrent/writing_plugins/ Write your own plugin diff --git a/sitemap.xml b/sitemap.xml index 8a685ca..35379cc 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -3,76 +3,76 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> https://www.ocurrent.org/docs/ocaml-ci/docker-deployment/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-ci/dev/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/docker-base-images/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent/example_pipelines/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent/internals/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-ci/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-docs-ci/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-multicore-ci/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent-deployer/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/opam-health-check/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/opam-repo-ci/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/docker-base-images/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-ci/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-docs-ci/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocaml-multicore-ci/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent-deployer/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/opam-health-check/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/opam-repo-ci/readme/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent/disk_cache/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent-deployer/vm-host/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/ocurrent/writing_plugins/ - 2023-07-20T00:00:00+00:00 + 2024-05-08T00:00:00+00:00 https://www.ocurrent.org/docs/tutorials/build-gatsby-deployer.md/ 2021-01-22T00:00:00+00:00