summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:03:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:03:18 +0000
commitf2621414ee5f2f601424c22f00e207903e3b6104 (patch)
tree56a856dafd1ca684bb23263cacaa723ee4f404fc /.github
parentAdding debian version 1:2.11-8. (diff)
downloadbash-completion-f2621414ee5f2f601424c22f00e207903e3b6104.tar.xz
bash-completion-f2621414ee5f2f601424c22f00e207903e3b6104.zip
Merging upstream version 1:2.12.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md41
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md24
-rw-r--r--.github/release-please-config.json15
-rw-r--r--.github/release-please-manifest.json1
-rw-r--r--.github/renovate.json64
-rw-r--r--.github/requirements.txt4
-rw-r--r--.github/workflows/ci.yaml94
-rw-r--r--.github/workflows/update-docker-images.yml43
8 files changed, 286 insertions, 0 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..b6505b6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,41 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+## Describe the bug
+
+<!-- A clear and concise description of what the bug is. -->
+
+## To reproduce
+
+<!-- Steps to reproduce the behavior: -->
+
+1. cd to '...'
+2. Type '....'
+3. See problem
+
+## Expected behavior
+
+<!-- A clear and concise description of what you expected to happen. -->
+
+## Versions (please complete the following information)
+
+- [ ] Operating system name/distribution and version:
+- [ ] bash version, `echo "$BASH_VERSION"`:
+- [ ] bash-completion version, `(IFS=.; echo "${BASH_COMPLETION_VERSINFO[*]}")`:
+
+## Additional context
+
+<!-- Add any other context about the problem here. -->
+
+## Debug trace
+
+<!--
+ See Troubleshooting section in README.md how to generate a debug trace,
+ copy-paste it into a separate file and attach the file here.
+-->
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..89f9eab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,24 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+## Describe the feature/solution
+
+<!-- A clear and concise description of what you want to happen. -->
+
+## Maintenance (please complete the following information)
+
+<!--
+ See CONTRIBUTING.md, many of the considerations for new completions
+ applies here, too. If upstream has been asked if they'd be interested in
+ shipping the completion instead of us here in bash-completion, include
+ link to the upstream query/issue below.
+-->
+
+- [ ] This is a request for new completion
+- [ ] Link to upstream project query about shipping the completion:
diff --git a/.github/release-please-config.json b/.github/release-please-config.json
new file mode 100644
index 0000000..2a16c5b
--- /dev/null
+++ b/.github/release-please-config.json
@@ -0,0 +1,15 @@
+{
+ "packages": {
+ ".": {
+ "package-name": "bash-completion",
+ "release-type": "simple",
+ "include-component-in-tag": false,
+ "include-v-in-tag": false
+ }
+ },
+ "pull-request-title-pattern": "chore: release${component} ${version}",
+ "extra-files": [
+ "bash_completion",
+ "configure.ac"
+ ]
+}
diff --git a/.github/release-please-manifest.json b/.github/release-please-manifest.json
new file mode 100644
index 0000000..95b1793
--- /dev/null
+++ b/.github/release-please-manifest.json
@@ -0,0 +1 @@
+{".":"2.12.0"}
diff --git a/.github/renovate.json b/.github/renovate.json
new file mode 100644
index 0000000..1fca10e
--- /dev/null
+++ b/.github/renovate.json
@@ -0,0 +1,64 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": [
+ "config:base",
+ ":enablePreCommit",
+ ":prConcurrentLimit20",
+ ":preserveSemverRanges",
+ ":semanticPrefixChore"
+ ],
+ "ignorePresets": [
+ ":dependencyDashboard",
+ ":ignoreModulesAndTests",
+ ":semanticPrefixFixDepsChoreOthers"
+ ],
+ "semanticCommits": "enabled",
+ "commitMessageTopic": "{{depName}}",
+ "dockerfile": {
+ "enabled": false
+ },
+ "pip_requirements": {
+ "fileMatch": [
+ "(^|/)requirements[\\w-]*\\.txt$"
+ ]
+ },
+ "regexManagers": [
+ {
+ "fileMatch": ["^\\.pre-commit-config\\.yaml$"],
+ "matchStrings": ["(?<depName>[\\w-]+)(?<currentValue>==[a-z0-9.]+)"],
+ "datasourceTemplate": "pypi"
+ }
+ ],
+ "packageRules": [
+ {
+ "matchFiles": ["test/requirements.txt"],
+ "semanticCommitType": "test"
+ },
+ {
+ "matchManagers": ["pre-commit"],
+ "commitMessageTopic": "{{depName}}",
+ "semanticCommitScope": "pre-commit"
+ },
+ {
+ "matchPackagePatterns": ["(^|/)gitlint$"],
+ "versioning": "pep440",
+ "groupName": "gitlint"
+ },
+ {
+ "matchPackageNames": ["perltidy/perltidy"],
+ "versioning": "regex:^(?<major>\\d{8})$"
+ },
+ {
+ "matchPackagePatterns": ["(^|/)ruff(-pre-commit)?$"],
+ "groupName": "ruff",
+ "versioning": "pep440"
+ },
+ {
+ "matchPackageNames": [
+ "scop/pre-commit-shfmt",
+ "shellcheck-py/shellcheck-py"
+ ],
+ "versioning": "loose"
+ }
+ ]
+}
diff --git a/.github/requirements.txt b/.github/requirements.txt
new file mode 100644
index 0000000..09ff6d5
--- /dev/null
+++ b/.github/requirements.txt
@@ -0,0 +1,4 @@
+-r ../test/requirements-dev.txt
+
+gitlint==0.19.1
+pre-commit>=2.4.0
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..27480fa
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,94 @@
+name: ci
+
+on:
+ pull_request:
+ push:
+ branches:
+ - master
+
+jobs:
+ pre-commit:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with: # for gitlint
+ ref: ${{ github.event.pull_request.head.sha }}
+ fetch-depth: 0
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ">=3.7"
+ cache: pip
+ cache-dependency-path: |
+ .github/requirements.txt
+ test/requirements*.txt
+ - uses: actions/cache@v4
+ with:
+ path: ~/.cache/pre-commit
+ key: pre-commit-${{hashFiles('.pre-commit-config.yaml')}}
+ - name: Install dependencies
+ run: |
+ python3 -m venv venv # for venv-run
+ source venv/bin/activate
+ python3 -m pip install -Ur .github/requirements.txt
+ - run: venv/bin/gitlint --commits "origin/$GITHUB_BASE_REF..HEAD"
+ if: github.event_name == 'pull_request'
+ - name: Run pre-commit checks
+ run: |
+ source venv/bin/activate
+ pre-commit run --color=always --all-files --show-diff-on-failure
+
+ distcheck:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - dist: alpine
+ - dist: centos7
+ - dist: debian10
+ - dist: debian10
+ bsd: true
+ network: none
+ - dist: fedoradev
+ - dist: ubuntu14
+ steps:
+ - uses: actions/checkout@v4
+ - uses: google-github-actions/release-please-action@v4
+ with:
+ config-file: .github/release-please-config.json
+ manifest-file: .github/release-please-manifest.json
+ id: release
+ if: github.event_name == 'push' && matrix.dist == 'alpine'
+ # A "container" workflow config would be cleaner here, but comes with
+ # some restrictions/oddities: changes root's $HOME to /github/home
+ # without changing the actual home dir that can cause some problems,
+ # and does not provide a way to run with --network none.
+ # fedoradev unconfined: https://bugzilla.redhat.com/1900021
+ - name: Run main build
+ run: >-
+ docker run
+ --rm
+ --tty
+ --env CI=true
+ --env DIST=${{matrix.dist}}
+ --env BSD=${{matrix.bsd}}
+ --env PYTESTFLAGS="--verbose -p no:cacheprovider"
+ --env NETWORK=$NETWORK
+ ${NETWORK:+--network $NETWORK}
+ $(test $DIST = fedoradev && echo --security-opt seccomp=unconfined)
+ --volume $PWD:/usr/src/bash-completion
+ --workdir /usr/src/bash-completion
+ ghcr.io/scop/bash-completion/test:${{matrix.dist}}
+ test/docker/entrypoint.sh
+ env:
+ DIST: ${{matrix.dist}}
+ NETWORK: ${{matrix.network}}
+ - name: Upload release assets
+ run: |
+ set -x
+ gh release upload ${{steps.release.outputs.tag_name}} \
+ bash-completion-$(cat version.txt).tar.xz
+ if: steps.release.outputs.release_created
+ - uses: actions/upload-artifact@v4
+ with:
+ path: bash-completion-*.tar.xz
+ if: matrix.dist == 'alpine'
diff --git a/.github/workflows/update-docker-images.yml b/.github/workflows/update-docker-images.yml
new file mode 100644
index 0000000..5f6e269
--- /dev/null
+++ b/.github/workflows/update-docker-images.yml
@@ -0,0 +1,43 @@
+name: update-docker-images
+
+# Update Docker images when the set of commands required present for testing
+# change. This is not perfect as it would be good to have the new commands
+# installed already at PR time, and at least at time the change lands in the
+# default branch. That way it'd be tested immediately then with images
+# containing it, instead of later along with some other, completely unrelated
+# change.
+
+on:
+ push:
+ paths:
+ - test/test-cmd-list.txt
+ - test/docker/*/Dockerfile
+ - test/docker/*/install-packages.sh
+ workflow_dispatch:
+
+jobs:
+ update-test-image:
+ runs-on: ubuntu-latest
+ if: github.repository_owner == 'scop' && github.ref == 'refs/heads/master'
+ strategy:
+ matrix:
+ include:
+ - dist: alpine
+ - dist: centos7
+ - dist: debian10
+ - dist: fedoradev
+ - dist: ubuntu14
+ steps:
+ - uses: actions/checkout@v4
+ - uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{github.repository_owner}}
+ password: ${{secrets.GITHUB_TOKEN}}
+ - uses: docker/build-push-action@v5
+ with:
+ context: test
+ file: test/docker/${{matrix.dist}}/Dockerfile
+ tags: |
+ ghcr.io/scop/bash-completion/test:${{matrix.dist}}
+ push: true