From 028d41fdd6cb0881c87959733c2f5d600f13a092 Mon Sep 17 00:00:00 2001 From: eli Date: Thu, 12 Dec 2024 10:22:14 -0800 Subject: [PATCH] finish wip --- .github/workflows/pdp_cicd.yml | 233 ++++++++++++++++----------------- 1 file changed, 116 insertions(+), 117 deletions(-) diff --git a/.github/workflows/pdp_cicd.yml b/.github/workflows/pdp_cicd.yml index e818f94e..21676147 100644 --- a/.github/workflows/pdp_cicd.yml +++ b/.github/workflows/pdp_cicd.yml @@ -1,8 +1,8 @@ name: Build and Push PDP Docker Image -on: push - # release: - # types: [published] +on: + release: + types: [published] jobs: pdp-tests: @@ -26,8 +26,7 @@ jobs: - name: Pre build PDP tests run: | - #echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version - echo "1.1.1" | cut -d '-' -f 1 > permit_pdp_version + echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version rm -rf custom mkdir custom build_root="$PWD" @@ -79,115 +78,115 @@ jobs: pip install requests pydantic==1.8.2 docker python sidecar_tester.py -k ${{ secrets.PERMIT_TESTS_TOKEN }} -u https://api.permit.io -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 - # 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 '.*' - - # - uses: robinraju/release-downloader@v1 - # with: - # repository: permitio/datasync - # latest: true - # fileName: factstore_server* - # token: ${{ secrets.CLONE_REPO_TOKEN }} - # out-file-path: "factdb" - - # - 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 - # build-args: | - # ALLOW_MISSING_FACTSTORE=false - # 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 - # build-args: | - # ALLOW_MISSING_FACTSTORE=false - # tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest - # cache-from: type=gha - # cache-to: type=gha,mode=max + 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 '.*' + + - uses: robinraju/release-downloader@v1 + with: + repository: permitio/datasync + latest: true + fileName: factstore_server* + token: ${{ secrets.CLONE_REPO_TOKEN }} + out-file-path: "factdb" + + - 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 + build-args: | + ALLOW_MISSING_FACTSTORE=false + 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 + build-args: | + ALLOW_MISSING_FACTSTORE=false + tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest + cache-from: type=gha + cache-to: type=gha,mode=max