diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..def4fb3 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,66 @@ +name: Tests + +on: + push: + branches: [main] + pull_request: + +permissions: + contents: read + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Shellcheck + # uses the shellcheck version pinned in the Makefile, not the runner's + run: make lint + + tests: + name: Tests (${{ matrix.name }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + # Versions pinned in docker/Dockerfile (what the image ships). + - name: image versions + id: image + make_args: "" + # Oldest helmfile that supports Helm 4. + - name: minimum helm 4 + id: helm4-min + make_args: HELM_VERSION=v4.0.0 HELMFILE_VERSION=1.2.0 + # Helm 3 is still usable via HELM_BINARY until its EOL (2026-11-11). + - name: helm 3 + id: helm3 + make_args: HELM_VERSION=v3.19.4 + - name: helm 3, minimum helmfile + id: helm3-helmfile-min + make_args: HELM_VERSION=v3.19.4 HELMFILE_VERSION=1.0.0 + steps: + - uses: actions/checkout@v5 + + - name: Cache tools + uses: actions/cache@v5 + with: + path: .tools + key: tools-${{ runner.os }}-${{ matrix.id }}-${{ hashFiles('docker/Dockerfile', 'Makefile') }} + + - name: Show tool versions under test + run: make versions ${{ matrix.make_args }} + + - name: Run tests + run: make test ${{ matrix.make_args }} + + docker: + name: Docker image + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Build image and run smoke test + run: make test-docker \ No newline at end of file diff --git a/.gitignore b/.gitignore index 485dee6..bbe1cef 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea +.tools/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b5eb4ef..998f1b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,41 @@ The format is based on Keep a Changelog (https://keepachangelog.com/en/1.1.0/) and this project adheres to Semantic Versioning (https://semver.org/). --- +## [1.3.2] +### Removed +- Dead code: `if [[ true ]]` wrappers, duplicate `PATH` expansion, unused `print_env_vars`, unused `/tmp/__