diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d402639 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,55 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + list-dockerfiles: + runs-on: ubuntu-latest + + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + + steps: + - uses: actions/checkout@v4 + + - id: set-matrix + run: echo "matrix=$(find . -type f -name 'Dockerfile' -exec dirname {} \; | sed 's|^\./||' | awk -F'/' '{print $NF}' | sort -u)" >> $GITHUB_OUTPUT + + docker-build: + needs: list-dockerfiles + runs-on: ubuntu-latest + + permissions: + packages: write + + strategy: + matrix: + dockerfile: ${{ fromJson(needs.list-dockerfiles.outputs.matrix) }} + + steps: + - uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: ./examples/${{ matrix.dockerfile }} + push: ${{ github.ref == 'refs/heads/main' }} + tags: ghcr.io/cerberauth/openid-connect-examples/${{ matrix.dockerfile }}:latest + cache-from: type=registry,ref=ghcr.io/cerberauth/openid-connect-examples/${{ matrix.dockerfile }}:latest + cache-to: type=inline diff --git a/python/fastapi/pip/.gitignore b/python/fastapi/fastapi-pip/.gitignore similarity index 100% rename from python/fastapi/pip/.gitignore rename to python/fastapi/fastapi-pip/.gitignore diff --git a/python/fastapi/pip/Dockerfile b/python/fastapi/fastapi-pip/Dockerfile similarity index 100% rename from python/fastapi/pip/Dockerfile rename to python/fastapi/fastapi-pip/Dockerfile diff --git a/python/fastapi/pip/README.md b/python/fastapi/fastapi-pip/README.md similarity index 100% rename from python/fastapi/pip/README.md rename to python/fastapi/fastapi-pip/README.md diff --git a/python/fastapi/pip/app/main.py b/python/fastapi/fastapi-pip/app/main.py similarity index 100% rename from python/fastapi/pip/app/main.py rename to python/fastapi/fastapi-pip/app/main.py diff --git a/python/fastapi/pip/requirements.txt b/python/fastapi/fastapi-pip/requirements.txt similarity index 100% rename from python/fastapi/pip/requirements.txt rename to python/fastapi/fastapi-pip/requirements.txt diff --git a/python/fastapi/poetry/.gitignore b/python/fastapi/fastapi-poetry/.gitignore similarity index 100% rename from python/fastapi/poetry/.gitignore rename to python/fastapi/fastapi-poetry/.gitignore diff --git a/python/fastapi/poetry/Dockerfile b/python/fastapi/fastapi-poetry/Dockerfile similarity index 100% rename from python/fastapi/poetry/Dockerfile rename to python/fastapi/fastapi-poetry/Dockerfile diff --git a/python/fastapi/poetry/README.md b/python/fastapi/fastapi-poetry/README.md similarity index 100% rename from python/fastapi/poetry/README.md rename to python/fastapi/fastapi-poetry/README.md