diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/ISSUE_TEMPLATE/bug_report.md | 31 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/config.yml | 11 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/feature_request.md | 21 | ||||
-rw-r--r-- | .github/issue_template.md | 20 | ||||
-rw-r--r-- | .github/labeler.yml | 42 | ||||
-rw-r--r-- | .github/pull_request_template.md | 5 | ||||
-rw-r--r-- | .github/workflows/build.yml | 21 | ||||
-rw-r--r-- | .github/workflows/go.yml | 75 | ||||
-rw-r--r-- | .github/workflows/issue_reviver.yml | 16 | ||||
-rw-r--r-- | .github/workflows/labeler.yml | 12 | ||||
-rw-r--r-- | .github/workflows/stale.yml | 20 |
11 files changed, 254 insertions, 20 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..49a1ba697 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug report +about: Create a bug report to help us improve +title: +labels: + - 'type: bug' +assignees: '' +--- + +**Description** + +A clear description of what the bug is. If possible, explicitly indicate the +expected behavior vs. the observed behavior. + +**Steps to reproduce** + +If available, please include detailed reproduction steps. + +If the bug requires software that is not publicly available, see if it can be +reproduced with software that is publicly available. + +**Environment** + +Please include the following details of your environment: + +* `runsc -v` +* `docker version` or `docker info` (if available) +* `kubectl version` and `kubectl get nodes` (if using Kubernetes) +* `uname -a` +* `git describe` (if built from source) +* `runsc` debug logs (if available) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..772c9a0ac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: gVisor Documentation (FAQ) + url: https://gvisor.dev/docs/user_guide/faq/ + about: Please see our documentation for common questions and answers. + - name: gVisor Documentation (Debugging) + url: https://gvisor.dev/docs/user_guide/debugging/ + about: Please see our documentation for debugging tips. + - name: gVisor User Forum + url: https://groups.google.com/g/gvisor-users + about: Ask and answer general questions here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..65f60f385 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,21 @@ +--- +name: Feature request +about: Suggest an idea or improvement +title: '' +labels: + - 'type: enhancement' +assignees: '' +--- + +**Description** + +A clear description of the feature or enhancement. + +**Is this feature related to a specific bug?** + +Please include a bug references if yes. + +**Do you have a specific solution in mind?** + +Please include any details about a solution that you have in mind, including any +alternatives considered. diff --git a/.github/issue_template.md b/.github/issue_template.md deleted file mode 100644 index 77c401d22..000000000 --- a/.github/issue_template.md +++ /dev/null @@ -1,20 +0,0 @@ -Before filling an issue, please consult our FAQ: -https://gvisor.dev/docs/user_guide/faq/ - -Also check that the issue hasn't been reported before. - -If you have a question, please email gvisor-users@googlegroups.com rather than filing a bug. - -If you believe you've found a security issue, please email gvisor-security@googlegroups.com rather than filing a bug. - -If this is your first time compiling or running gVisor, please make sure that your system meets the minimum requirements: https://github.com/google/gvisor#requirements - -For all other issues, please attach debug logs. To get debug logs, follow the -instructions here: https://gvisor.dev/docs/user_guide/debugging/ - -Other useful information to include is: - -* `runsc -v` -* `docker version` or `docker info` if more relevant -* `uname -a` - `git describe` -* Detailed reproduction steps diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..b6a17051c --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,42 @@ +"arch: arm": + - "**/*_arm64.*" + - "**/*_aarch64.*" +"arch: x86_64": + - "**/*_amd64.*" + - "**/*_x86.*" +"area: bazel": + - "**/BUILD" + - "**/*.bzl" +"area: docs": + - "**/g3doc/**" + - "**/README.md" +"area: filesystem": + - "pkg/sentry/fs/**" + - "pkg/sentry/vfs/**" + - "pkg/sentry/fsimpl/**" +"area: hostinet": + - "pkg/sentry/socket/hostinet/**" +"area: networking": + - "pkg/tcpip/**" + - "pkg/sentry/socket/**" +"area: kernel": + - "pkg/sentry/arch/**" + - "pkg/sentry/kernel/**" + - "pkg/sentry/syscalls/**" +"area: mm": + - "pkg/sentry/mm/**" +"area: tests": + - "**/tests/**" + - "**/*_test.go" + - "**/test/**" +"area: tooling": + - "tools/**" +"dependencies": + - "WORKSPACE" + - "go.mod" + - "go.sum" +"platform: kvm": + - "pkg/sentry/platform/kvm/**" + - "pkg/sentry/platform/ring0/**" +"platform: ptrace": + - "pkg/sentry/platform/ptrace/**" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..264b4e9fa --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,5 @@ +* [ ] Have you followed the guidelines in [CONTRIBUTING.md](../blob/master/CONTRIBUTING.md)? +* [ ] Have you formatted and linted your code? +* [ ] Have you added relevant tests? +* [ ] Have you added appropriate Fixes & Updates references? +* [ ] If yes, please erase all these lines! diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..cf782a580 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +name: "Build" +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + default: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v1 + with: + path: ~/.cache/bazel + key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }} + restore-keys: | + ${{ runner.os }}-bazel- + - run: make diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 000000000..4da3853b2 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,75 @@ +name: "Go" +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + generate: + runs-on: ubuntu-latest + steps: + - id: setup + run: | + if ! [[ -z "${{ secrets.GO_TOKEN }}" ]]; then + echo ::set-output name=has_token::true + else + echo ::set-output name=has_token::false + fi + - run: | + jq -nc '{"state": "pending", "context": "go tests"}' | \ + curl -sL -X POST -d @- \ + -H "Content-Type: application/json" \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + "${{ github.event.pull_request.statuses_url }}" + if: github.event_name == 'pull_request' + - uses: actions/checkout@v2 + if: github.event_name == 'push' && steps.setup.outputs.has_token == 'true' + with: + fetch-depth: 0 + token: '${{ secrets.GO_TOKEN }}' + - uses: actions/checkout@v2 + if: github.event_name == 'pull_request' || steps.setup.outputs.has_token != 'true' + with: + fetch-depth: 0 + - uses: actions/setup-go@v2 + with: + go-version: 1.14 + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + - uses: actions/cache@v1 + with: + path: ~/.cache/bazel + key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }} + restore-keys: | + ${{ runner.os }}-bazel- + - run: | + rm -rf bazel-bin/gopath + make build TARGETS="//:gopath" + - run: tools/go_branch.sh + - run: git checkout go && git clean -f + - run: go build ./... + - if: github.event_name == 'push' + run: | + git remote add upstream "https://github.com/${{ github.repository }}" + git push upstream go:go + - if: ${{ success() && github.event_name == 'pull_request' }} + run: | + jq -nc '{"state": "success", "context": "go tests"}' | \ + curl -sL -X POST -d @- \ + -H "Content-Type: application/json" \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + "${{ github.event.pull_request.statuses_url }}" + - if: ${{ failure() && github.event_name == 'pull_request' }} + run: | + jq -nc '{"state": "failure", "context": "go tests"}' | \ + curl -sL -X POST -d @- \ + -H "Content-Type: application/json" \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + "${{ github.event.pull_request.statuses_url }}" diff --git a/.github/workflows/issue_reviver.yml b/.github/workflows/issue_reviver.yml new file mode 100644 index 000000000..2b399a3f2 --- /dev/null +++ b/.github/workflows/issue_reviver.yml @@ -0,0 +1,16 @@ +name: "Issue reviver" +on: + schedule: + - cron: '0 0 * * *' + +jobs: + issue_reviver: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + if: github.repository == 'google/gvisor' + - run: make run TARGETS="//tools/issue_reviver" + if: github.repository == 'google/gvisor' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY: ${{ github.repository }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..c09f7eb36 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,12 @@ +name: "Labeler" +on: +- pull_request + +jobs: + label: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v2 + if: github.base_ref == null + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..0b31fecf5 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,20 @@ +name: "Close stale issues" +on: + schedule: + - cron: "0 0 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-label: 'stale' + stale-pr-label: 'stale' + exempt-issue-labels: 'exported, type: bug, type: cleanup, type: enhancement, type: process, type: proposal, type: question' + exempt-pr-labels: 'ready to pull' + stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove the stale label or comment or this will be closed in 30 days.' + stale-pr-message: 'This pull request is stale because it has been open 90 days with no activity. Remove the stale label or comment or this will be closed in 30 days.' + days-before-stale: 90 + days-before-close: 30 |