diff --git a/.cirrus.yml b/.cirrus.yml --- a/.cirrus.yml +++ b/.cirrus.yml @@ -10,7 +10,8 @@ memory: 8G disk: 40 -task: +smoke_task: + only_if: $CIRRUS_REPO_OWNER == 'freebsd' matrix: - name: World and kernel amd64 build and boot smoke test env: diff --git a/.github/workflows/cross-bootstrap-tools.yml b/.github/workflows/cross-bootstrap-tools.yml --- a/.github/workflows/cross-bootstrap-tools.yml +++ b/.github/workflows/cross-bootstrap-tools.yml @@ -9,6 +9,7 @@ jobs: build: name: ${{ matrix.os }} (${{ matrix.compiler }}) + if: github.repository.owner == 'freebsd' runs-on: ${{ matrix.os }} strategy: fail-fast: false diff --git a/contrib/libarchive/.github/workflows/cifuzz.yml b/contrib/libarchive/.github/workflows/cifuzz.yml deleted file mode 100644 --- a/contrib/libarchive/.github/workflows/cifuzz.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: CIFuzz -on: [pull_request] -jobs: - Fuzzing: - runs-on: ubuntu-latest - steps: - - name: Build Fuzzers - id: build - uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master - with: - oss-fuzz-project-name: 'libarchive' - dry-run: false - - name: Run Fuzzers - uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master - with: - oss-fuzz-project-name: 'libarchive' - fuzz-seconds: 600 - dry-run: false - - name: Upload Crash - uses: actions/upload-artifact@v1 - if: failure() && steps.build.outcome == 'success' - with: - name: artifacts - path: ./out/artifacts diff --git a/contrib/libcbor/.github/workflows/fuzz.yml b/contrib/libcbor/.github/workflows/fuzz.yml deleted file mode 100644 --- a/contrib/libcbor/.github/workflows/fuzz.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: CIFuzz -on: [pull_request] -jobs: - Fuzzing: - runs-on: ubuntu-latest - steps: - - name: Build Fuzzers - uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master - with: - oss-fuzz-project-name: 'libcbor' - dry-run: false - - name: Run Fuzzers - uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master - with: - oss-fuzz-project-name: 'libcbor' - fuzz-seconds: 600 - dry-run: false - - name: Upload Crash - uses: actions/upload-artifact@v1 - if: failure() - with: - name: artifacts - path: ./out/artifacts diff --git a/sys/contrib/openzfs/.github/CONTRIBUTING.md b/sys/contrib/openzfs/.github/CONTRIBUTING.md deleted file mode 100644 --- a/sys/contrib/openzfs/.github/CONTRIBUTING.md +++ /dev/null @@ -1,281 +0,0 @@ -# Contributing to OpenZFS -

- OpenZFS Logo -

- -*First of all, thank you for taking the time to contribute!* - -By using the following guidelines, you can help us make OpenZFS even better. - -## Table Of Contents -[What should I know before I get -started?](#what-should-i-know-before-i-get-started) - - * [Get ZFS](#get-zfs) - * [Debug ZFS](#debug-zfs) - * [Where can I ask for help?](#where-can-I-ask-for-help) - -[How Can I Contribute?](#how-can-i-contribute) - - * [Reporting Bugs](#reporting-bugs) - * [Suggesting Enhancements](#suggesting-enhancements) - * [Pull Requests](#pull-requests) - * [Testing](#testing) - -[Style Guides](#style-guides) - - * [Coding Conventions](#coding-conventions) - * [Commit Message Formats](#commit-message-formats) - * [New Changes](#new-changes) - * [OpenZFS Patch Ports](#openzfs-patch-ports) - * [Coverity Defect Fixes](#coverity-defect-fixes) - * [Signed Off By](#signed-off-by) - -Helpful resources - - * [OpenZFS Documentation](https://openzfs.github.io/openzfs-docs/) - * [OpenZFS Developer Resources](http://open-zfs.org/wiki/Developer_resources) - * [Git and GitHub for beginners](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Git%20and%20GitHub%20for%20beginners.html) - -## What should I know before I get started? - -### Get ZFS -You can build zfs packages by following [these -instructions](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html), -or install stable packages from [your distribution's -repository](https://openzfs.github.io/openzfs-docs/Getting%20Started/index.html). - -### Debug ZFS -A variety of methods and tools are available to aid ZFS developers. -It's strongly recommended that when developing a patch the `--enable-debug` -configure option should be set. This will enable additional correctness -checks and all the ASSERTs to help quickly catch potential issues. - -In addition, there are numerous utilities and debugging files which -provide visibility into the inner workings of ZFS. The most useful -of these tools are discussed in detail on the [Troubleshooting -page](https://openzfs.github.io/openzfs-docs/Basic%20Concepts/Troubleshooting.html). - -### Where can I ask for help? -The [zfs-discuss mailing -list](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Mailing%20Lists.html) -or IRC are the best places to ask for help. Please do not file -support requests on the GitHub issue tracker. - -## How Can I Contribute? - -### Reporting Bugs -*Please* contact us via the [zfs-discuss mailing -list](https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Mailing%20Lists.html) -or IRC if you aren't certain that you are experiencing a bug. - -If you run into an issue, please search our [issue -tracker](https://github.com/openzfs/zfs/issues) *first* to ensure the -issue hasn't been reported before. Open a new issue only if you haven't -found anything similar to your issue. - -You can open a new issue and search existing issues using the public [issue -tracker](https://github.com/openzfs/zfs/issues). - -#### When opening a new issue, please include the following information at the top of the issue: -* What distribution (with version) you are using. -* The spl and zfs versions you are using, installation method (repository -or manual compilation). -* Describe the issue you are experiencing. -* Describe how to reproduce the issue. -* Including any warning/errors/backtraces from the system logs. - -When a new issue is opened, it is not uncommon for developers to request -additional information. - -In general, the more detail you share about a problem the quicker a -developer can resolve it. For example, providing a simple test case is always -exceptionally helpful. - -Be prepared to work with the developers investigating your issue. Your -assistance is crucial in providing a quick solution. They may ask for -information like: - -* Your pool configuration as reported by `zdb` or `zpool status`. -* Your hardware configuration, such as - * Number of CPUs. - * Amount of memory. - * Whether your system has ECC memory. - * Whether it is running under a VMM/Hypervisor. - * Kernel version. - * Values of the spl/zfs module parameters. -* Stack traces which may be logged to `dmesg`. - -### Suggesting Enhancements -OpenZFS is a widely deployed production filesystem which is under active -development. The team's primary focus is on fixing known issues, improving -performance, and adding compelling new features. - -You can view the list of proposed features -by filtering the issue tracker by the ["Type: Feature" -label](https://github.com/openzfs/zfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22Type%3A+Feature%22). -If you have an idea for a feature first check this list. If your idea already -appears then add a +1 to the top most comment, this helps us gauge interest -in that feature. - -Otherwise, open a new issue and describe your proposed feature. Why is this -feature needed? What problem does it solve? - -### Pull Requests - -#### General - -* All pull requests, except backports and releases, must be based on the current master branch -and should apply without conflicts. -* Please attempt to limit pull requests to a single commit which resolves -one specific issue. -* Make sure your commit messages are in the correct format. See the -[Commit Message Formats](#commit-message-formats) section for more information. -* When updating a pull request squash multiple commits by performing a -[rebase](https://git-scm.com/docs/git-rebase) (squash). -* For large pull requests consider structuring your changes as a stack of -logically independent patches which build on each other. This makes large -changes easier to review and approve which speeds up the merging process. -* Try to keep pull requests simple. Simple code with comments is much easier -to review and approve. -* All proposed changes must be approved by an OpenZFS organization member. -* If you have an idea you'd like to discuss or which requires additional testing, consider opening it as a draft pull request. -Once everything is in good shape and the details have been worked out you can remove its draft status. -Any required reviews can then be finalized and the pull request merged. - -#### Tests and Benchmarks -* Every pull request will by tested by the buildbot on multiple platforms by running the [zfs-tests.sh and zloop.sh]( -https://openzfs.github.io/openzfs-docs/Developer%20Resources/Building%20ZFS.html#running-zloop-sh-and-zfs-tests-sh) test suites. -* To verify your changes conform to the [style guidelines]( -https://github.com/openzfs/zfs/blob/master/.github/CONTRIBUTING.md#style-guides -), please run `make checkstyle` and resolve any warnings. -* Static code analysis of each pull request is performed by the buildbot; run `make lint` to check your changes. -* Test cases should be provided when appropriate. -This includes making sure new features have adequate code coverage. -* If your pull request improves performance, please include some benchmarks. -* The pull request must pass all required [ZFS -Buildbot](http://build.zfsonlinux.org/) builders before -being accepted. If you are experiencing intermittent TEST -builder failures, you may be experiencing a [test suite -issue](https://github.com/openzfs/zfs/issues?q=is%3Aissue+is%3Aopen+label%3A%22Type%3A+Test+Suite%22). -There are also various [buildbot options](https://openzfs.github.io/openzfs-docs/Developer%20Resources/Buildbot%20Options.html) -to control how changes are tested. - -### Testing -All help is appreciated! If you're in a position to run the latest code -consider helping us by reporting any functional problems, performance -regressions or other suspected issues. By running the latest code to a wide -range of realistic workloads, configurations and architectures we're better -able quickly identify and resolve potential issues. - -Users can also run the [ZFS Test -Suite](https://github.com/openzfs/zfs/tree/master/tests) on their systems -to verify ZFS is behaving as intended. - -## Style Guides - -### Repository Structure - -OpenZFS uses a standardised branching structure. -- The "development and main branch", is the branch all development should be based on. -- "Release branches" contain the latest released code for said version. -- "Staging branches" contain selected commits prior to being released. - -**Branch Names:** -- Development and Main branch: `master` -- Release branches: `zfs-$VERSION-release` -- Staging branches: `zfs-$VERSION-staging` - -`$VERSION` should be replaced with the `major.minor` version number. -_(This is the version number without the `.patch` version at the end)_ - -### Coding Conventions -We currently use [C Style and Coding Standards for -SunOS](http://www.cis.upenn.edu/%7Elee/06cse480/data/cstyle.ms.pdf) as our -coding convention. - -This repository has an `.editorconfig` file. If your editor [supports -editorconfig](https://editorconfig.org/#download), it will -automatically respect most of this project's whitespace preferences. - -Additionally, Git can help warn on whitespace problems as well: - -``` -git config --local core.whitespace trailing-space,space-before-tab,indent-with-non-tab,-tab-in-indent -``` - -### Commit Message Formats -#### New Changes -Commit messages for new changes must meet the following guidelines: -* In 72 characters or less, provide a summary of the change as the -first line in the commit message. -* A body which provides a description of the change. If necessary, -please summarize important information such as why the proposed -approach was chosen or a brief description of the bug you are resolving. -Each line of the body must be 72 characters or less. -* The last line must be a `Signed-off-by:` tag. See the -[Signed Off By](#signed-off-by) section for more information. - -An example commit message for new changes is provided below. - -``` -This line is a brief summary of your change - -Please provide at least a couple sentences describing the -change. If necessary, please summarize decisions such as -why the proposed approach was chosen or what bug you are -attempting to solve. - -Signed-off-by: Contributor -``` - -#### Coverity Defect Fixes -If you are submitting a fix to a -[Coverity defect](https://scan.coverity.com/projects/zfsonlinux-zfs), -the commit message should meet the following guidelines: -* Provides a subject line in the format of -`Fix coverity defects: CID dddd, dddd...` where `dddd` represents -each CID fixed by the commit. -* Provides a body which lists each Coverity defect and how it was corrected. -* The last line must be a `Signed-off-by:` tag. See the -[Signed Off By](#signed-off-by) section for more information. - -An example Coverity defect fix commit message is provided below. -``` -Fix coverity defects: CID 12345, 67890 - -CID 12345: Logically dead code (DEADCODE) - -Removed the if(var != 0) block because the condition could never be -satisfied. - -CID 67890: Resource Leak (RESOURCE_LEAK) - -Ensure free is called after allocating memory in function(). - -Signed-off-by: Contributor -``` - -#### Signed Off By -A line tagged as `Signed-off-by:` must contain the developer's -name followed by their email. This is the developer's certification -that they have the right to submit the patch for inclusion into -the code base and indicates agreement to the [Developer's Certificate -of Origin](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin). -Code without a proper signoff cannot be merged. - -Git can append the `Signed-off-by` line to your commit messages. Simply -provide the `-s` or `--signoff` option when performing a `git commit`. -For more information about writing commit messages, visit [How to Write -a Git Commit Message](https://chris.beams.io/posts/git-commit/). - -#### Co-authored By -If someone else had part in your pull request, please add the following to the commit: -`Co-authored-by: Name ` -This is useful if their authorship was lost during squashing, rebasing, etc., -but may be used in any situation where there are co-authors. - -The email address used here should be the same as on the GitHub profile of said user. -If said user does not have their email address public, please use the following instead: -`Co-authored-by: Name <[username]@users.noreply.github.com>` diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 --- a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve OpenZFS -title: '' -labels: 'Type: Defect' -assignees: '' - ---- - - - - - -### System information - -Type | Version/Name - --- | --- -Distribution Name | -Distribution Version | -Kernel Version | -Architecture | -OpenZFS Version | - - -### Describe the problem you're observing - -### Describe how to reproduce the problem - -### Include any warning/errors/backtraces from the system logs - - diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,14 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: OpenZFS Questions - url: https://github.com/openzfs/zfs/discussions/new - about: Ask the community for help - - name: OpenZFS Community Support Mailing list (Linux) - url: https://zfsonlinux.topicbox.com/groups/zfs-discuss - about: Get community support for OpenZFS on Linux - - name: FreeBSD Community Support Mailing list - url: https://lists.freebsd.org/mailman/listinfo/freebsd-fs - about: Get community support for OpenZFS on FreeBSD - - name: OpenZFS on IRC - url: https://web.libera.chat/#openzfs - about: Use IRC to get community support for OpenZFS diff --git a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md b/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 --- a/sys/contrib/openzfs/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -name: Feature request -about: Suggest a feature for OpenZFS -title: '' -labels: 'Type: Feature' -assignees: '' - ---- - - - -### Describe the feature would like to see added to OpenZFS - - - -### How will this feature improve OpenZFS? - - - -### Additional context - - diff --git a/sys/contrib/openzfs/.github/PULL_REQUEST_TEMPLATE.md b/sys/contrib/openzfs/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 --- a/sys/contrib/openzfs/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -### Motivation and Context - - - -### Description - - -### How Has This Been Tested? - - - - - - -### Types of changes - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Performance enhancement (non-breaking change which improves efficiency) -- [ ] Code cleanup (non-breaking change which makes code smaller or more readable) -- [ ] Breaking change (fix or feature that would cause existing functionality to change) -- [ ] Library ABI change (libzfs, libzfs\_core, libnvpair, libuutil and libzfsbootenv) -- [ ] Documentation (a change to man pages or other documentation) - -### Checklist: - - -- [ ] My code follows the OpenZFS [code style requirements](https://github.com/openzfs/zfs/blob/master/.github/CONTRIBUTING.md#coding-conventions). -- [ ] I have updated the documentation accordingly. -- [ ] I have read the [**contributing** document](https://github.com/openzfs/zfs/blob/master/.github/CONTRIBUTING.md). -- [ ] I have added [tests](https://github.com/openzfs/zfs/tree/master/tests) to cover my changes. -- [ ] I have run the ZFS Test Suite with this change applied. -- [ ] All commit messages are properly formatted and contain [`Signed-off-by`](https://github.com/openzfs/zfs/blob/master/.github/CONTRIBUTING.md#signed-off-by). diff --git a/sys/contrib/openzfs/.github/codecov.yml b/sys/contrib/openzfs/.github/codecov.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/codecov.yml +++ /dev/null @@ -1,25 +0,0 @@ -codecov: - notify: - require_ci_to_pass: false # always post - after_n_builds: 2 # user and kernel - -coverage: - precision: 0 # 0 decimals of precision - round: nearest # Round to nearest precision point - range: "50...90" # red -> yellow -> green - - status: - project: - default: - threshold: 1% # allow 1% coverage variance - - patch: - default: - threshold: 1% # allow 1% coverage variance - -comment: - layout: "reach, diff, flags, footer" - behavior: once # update if exists; post new; skip if deleted - require_changes: yes # only post when coverage changes - -# ignore: Please place any ignores in config/ax_code_coverage.m4 instead diff --git a/sys/contrib/openzfs/.github/no-response.yml b/sys/contrib/openzfs/.github/no-response.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/no-response.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Configuration for probot-no-response - https://github.com/probot/no-response - -# Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 31 -# Label requiring a response -responseRequiredLabel: "Status: Feedback requested" -# Comment to post when closing an Issue for lack of response. Set to `false` to disable -closeComment: > - This issue has been automatically closed because there has been no response - to our request for more information from the original author. With only the - information that is currently in the issue, we don't have enough information - to take action. Please reach out if you have or find the answers we need so - that we can investigate further. diff --git a/sys/contrib/openzfs/.github/stale.yml b/sys/contrib/openzfs/.github/stale.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/stale.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 365 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 90 -# Limit to only `issues` or `pulls` -only: issues -# Issues with these labels will never be considered stale -exemptLabels: - - "Type: Feature" - - "Bot: Not Stale" - - "Status: Work in Progress" -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: true -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: true -# Set to true to ignore issues with an assignee (defaults to false) -exemptAssignees: true -# Label to use when marking an issue as stale -staleLabel: "Status: Stale" -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as "stale" because it has not had - any activity for a while. It will be closed in 90 days if no further activity occurs. - Thank you for your contributions. -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 6 diff --git a/sys/contrib/openzfs/.github/workflows/build-dependencies.txt b/sys/contrib/openzfs/.github/workflows/build-dependencies.txt deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/build-dependencies.txt +++ /dev/null @@ -1,49 +0,0 @@ -acl -alien -attr -autoconf -bc -build-essential -curl -dbench -fakeroot -fio -gdb -gdebi -git -ksh -lcov -libacl1-dev -libaio-dev -libattr1-dev -libblkid-dev -libcurl4-openssl-dev -libdevmapper-dev -libelf-dev -libffi-dev -libmount-dev -libpam0g-dev -libselinux-dev -libssl-dev -libtool -libudev-dev -lsscsi -mdadm -nfs-kernel-server -pamtester -parted -python3 -python3-cffi -python3-dev -python3-packaging -python3-setuptools -rng-tools -rsync -samba -sysstat -uuid-dev -watchdog -wget -xfslibs-dev -xz-utils -zlib1g-dev diff --git a/sys/contrib/openzfs/.github/workflows/checkstyle.yaml b/sys/contrib/openzfs/.github/workflows/checkstyle.yaml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/checkstyle.yaml +++ /dev/null @@ -1,56 +0,0 @@ -name: checkstyle - -on: - push: - pull_request: - -jobs: - checkstyle: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Install dependencies - run: | - sudo apt-get update - sudo xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt apt-get install -qq - sudo apt-get install -qq mandoc cppcheck pax-utils devscripts - sudo python3 -m pip install --quiet flake8 - sudo apt-get clean - - # confirm that the tools are installed - # the build system doesn't fail when they are not - checkbashisms --version - cppcheck --version - flake8 --version - scanelf --version - shellcheck --version - - name: Prepare - run: | - ./autogen.sh - ./configure - make -j$(nproc) --no-print-directory --silent - - name: Checkstyle - run: | - make -j$(nproc) --no-print-directory --silent checkstyle - - name: Lint - run: | - make -j$(nproc) --no-print-directory --silent lint - - name: CheckABI - id: CheckABI - run: | - docker run -v $(pwd):/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent checkabi - - name: StoreABI - if: failure() && steps.CheckABI.outcome == 'failure' - run: | - docker run -v $(pwd):/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent storeabi - - name: Prepare artifacts - if: failure() && steps.CheckABI.outcome == 'failure' - run: | - find -name *.abi | tar -cf abi_files.tar -T - - - uses: actions/upload-artifact@v2 - if: failure() && steps.CheckABI.outcome == 'failure' - with: - name: New ABI files (use only if you're sure about interface changes) - path: abi_files.tar diff --git a/sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh b/sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh deleted file mode 100755 --- a/sys/contrib/openzfs/.github/workflows/scripts/reclaim_disk_space.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -set -eu - -# remove 4GiB of images -sudo systemd-run docker system prune --force --all --volumes - -# remove unused software -sudo systemd-run rm -rf \ - "$AGENT_TOOLSDIRECTORY" \ - /opt/* \ - /usr/local/* \ - /usr/share/az* \ - /usr/share/dotnet \ - /usr/share/gradle* \ - /usr/share/miniconda \ - /usr/share/swift \ - /var/lib/gems \ - /var/lib/mysql \ - /var/lib/snapd diff --git a/sys/contrib/openzfs/.github/workflows/zfs-tests-functional.yml b/sys/contrib/openzfs/.github/workflows/zfs-tests-functional.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/zfs-tests-functional.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: zfs-tests-functional - -on: - push: - pull_request: - -jobs: - tests-functional-ubuntu: - strategy: - fail-fast: false - matrix: - os: [18.04, 20.04] - runs-on: ubuntu-${{ matrix.os }} - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Reclaim disk space - run: | - ${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh - - name: Install dependencies - run: | - sudo apt-get update - xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq - sudo apt-get clean - - name: Autogen.sh - run: | - ./autogen.sh - - name: Configure - run: | - ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan - - name: Make - run: | - make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod - - name: Install - run: | - sudo dpkg -i *.deb - # Update order of directories to search for modules, otherwise - # Ubuntu will load kernel-shipped ones. - sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf - sudo depmod - sudo modprobe zfs - # Workaround for cloud-init bug - # see https://github.com/openzfs/zfs/issues/12644 - FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules - if [ -r "${FILE}" ]; then - HASH=$(md5sum "${FILE}" | awk '{ print $1 }') - if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then - # Just shove a zd* exclusion right above the hotplug hook... - sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}" - sudo udevadm control --reload-rules - fi - fi - - name: Clear the kernel ring buffer - run: | - sudo dmesg -c >/var/tmp/dmesg-prerun - - name: Report disk space - run: | - df -h / - - name: Tests - run: | - set -o pipefail - /usr/share/zfs/zfs-tests.sh -vKR -s 3G | scripts/zfs-tests-color.sh - shell: bash - timeout-minutes: 330 - - name: Prepare artifacts - if: failure() - run: | - RESULTS_PATH=$(readlink -f /var/tmp/test_results/current) - sudo dmesg > $RESULTS_PATH/dmesg - sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/ - sudo chmod +r $RESULTS_PATH/* - # Replace ':' in dir names, actions/upload-artifact doesn't support it - for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Test logs Ubuntu-${{ matrix.os }} - path: | - /var/tmp/test_results/* - !/var/tmp/test_results/current - if-no-files-found: ignore diff --git a/sys/contrib/openzfs/.github/workflows/zfs-tests-sanity.yml b/sys/contrib/openzfs/.github/workflows/zfs-tests-sanity.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/zfs-tests-sanity.yml +++ /dev/null @@ -1,78 +0,0 @@ -name: zfs-tests-sanity - -on: - push: - pull_request: - -jobs: - tests: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Reclaim disk space - run: | - ${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh - - name: Install dependencies - run: | - sudo apt-get update - xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq - sudo apt-get clean - - name: Autogen.sh - run: | - ./autogen.sh - - name: Configure - run: | - ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan - - name: Make - run: | - make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod - - name: Install - run: | - sudo dpkg -i *.deb - # Update order of directories to search for modules, otherwise - # Ubuntu will load kernel-shipped ones. - sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf - sudo depmod - sudo modprobe zfs - # Workaround for cloud-init bug - # see https://github.com/openzfs/zfs/issues/12644 - FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules - if [ -r "${FILE}" ]; then - HASH=$(md5sum "${FILE}" | awk '{ print $1 }') - if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then - # Just shove a zd* exclusion right above the hotplug hook... - sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}" - sudo udevadm control --reload-rules - fi - fi - - name: Clear the kernel ring buffer - run: | - sudo dmesg -c >/var/tmp/dmesg-prerun - - name: Report disk space - run: | - df -h / - - name: Tests - run: | - set -o pipefail - /usr/share/zfs/zfs-tests.sh -vKR -s 3G -r sanity | scripts/zfs-tests-color.sh - shell: bash - timeout-minutes: 330 - - name: Prepare artifacts - if: failure() - run: | - RESULTS_PATH=$(readlink -f /var/tmp/test_results/current) - sudo dmesg > $RESULTS_PATH/dmesg - sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/ - sudo chmod +r $RESULTS_PATH/* - # Replace ':' in dir names, actions/upload-artifact doesn't support it - for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Test logs Ubuntu-${{ matrix.os }} - path: | - /var/tmp/test_results/* - !/var/tmp/test_results/current - if-no-files-found: ignore diff --git a/sys/contrib/openzfs/.github/workflows/zfs-tests.yml b/sys/contrib/openzfs/.github/workflows/zfs-tests.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/zfs-tests.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: zfs-tests-sanity - -on: - push: - pull_request: - -jobs: - tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install --yes -qq build-essential autoconf libtool gdb lcov \ - git alien fakeroot wget curl bc fio acl \ - sysstat mdadm lsscsi parted gdebi attr dbench watchdog ksh \ - nfs-kernel-server samba rng-tools xz-utils \ - zlib1g-dev uuid-dev libblkid-dev libselinux-dev \ - xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \ - libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \ - libpam0g-dev pamtester python-dev python-setuptools python-cffi \ - python3 python3-dev python3-setuptools python3-cffi - - name: Autogen.sh - run: | - sh autogen.sh - - name: Configure - run: | - ./configure --enable-debug --enable-debuginfo - - name: Make - run: | - make --no-print-directory -s pkg-utils pkg-kmod - - name: Install - run: | - sudo dpkg -i *.deb - # Update order of directories to search for modules, otherwise - # Ubuntu will load kernel-shipped ones. - sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf - sudo depmod - sudo modprobe zfs - - name: Tests - run: | - /usr/share/zfs/zfs-tests.sh -v -s 3G -r sanity - - name: Prepare artifacts - if: failure() - run: | - RESULTS_PATH=$(readlink -f /var/tmp/test_results/current) - sudo dmesg > $RESULTS_PATH/dmesg - sudo cp /var/log/syslog $RESULTS_PATH/ - sudo chmod +r $RESULTS_PATH/* - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Test logs - path: /var/tmp/test_results/20*/ - if-no-files-found: ignore diff --git a/sys/contrib/openzfs/.github/workflows/zloop.yml b/sys/contrib/openzfs/.github/workflows/zloop.yml deleted file mode 100644 --- a/sys/contrib/openzfs/.github/workflows/zloop.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: zloop - -on: - push: - pull_request: - -jobs: - tests: - runs-on: ubuntu-20.04 - env: - TEST_DIR: /var/tmp/zloop - steps: - - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Install dependencies - run: | - sudo apt-get update - xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq - sudo apt-get clean - - name: Autogen.sh - run: | - ./autogen.sh - - name: Configure - run: | - ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan - - name: Make - run: | - make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod - - name: Install - run: | - sudo dpkg -i *.deb - # Update order of directories to search for modules, otherwise - # Ubuntu will load kernel-shipped ones. - sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf - sudo depmod - sudo modprobe zfs - - name: Tests - run: | - sudo mkdir -p $TEST_DIR - # run for 20 minutes to have a total runner time of 30 minutes - sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1 -- -T 120 -P 60 - - name: Prepare artifacts - if: failure() - run: | - sudo chmod +r -R $TEST_DIR/ - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Logs - path: | - /var/tmp/zloop/*/ - !/var/tmp/zloop/*/vdev/ - if-no-files-found: ignore - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Pool files - path: | - /var/tmp/zloop/*/vdev/ - if-no-files-found: ignore