Skip to content

test-fullautomation/RobotFramework_AIO

Repository files navigation

Robot Framework AIO

Build RobotFramework AIO packages

This respository holds the build tooling for a new Robot Framework AIO (All In One) setup for both Windows and Linux.

Table of Contents

Getting Started

Manual build

Currently, RobotFramework AIO is supported to build with both Windows and Linux environments.

Preconditions

Building a RobotFramework AIO installer includes rendering the documentation. This requires the availability of some additional applications that have to be installed at first.

TeX Live is used for rendering the documentation and need to be installed first. The full collection is recommended to avoid issue when generating document but it will take long time for the installation. In case the full collection installation is not possible, at least 2 collections texlive-latex-extra and texlive-fonts-recommended should be installed together with the basic package.

Please refer requirements_linux.sh or requirements_windows.sh for the dependency packages for Linux and Windows environments.

Execute build scripts

Clone this RobotFramework_AIO repository first

git clone https://github.com/test-fullautomation/RobotFramework_AIO.git

Then follow below steps for building process:

  1. Clone all related repositories that are configured in the config/repositories/repositories.conf file

    ./cloneall
    
  2. Download and install Python 3.9 (include dependencies which are defined in install/python_requirements.txt), vscode (include the extensions which defined in install/vscode_requirement.csv or stored as *.vsix file under config/robotvscode/extensions folder) and pandoc

    ./install/install.sh
    

    Note: In case you are working behind the proxy, cntlm authentication proxy should be installed and started first then execute the install.sh with --use-cntlm argument as below command:

    ./install/install.sh --use-cntlm
    
  3. Build the installer package

    ./build
    

    Build the RobotFramework AIO package with all related libraries (defined in config/repositories/repositories.conf file).

    Build script will detect the operating system (Windows or Linux) automatically to run the appropriate steps for building installer package.

    The new generated RobotFramework AIO setup file can found under Output/ folder on Windows and output_lx on Linux machine.

Repositories configuration file

The repositories configuration file repositories.conf allows you to manage various repositories across different Git servers.

config/repositories/repositories.conf is used as default for cloneall, gitall and build scripts (without specifying in command line argument)

However, you can define your own repositories.conf configuration file (remove/add repositories from multiple Git servers) and use it for those scripts.

  • Define supported git server(s) (alias name) and their project/user url in [supported-server]
     [supported-server]
     gitlab=https://gitlab.com/robotframework-aio
     github=https://github.com/test-fullautomation
     bitbucket=ssh://[email protected]:7999/robfw
    
  • List all repositories for each supported Git server
     [gitlab]
     robotframework-otherlibraries=
     ...
    
     [github]
     robotframework=
     ...
    
     [bitbucket]
     python-libraries=
     ...
    
    You can also specify the branch/commit/tag to switch to after cloning (only used for cloneall script)
     ...
     [github]
     robotframework=develop_6.1
     ...
    

Then, execute the scripts with additional argument --config-file=<path-to-your-config-file>

./cloneall --config-file=<path-to-your-config-file>
./gitall --config-file=<path-to-your-config-file> <git-command>
./build --config-file=<path-to-your-config-file>

Other tools:

  1. gitall

    The gitall tool allows to execute Git commands across multiple repositories defined in a above repositories configuration file. Before using gitall, ensure that all repositories have been cloned with the cloneall tool.

    Usage:

    • Check status
       ./gitall
      
      or
       ./gitall status
      
    • Create git commit:
       ./gitall commit -m "Commit message"
      
    • Use with custom repositories configuration file:
       ./gitall --config-file=<path-to-your-config-file> commit -m "Commit message" 
      

Github Actions

Workflow

The workflow to build RobotFramework AIO package is available in "Github Actions" of this repository.

There are build jobs available for both environments Windows and Linux. These build jobs contain the following main steps:

  • Install dependencies: install dependency packages for build job
  • Clone repositories : clone all related repos to build runner
  • Install : install python, vscode and their dependencies
  • Build : build the package installer
  • Upload build package : save the build package as workflow artifactory

Runners

Currently, there are two runners (GitHub-hosted) available for build pipelines:

Contribution

We are always interested in support and you are cordially invited helping us to improve the Robot Framework AIO.

Feedback

To give us a feedback, you can send an email to Thomas Pollerspöck

In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket

About

Maintainers

Thomas Pollerspöck

Tran Duy Ngoan

Tran Hoang Nguyen

Contributors

Holger Queckenstedt

Nguyen Huynh Tri Cuong

Mai Dinh Nam Son

3rd Party Licenses

Please refer to ./tools/InnoSetup5.5.1/license.txt

License

Copyright 2020-2022 Robert Bosch GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

License: Apache v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.