This respository holds the build tooling for a new Robot Framework AIO (All In One) setup for both Windows and Linux.
Currently, RobotFramework AIO is supported to build with both Windows and Linux environments.
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.
Clone this RobotFramework_AIO repository first
git clone https://github.com/test-fullautomation/RobotFramework_AIO.git
Then follow below steps for building process:
Clone all related repositories that are configured in the config/repositories/repositories.conf file
./cloneall
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
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.
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.
[supported-server]
[supported-server]
gitlab=https://gitlab.com/robotframework-aio
github=https://github.com/test-fullautomation
bitbucket=ssh://git@bitbucket.org: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>
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:
./gitall
or
./gitall status
./gitall commit -m "Commit message"
./gitall --config-file=<path-to-your-config-file> commit -m "Commit message"
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 jobClone repositories
: clone all related repos to build runnerInstall
: install python, vscode and their dependenciesBuild
: build the package installerUpload build package
: save the build package as workflow artifactory Currently, there are two runners (GitHub-hosted) available for build pipelines:
windows-latest
for Windows job.ubuntu-latest
for Linux job.We are always interested in support and you are cordially invited helping us to improve the Robot Framework AIO.
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
Please refer to ./tools/InnoSetup5.5.1/license.txt
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
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.