Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small CI for openapi2jsonschema, publish docker image #140

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
13 changes: 1 addition & 12 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ci
name: kubeconform
on: push
jobs:
kubeconform-test:
Expand All @@ -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
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/openapi2jsonschema.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 14 additions & 0 deletions scripts/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
ENV FILENAME_FORMAT='{kind}-{group}-{version}'

COPY openapi2jsonschema.py /
RUN pip install pyyaml

ENTRYPOINT ["/openapi2jsonschema"]
5 changes: 4 additions & 1 deletion scripts/Makefile
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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 .