Small CI for openapi2jsonschema, publish docker image

This commit is contained in:
Yann Hamon 2022-10-16 16:08:38 +02:00
parent a31707ca58
commit 244606a1cd
4 changed files with 52 additions and 11 deletions

View file

@ -16,16 +16,6 @@ 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:

View file

@ -0,0 +1,34 @@
name: ci
on:
push:
paths:
- scripts/**
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
- 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@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: ./scripts
push: true
tags: 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="kubeconform" \
org.opencontainers.image.url="https://github.com/yannh/kubeconform/"
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 .