Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git.fetch: don't take repository lock until the job starts #116

Merged
merged 1 commit into from Feb 20, 2020

Conversation

talex5
Copy link
Contributor

@talex5 talex5 commented Feb 20, 2020

Otherwise, we can only manually start whichever job happened to take the lock first.

Otherwise, we can only manually start whichever job happened to take the
lock first.
@talex5 talex5 merged commit 63e92bc into ocurrent:master Feb 20, 2020
@talex5 talex5 deleted the git-lock branch February 20, 2020 16:35
talex5 added a commit to talex5/opam-repository that referenced this pull request Apr 3, 2020
…urrent_git, current_slack, current_ansi, current_rpc, current_incr and current_examples (0.2)

CHANGES:

The main new feature is that OCurrent now evaluates pipelines incrementally.
This means that services with large pipelines (such as ocaml-ci, with around
10,000 stages) can decide what they need to do without using an excessive
amount of CPU time.

- Replace changed promises with `Engine.update` (@talex5, ocurrent/ocurrent#135)
- Evaluate pipelines incrementally (@talex5, ocurrent/ocurrent#144)
- Avoid unnecessary re-evaluations in `Current.list_map` (@talex5, ocurrent/ocurrent#148)
- Change the representation of terms to support incremental evaluation (@talex5, ocurrent/ocurrent#150)

Documentation:

- Added [Internals](https://github.com/ocurrent/ocurrent/wiki/Internals) wiki
  page explaining how OCurrent works.
- Update README.md to link the [API Docs](https://ocurrent.github.io/ocurrent/index.html) (@shonfeder, ocurrent/ocurrent#145)
- Fix typo in README ("about" -> "above") (@smolck, ocurrent/ocurrent#100)

Docker plugin:

- Add support for run-arguments in docker plugin (@MagnusS, ocurrent/ocurrent#96)
- Add `?build_args` parameter to `Current_docker` build (@SquidDev, ocurrent/ocurrent#102)
- Allow alternative Dockerfile filenames in `Docker.build` (@talex5, ocurrent/ocurrent#111)
- Add `Docker.pread` to get container stdout as a string (@kit-ty-kate, ocurrent/ocurrent#120)
- Make it easier to add custom Docker commands (@talex5, ocurrent/ocurrent#130)

Git plugin:

- Git.fetch: don't take repository lock until the job starts (@talex5, ocurrent/ocurrent#116)

GitHub plugin:

- Add `Github.Api.head_of` to track individual branches (@talex5, ocurrent/ocurrent#114)
- Expose the low-level `refs` function to get access to branch names and PR
  numbers (@talex5, ocurrent/ocurrent#123)
- Add `Commit.uri` to make links back to GitHub (@talex5, ocurrent/ocurrent#131)
- Better error if setting a GitHub commit status fails (@talex5, ocurrent/ocurrent#151)
- Only refresh the repository that generated the webhook event, not all of them (@talex5, ocurrent/ocurrent#156)

Web UI:

- Use routes library to simplify routing (@talex5, ocurrent/ocurrent#160)
- Add "/jobs" page with information about active jobs (@talex5, ocurrent/ocurrent#125)
- Mark HTML pages as UTF-8 (@talex5, ocurrent/ocurrent#128)

Dependencies:

- Update to new Alcotest API (@talex5, ocurrent/ocurrent#121)
- Use mirage-crypto instead of nocrypto (@hannesm, ocurrent/ocurrent#161)

Bug fixes:

- Fix analysis with hidden `catch`/`state` nodes (@talex5, ocurrent/ocurrent#134)
- Allow cancelling a job while waiting for confirmation (@talex5 ocurrent/ocurrent#137)
- Fix merging of error states for pairs (@talex5, ocurrent/ocurrent#147)

Metrics:

- Report Prometheus metrics for pipeline stage states (@talex5, ocurrent/ocurrent#115)
- Report metric for cache evaluations (@talex5, ocurrent/ocurrent#143)

Build improvements:

- Make dune transitive dependencies explicit (@craigfe, ocurrent/ocurrent#97)
- Add OCaml-CI status badge to the README (@craigfe, ocurrent/ocurrent#107)

Other:

- Explicitly enumerate accepted `--confirm` values (@craigfe, ocurrent/ocurrent#108)
- Rename `Input` to `Primitive` and simplify the API (@talex5, ocurrent/ocurrent#154)
- Call `Lwt_main.yield` while testing log patterns (@talex5, ocurrent/ocurrent#155)
- Add `Current.collapse` to allow collapsing parts of diagrams (@talex5, ocurrent/ocurrent#152)
- Add `Current.with_context` to help with diagram layout (@talex5, ocurrent/ocurrent#159)
talex5 added a commit to talex5/opam-repository that referenced this pull request Apr 3, 2020
…urrent_git, current_slack, current_ansi, current_rpc, current_incr and current_examples (0.2)

CHANGES:

The main new feature is that OCurrent now evaluates pipelines incrementally.
This means that services with large pipelines (such as ocaml-ci, with around
10,000 stages) can decide what they need to do without using an excessive
amount of CPU time.

- Replace changed promises with `Engine.update` (@talex5, ocurrent/ocurrent#135)
- Evaluate pipelines incrementally (@talex5, ocurrent/ocurrent#144)
- Avoid unnecessary re-evaluations in `Current.list_map` (@talex5, ocurrent/ocurrent#148)
- Change the representation of terms to support incremental evaluation (@talex5, ocurrent/ocurrent#150)

Documentation:

- Added [Internals](https://github.com/ocurrent/ocurrent/wiki/Internals) wiki
  page explaining how OCurrent works.
- Update README.md to link the [API Docs](https://ocurrent.github.io/ocurrent/index.html) (@shonfeder, ocurrent/ocurrent#145)
- Fix typo in README ("about" -> "above") (@smolck, ocurrent/ocurrent#100)

Docker plugin:

- Add support for run-arguments in docker plugin (@MagnusS, ocurrent/ocurrent#96)
- Add `?build_args` parameter to `Current_docker` build (@SquidDev, ocurrent/ocurrent#102)
- Allow alternative Dockerfile filenames in `Docker.build` (@talex5, ocurrent/ocurrent#111)
- Add `Docker.pread` to get container stdout as a string (@kit-ty-kate, ocurrent/ocurrent#120)
- Make it easier to add custom Docker commands (@talex5, ocurrent/ocurrent#130)

Git plugin:

- Git.fetch: don't take repository lock until the job starts (@talex5, ocurrent/ocurrent#116)

GitHub plugin:

- Add `Github.Api.head_of` to track individual branches (@talex5, ocurrent/ocurrent#114)
- Expose the low-level `refs` function to get access to branch names and PR
  numbers (@talex5, ocurrent/ocurrent#123)
- Add `Commit.uri` to make links back to GitHub (@talex5, ocurrent/ocurrent#131)
- Better error if setting a GitHub commit status fails (@talex5, ocurrent/ocurrent#151)
- Only refresh the repository that generated the webhook event, not all of them (@talex5, ocurrent/ocurrent#156)

Web UI:

- Use routes library to simplify routing (@talex5, ocurrent/ocurrent#160)
- Add "/jobs" page with information about active jobs (@talex5, ocurrent/ocurrent#125)
- Mark HTML pages as UTF-8 (@talex5, ocurrent/ocurrent#128)

Dependencies:

- Update to new Alcotest API (@talex5, ocurrent/ocurrent#121)
- Use mirage-crypto instead of nocrypto (@hannesm, ocurrent/ocurrent#161)

Bug fixes:

- Fix analysis with hidden `catch`/`state` nodes (@talex5, ocurrent/ocurrent#134)
- Allow cancelling a job while waiting for confirmation (@talex5 ocurrent/ocurrent#137)
- Fix merging of error states for pairs (@talex5, ocurrent/ocurrent#147)

Metrics:

- Report Prometheus metrics for pipeline stage states (@talex5, ocurrent/ocurrent#115)
- Report metric for cache evaluations (@talex5, ocurrent/ocurrent#143)

Build improvements:

- Make dune transitive dependencies explicit (@craigfe, ocurrent/ocurrent#97)
- Add OCaml-CI status badge to the README (@craigfe, ocurrent/ocurrent#107)

Other:

- Explicitly enumerate accepted `--confirm` values (@craigfe, ocurrent/ocurrent#108)
- Rename `Input` to `Primitive` and simplify the API (@talex5, ocurrent/ocurrent#154)
- Call `Lwt_main.yield` while testing log patterns (@talex5, ocurrent/ocurrent#155)
- Add `Current.collapse` to allow collapsing parts of diagrams (@talex5, ocurrent/ocurrent#152)
- Add `Current.with_context` to help with diagram layout (@talex5, ocurrent/ocurrent#159)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant