Skip to content

robofit/arcor2_client_sdk

Repository files navigation

Arcor2.ClientSdk

This repository contains client libraries and related projects for the ARCOR2 system.

For detailed information see the README included in each project directory.

Contents

  • Arcor2.ClientSdk.Communication.OpenApi: Data models generated from server's OpenAPI specification. Use the included generate_models.sh script to regenerate.
  • Arcor2.ClientSdk.Communication: Lightweight maintainable client library designed to act as a universel typed wrapper.
  • Arcor2.ClientSdk.Communication.UnitTests: Unit tests for the Communication library.
  • Arcor2.ClientSdk.ClientServices: All in one client library designed to be a complete backend solution. Manages the local state and provides simpler object-oriented interface.
  • Arcor2.ClientSdk.ClientServices.ConsoleTestApp: A trivial console client using the ClientServices library. Showcases the basic usage in a simple way.
  • Arcor2.ClientSdk.ClientServices.UnitTests: Unit tests for extension and helper methods for the ClientServices library.
  • Arcor2.ClientSdk.ClientServices.IntegrationTests: Integration tests for RPCs and events for the ClientServices library. Uses FIT Demo server using Testcontainers with mock Dobot robots.

Building, Releasing, and CI/CD Pipeline

The CI/CD pipeline automatically performs DevOps operations on pull requests or commits to the main branch. It runs unit tests, builds the libraries into .NET Standard 2.1 assemblies, and releases created NuGet packages.

To automatically release NuGet packages, make sure the Publish NuGet packages task is uncommented and the NUGET_API_KEY secret set. Package configuration is configured within the project files. Make sure to bump the version up according to Semantic versioning in .NET.

Integration tests are executed only for pull requests labeled run-integration-tests. Currently, each test instance regenerates the ARCOR2 server, leading to excessive resource consumption (approximately 4 hours of pipeline time). Although tests are written to clean up after themselves, bugs with the ARCOR2 server cause cascading failures. It is recommended to run the integration tests locally. See the README of the integration test project for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages