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 ininstall/vscode_requirement.csv
or stored as *.vsix file underconfig/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 andoutput_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.
- 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
You can also specify the branch/commit/tag to switch to after cloning (only used for
[gitlab] robotframework-otherlibraries= ... [github] robotframework= ... [bitbucket] python-libraries= ...
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 usinggitall
, ensure that all repositories have been cloned with thecloneall
tool.Usage:
- Check status
or
./gitall
./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"
- Check status
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 runner: Windows Server 2022 with label
windows-latest
for Windows job. - Ubuntu runner: Ubuntu 22.04.1 LTS with label
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.