Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions 42 .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This workflow will install Python dependencies, run tests and lint with Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python application

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest || [ $? -eq 5 ]
88 changes: 88 additions & 0 deletions 88 .github/workflows/validate-with-registry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Validate with Devfile Registry Tests

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]


concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true

env:
MINIKUBE_VERSION: 'v1.29.0'
MINIKUBE_RESOURCES: '--memory 14gb --cpus 4'
KUBERNETES_VERSION: 'v1.25.2'
TEST_DELTA: false
REGISTRY_PATH: ${{ github.workspace }}/registry
GO_VERSION: '1.23'
GINKGO_VERSION: v2.19.0
YQ_VERSION: v4.44.1

jobs:
validate-devfile-schema:
name: validate devfile schemas
runs-on: ubuntu-latest
steps:
- name: Checkout current repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: current-repo

- name: Checkout devfile registry
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: devfile/registry
path: ${{ env.REGISTRY_PATH }}

- name: Setup Go
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with:
go-version: ${{ env.GO_VERSION }}

- name: Install yq
run: |
curl -sL -O https://github.com/mikefarah/yq/releases/download/${{ env.YQ_VERSION }}/yq_linux_amd64 -o /usr/local/bin/yq && mv ./yq_linux_amd64 /usr/local/bin/yq && chmod +x /usr/local/bin/yq

- name: Install Ginkgo
run: go install github.com/onsi/ginkgo/v2/ginkgo@${{ env.GINKGO_VERSION }}

- name: Validate sample
run: (cd ${{ env.REGISTRY_PATH }} && bash tests/validate_devfile_schemas.sh --stacksPath ${{ github.workspace }} --stackDirs current-repo)

non-terminating:
name: check for non-terminating images
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: current-repo
fetch-depth: 0

- name: Checkout devfile registry
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: devfile/registry
path: ${{ env.REGISTRY_PATH }}

- name: Setup Go
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with:
go-version: ${{ env.GO_VERSION }}

- name: Setup Minikube
uses: manusa/actions-setup-minikube@0e8062ceff873bd77979f39cf8fd3621416afe4d # v2.13.0
with:
minikube version: ${{ env.MINIKUBE_VERSION }}
kubernetes version: ${{ env.KUBERNETES_VERSION }}
driver: "docker"
github token: ${{ secrets.GITHUB_TOKEN }}
start args: "--addons=ingress ${{ env.MINIKUBE_RESOURCES }}"

- name: Check that containers components are non terminating
run: |
go build -C ${{ env.REGISTRY_PATH }}/tests/check_non_terminating -o flatten-parent
(cd ${{ env.REGISTRY_PATH }} && bash ${{ env.REGISTRY_PATH }}/tests/check_non_terminating.sh --stacksPath ${{ github.workspace }} --stackDirs current-repo)
16 changes: 16 additions & 0 deletions 16 renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>devfile-samples/.github:renovate-config"],
"enabledManagers": ["pip_requirements", "dockerfile"],
"pip_requirements": {
"fileMatch": ["requirements\\.txt$"]
},
"packageRules": [
{
"matchManagers": ["pip_requirements"],
"groupName": "python dependencies",
"groupSlug": "python-deps",
"commitMessageTopic": "Python {{depName}}"
}
]
}
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.