Add support for additional user defined ConfigMaps #381
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow: | |
# - lints the chart, runs tests and verifies documentation is up to date | |
# Additionally if the event isn't a pull-request (and hence a merge/push to main): | |
# - sync README to gh-pages branch | |
# - release a new chart version if the version isn't already released | |
name: CI/CD | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
# Cancel previous PR builds. | |
concurrency: | |
# Cancel all workflow runs except latest within a concurrency group. This is achieved by defining a concurrency group for the PR. | |
# Non-PR builds have singleton concurrency groups. | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@v2.6.1 | |
- name: Lint charts | |
run: ct lint --charts=charts/trino --validate-maintainers=false | |
test: | |
runs-on: ubuntu-latest | |
name: test ${{ matrix.label }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- { label: default, args: '' } | |
# last Trino version that requires JDK 21 | |
- { label: 446, args: '--set image.tag=446' } | |
# last Trino version that requires JDK 17 | |
- { label: 435, args: '--set image.tag=435' } | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Helm | |
uses: azure/setup-helm@v4 | |
with: | |
version: v3.14.4 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@v2.6.1 | |
- name: Create kind cluster | |
uses: helm/kind-action@v1.10.0 | |
- name: Run tests | |
run: ./test.sh -a "${{ matrix.args }}" | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- uses: pre-commit/action@v3.0.1 | |
# Everything above is CI, everything here and below is for releases and runs only on non-pull-request events | |
sync-readme: | |
needs: [lint, test, docs] | |
runs-on: ubuntu-latest | |
if: github.event_name != 'pull_request' | |
steps: | |
- name: Checkout main | |
uses: actions/checkout@v4 | |
with: | |
path: main | |
- name: Checkout gh-pages | |
uses: actions/checkout@v4 | |
with: | |
ref: gh-pages | |
path: gh-pages | |
- name: Copy all README files from main to gh-pages | |
run: | | |
cd main | |
# cp --parents preserves directory structure | |
find . -name 'README.md' -exec cp --parents '{}' "../gh-pages/" ';' | |
- name: Commit changes to gh-pages and push | |
run: | | |
cd gh-pages | |
git add . | |
git config user.name "GITHUB_ACTOR" | |
git config user.email "$GITHUB_ACTOR@users.noreply.github.com" | |
# Commit only if changes exist to avoid failure in this step | |
git diff-index --quiet HEAD || git commit --signoff -m "Sync READMEs from main" | |
git push | |
release: | |
needs: [lint, test, docs, sync-readme] | |
runs-on: ubuntu-latest | |
if: github.event_name != 'pull_request' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# history is required to generate changelog | |
fetch-depth: 0 | |
- name: Configure Git | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "$GITHUB_ACTOR@users.noreply.github.com" | |
- name: Build release changelog | |
id: github_release | |
uses: mikepenz/release-changelog-builder-action@v4 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
configuration: '.github/changelog-config.json' | |
outputFile: ${{ runner.temp }}/CHANGELOG.md | |
- name: Inspect changelog | |
run: cat ${{ runner.temp }}/CHANGELOG.md | |
- name: Release charts | |
uses: helm/chart-releaser-action@v1.6.0 | |
env: | |
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
CR_RELEASE_NOTES_FILE: ${{ runner.temp }}/CHANGELOG.md | |
# If we didn't bump the chart version then we can skip the release | |
CR_SKIP_EXISTING: true |