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

(#67) Create contributing guidelines #75

Merged
merged 1 commit into from
Mar 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATES/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Description

A clear and concise description of the bug.

## Steps to Reproduce

1. Step 1
2. Step 2
3. Step 3

You can paste here the part of your Robot Framework code that is causing the error.

## Expected Behavior

What you expected to happen.

## Actual Behavior

What actually happened.

## Environment

- OS: [e.g. Windows 10, macOS Big Sur]
- Library version: [e.g. 3.0]
- Python version: [e.g. 3.9.1]

## Additional Context

You can add logs of your Robot Framework code.

Running with `--loglevel DEBUG` helps provide additional information.
If you think the issue might be related to x3270, you can open your connection with the extra arguments `-trace -tracefile Path/To/Your/File.txt`.

```robot
@{extra_args}= Create List -trace -tracefile ${CURDIR}/trace.txt
Open Connection myhost.com extra_args=${extra_args}
```

Make sure your logs do **not** contain any sensitive information such as passwords, etc.
26 changes: 26 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing to Robot-Framework-Mainframe-3270-Library

We welcome contributions to the Robot-Framework-Mainframe-3270-Library! Whether you're fixing a bug, improving existing functionality, or adding new features, your help is greatly appreciated.

Here are some guidelines to help you get started:

## Getting Started

- If a change you'd like to make does not already have an issue, please create one. This helps us discuss the new functionality beforehand.
- Fork the repository on GitHub.
- Clone the repository to your local machine.
- Install the dependencies by running `pip install -r requirements-dev.txt`.
- Create a new branch for your changes.

## Making Changes

- When creating new user keywords, please provide documentation.
- Write tests for your changes. You may need to include unit tests, acceptance tests, or both, depending on the change you made.
- Ensure all tests pass by running `inv utest` for unit tests and `inv atest` for acceptance tests.
- Format your code by running `inv lint`.
- Push your changes to your fork on GitHub.
- Create a pull request.

## License

By contributing to the Robot-Framework-Mainframe-3270-Library, you agree that your contributions will be licensed under the project's [MIT license](LICENSE).
20 changes: 2 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,25 +134,9 @@ The _reports_ directory needs to be created beforehand.
docker container run --rm -it -v ${pwd}/reports:/reports -v ${pwd}/atests:/tests -v ${pwd}/Mainframe3270:/usr/local/lib/python3.7/site-packages/Mainframe3270 mainframe3270
```

## Development setup
Start off by forking this repository and pulling the source code from GitHub.
## Contributing to Robot-Framework-Mainframe3270-Library

Depending on your preferences, you can create a virtual environment to
keep system and project dependencies separate.

`python -m venv .venv`

To activate the virtual environment,
run `.venv\Scripts\activate` (Windows) or `source .venv/bin/activate` (MacOS & Linux).

Install main and development dependencies by running `python -m pip install -r requirements-dev.txt`

This project is using [invoke](https://www.pyinvoke.org/) as task runner. Before pushing your code, make sure python and robot code is formatted by running `inv lint`.

Unit tests are invoked with `inv utest`, acceptance tests with `inv atest`. To invoke both unit and
acceptance tests, simply run `inv test`.

Run `inv -l` to get a list of all available tasks.
Interested in contributing to the project? Great to hear! Whether you found a bug, or want to develop a new feature, please refer to our [Contributing Guidelines](COUNTRIBUTING.md) to help you get started.

## Keyword Tests

Expand Down