workflows update #69
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
--- | |
name: test | |
on: | |
push: | |
tags-ignore: | |
- "*" | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
# Install Catlin linting tool | |
- name: Install linting tools | |
run: | | |
set -Eeu | |
GOBIN=/usr/local/bin/ go install github.com/openshift-pipelines/tektoncd-catalog/cmd/catalog-cd@latest | |
git clone https://github.com/tektoncd/catlin | |
cd catlin | |
make bin/catlin | |
sudo cp bin/catlin /usr/local/bin | |
catlin --help | |
catalog-cd --help | |
# run Catlin linting | |
- name: Run Catlin linting | |
run: | | |
set -Eeu | |
helm template task-oc . > task-oc.yaml | |
cat task-oc.yaml | |
catlin validate task-oc.yaml || true | |
helm template task-tkn . > task-tkn.yaml | |
cat task-tkn.yaml | |
catlin validate task-tkn.yaml || true | |
- name: Run catalog-cd lint | |
run: | | |
set -Eeu | |
helm template task-oc . > task-oc.yaml | |
catalog-cd lint task-oc.yaml | |
helm template task-tkn . > task-tkn.yaml | |
catalog-cd lint task-tkn.yaml | |
test-e2e: | |
strategy: | |
fail-fast: false # Keep running if one leg fails. | |
matrix: | |
pipeline-version: | |
- v0.44.5 | |
- v0.47.5 | |
- v0.50.5 | |
- v0.53.3 | |
- latest | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
registry: registry.redhat.io | |
username: ${{ secrets.REGISTRY_REDHAT_USERNAME }} | |
password: ${{ secrets.REGISTRY_REDHAT_TOKEN }} | |
- uses: azure/setup-helm@v3 | |
# instantiate a KinD (Kubernetes in Docker) cluster, installs `kubectl` and configures the | |
# `kubeconfig` to reach the local cluster | |
- uses: helm/[email protected] | |
with: | |
cluster_name: kind | |
wait: 120s | |
# installs Tekton Pipelines and `tkn` command line, including a local Container-Registry with | |
# settings to reach it during testing | |
- uses: openshift-pipelines/setup-tektoncd@v1 | |
with: | |
pipeline_version: ${{ matrix.pipeline-version }} | |
# running end-to-end test target | |
- name: test-e2e | |
run: | | |
set -Eeuo pipefail | |
kubectl delete secret regcred || true | |
kubectl create secret generic regcred \ | |
--from-file=.dockerconfigjson=$HOME/.docker/config.json \ | |
--type=kubernetes.io/dockerconfigjson | |
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}' | |
make test-e2e | |