Skip to content

Commit

Permalink
docs: added text description of github actions features, fix: ignore …
Browse files Browse the repository at this point in the history
…md files in pr checks (#674)
  • Loading branch information
librarian authored Mar 7, 2024
1 parent 4899084 commit 6dc8d71
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- '.github/**'
- 'example/**'
- 'doc/**'
- '**.md'
types:
- 'opened'
- 'synchronize'
Expand Down
37 changes: 37 additions & 0 deletions GITHUB.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Checks are launched without labels only for [organization members](https://github.com/orgs/ydb-platform/people). Later we plan to limit this only to NBS teams.

If PR is opened not by a team member they will receive a message that the team member needs to label their PR with an `ok-to-test` label. Beware of RCE.

There is also a list of labels that slightly alters how and which tests are run:

1. `large-tests` to launch large tests in PR. By default, we launch small and medium.
2. `blockstore`, `filestore`, `disk_manager`, and `tasks` to launch test ONLY for specified projects. You can specify more than one label.
3. `sleep` to add 7200s (2 hours) sleep to your run, if you want to debug it.

Also, you can launch [ya make](https://github.com/ydb-platform/nbs/actions/workflows/build_and_test_on_demand.yaml) or [cmake](https://github.com/ydb-platform/nbs/actions/workflows/build_and_test_on_demand_cmake.yaml) builds on your branch with any timeout you want (but please do not do more than 12h, VMs are expensive). You can find the IP of the VM inside of the jobs. The first occurrence happens in the `Prepare runner` job in the `Configure NCP` step, later IP is set in the header of jobs. You must use your GitHub key for it. User `github`. Feature not available for non-members.

All build and test workflows provide some level of debug info available on our s3 website.

Example URL for the top-level directory is like this: https://github-actions-s3.website.nemax.nebius.cloud/ydb-platform/nbs/PR-check/8103221450/1/nebius-x86-64/

* `ydb-platform` - name of the organisation
* `nbs` - name of the repo
* `PR-check` - ID of the workflow
* `8103221450` - ID of the workflow run (you can look it up in the `Actions` tab in your PR)
* `1` - number of the runs, if you restart workflow this number will increase.
* `nebius-x86-64` - nebius is the prefix and x86-64 an architecture, there also can be one of the suffixes: `-debug`, `-asan`,`-tsan` if you choose to build with debugging symbols or sanitizers.

For new runs, we generate index.html files only for the top level directories, not for directories lower. And every night we regenerate index files for the whole s3 bucket.

On the top level, you can expect adirectory structure like this:

* `build_logs/` - well, ya make build logs
* `logs/` - log of the tests, short version
* `test_logs/` - logs of ya test
* `test_reports/` - junit report, debug data so you can more or less debug what happened during preparation of summary report.
* `summary/` - ya-test.html with results of the test run
* `test_data/` - all test data except binaries, VM images, and everything like that, that take a lot of space on S3. Stored only for a week, while other directories are stored for a month.

Files in `test_data` are synced only for failed tests and the list of folders to sync is determined by [script fail-checker.py](https://github.com/ydb-platform/nbs/blob/01c51c0da8168c7111a03c8d34cd220b9b87eaec/.github/actions/test/action.yaml#L191)

Availability of other logs in the summary report is dependent on what ya make decide to add in junit report.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Follow the instructions [here](example/README.md) to build and run NBS on your m

Follow the instructions [here](CLANG-FORMAT.md) to install clang-format for formatting the code.

Additional information about features of our [Github Actions](GITHUB.md) (labels, test results and so on)

### How to Deploy

TODO

0 comments on commit 6dc8d71

Please sign in to comment.