This commit is contained in:
Yann Hamon 2023-11-20 22:43:07 -08:00 committed by GitHub
commit 1e0ff9b743
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 13 deletions

View file

@ -1,4 +1,4 @@
name: ci
name: kubeconform
on: push
jobs:
kubeconform-test:
@ -16,21 +16,10 @@ jobs:
- name: acceptance-test
run: make docker-acceptance
openapi2jsonschema-test:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
working-directory: ./scripts
run: make docker-test docker-acceptance
goreleaser:
runs-on: ubuntu-latest
needs:
- kubeconform-test
- openapi2jsonschema-test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: checkout

View file

@ -0,0 +1,32 @@
name: openapi2jsonschema
on: push
env:
REGISTRY: ghcr.io
IMAGE_NAME: openapi2jsonschema
jobs:
openapi2jsonschema:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: test
working-directory: ./scripts
run: make docker-test docker-acceptance
# https://docs.github.com/en/actions/publishing-packages/publishing-docker-images
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
context: "./scripts"
push: true
tags: "kubeconform/openapi2jsonschema:latest"

14
scripts/Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM python:3.9.15-alpine3.16
LABEL org.opencontainers.image.authors="Various contributors" \
org.opencontainers.image.source="https://github.com/yannh/kubeconform/tree/master/scripts" \
org.opencontainers.image.description="Convert OpenAPI CRD to JSON Schema" \
org.opencontainers.image.licenses="Apache License 2.0" \
org.opencontainers.image.title="openapi2jsonschema" \
org.opencontainers.image.url="https://github.com/yannh/kubeconform/tree/master/scripts/"
MAINTAINER Yann HAMON <yann@mandragor.org>
ENV FILENAME_FORMAT='{kind}-{group}-{version}'
COPY openapi2jsonschema.py /
RUN pip install pyyaml
ENTRYPOINT ["/openapi2jsonschema"]

View file

@ -1,6 +1,6 @@
#!/usr/bin/make -f
# This is really early days
.PHONY: test build-python-bats docker-test docker-acceptance build-image
test: build-python-bats docker-test docker-acceptance
@ -12,3 +12,6 @@ docker-test: build-python-bats
docker-acceptance: build-python-bats
docker run --entrypoint "/usr/bin/bats" -t python-bats /code/acceptance.bats
build-image: docker-test docker-acceptance
docker build -t openapi2jsonschema -f Dockerfile .