Skip to content

Commit

Permalink
wip14
Browse files Browse the repository at this point in the history
  • Loading branch information
EliMoshkovich committed Apr 11, 2024
1 parent 531acd4 commit 2baeff0
Showing 1 changed file with 117 additions and 103 deletions.
220 changes: 117 additions & 103 deletions .github/workflows/pdp_cicd.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Build and Push PDP Docker Image

on:
release:
types: [published]
on: push
# release:
# types: [published]

jobs:
pdp-tests:
Expand Down Expand Up @@ -53,111 +53,125 @@ jobs:
- name: Python setup
uses: actions/setup-python@v5
with:
python-version: '3.11.8'
python-version: '3.10.3'

- name: Run PDP tests
- name: Run E2E tests
working-directory: ./permit-backend/proactive_tests/sidecar
run: |
pip install requests pydantic==1.8.2 docker
python sidecar_tester.py -k ${{ secrets.PERMIT_TESTS_TOKEN }} -u https://api.permit.io --no-v1 -2 permitio/pdp-v2:test --no-pull
build-and-push-pdp-vanilla:
needs: pdp-tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Pre build - for PDP-Vanilla
run: echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version

- name: Build and push PDP-Vanilla - (official release)
if: "!github.event.release.prerelease"
uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}, permitio/pdp-v2-vanilla:latest
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Build and push PDP-Vanilla image - (pre-release)
if: "github.event.release.prerelease"
uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}
cache-from: type=gha
cache-to: type=gha,mode=max

build-and-push-pdp:
needs: pdp-tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- uses: actions/checkout@v3
with:
repository: permitio/permit-opa
ref: main
path: './permit-opa'
token: ${{ secrets.CLONE_REPO_TOKEN }}

- name: Pre build PDP
- name: Run Pytests
run: |
echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version
rm -rf custom
mkdir custom
build_root="$PWD"
cd ./permit-opa
find * -name '*go*' -print0 | xargs -0 tar -czf "$build_root"/custom/custom_opa.tar.gz --exclude '.*'
- name: Build and push PDP image - (pre-release)
if: "github.event.release.prerelease"
uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: permitio/pdp-v2:${{ github.event.release.tag_name }}
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Build and push PDP image - (official release)
if: "!github.event.release.prerelease"
uses: docker/build-push-action@v5
python -m pip install --upgrade pip
pip install flake8 pytest pytest-cov
python setup.py install
if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pytest -s --cache-clear --cov=app horizon/tests/ > pytest-coverage.txt
- name: Comment coverage
uses: coroo/[email protected]
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest
cache-from: type=gha
cache-to: type=gha,mode=max
pytest-coverage: pytest-coverage.txt

# build-and-push-pdp-vanilla:
# needs: pdp-tests
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4

# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3

# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}

# - name: Pre build - for PDP-Vanilla
# run: echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version

# - name: Build and push PDP-Vanilla - (official release)
# if: "!github.event.release.prerelease"
# uses: docker/build-push-action@v5
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}, permitio/pdp-v2-vanilla:latest
# cache-from: type=gha
# cache-to: type=gha,mode=max

# - name: Build and push PDP-Vanilla image - (pre-release)
# if: "github.event.release.prerelease"
# uses: docker/build-push-action@v5
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}
# cache-from: type=gha
# cache-to: type=gha,mode=max

# build-and-push-pdp:
# needs: pdp-tests
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4

# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3

# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}

# - uses: actions/checkout@v3
# with:
# repository: permitio/permit-opa
# ref: main
# path: './permit-opa'
# token: ${{ secrets.CLONE_REPO_TOKEN }}

# - name: Pre build PDP
# run: |
# echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version
# rm -rf custom
# mkdir custom
# build_root="$PWD"
# cd ./permit-opa
# find * -name '*go*' -print0 | xargs -0 tar -czf "$build_root"/custom/custom_opa.tar.gz --exclude '.*'

# - name: Build and push PDP image - (pre-release)
# if: "github.event.release.prerelease"
# uses: docker/build-push-action@v5
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: permitio/pdp-v2:${{ github.event.release.tag_name }}
# cache-from: type=gha
# cache-to: type=gha,mode=max

# - name: Build and push PDP image - (official release)
# if: "!github.event.release.prerelease"
# uses: docker/build-push-action@v5
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest
# cache-from: type=gha
# cache-to: type=gha,mode=max

0 comments on commit 2baeff0

Please sign in to comment.