diff --git a/.github/workflows/deploy-main.yml b/.github/workflows/deploy-main.yml.bak similarity index 100% rename from .github/workflows/deploy-main.yml rename to .github/workflows/deploy-main.yml.bak diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml.bak similarity index 100% rename from .github/workflows/docker-build.yml rename to .github/workflows/docker-build.yml.bak diff --git a/.github/workflows/merge-deploy.yaml b/.github/workflows/merge-deploy.yaml new file mode 100644 index 0000000..d0ab40b --- /dev/null +++ b/.github/workflows/merge-deploy.yaml @@ -0,0 +1,55 @@ +name: Deploy on PR Merge + +on: + pull_request: + types: [closed] + branches: [ main ] + +jobs: + deploy: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + + permissions: + contents: write + packages: write + + steps: + - name: Checkout app repo + uses: actions/checkout@v4 + + - name: Set image tag + run: | + TAG=$(git rev-parse --short HEAD) + echo "IMAGE_TAG=$TAG" >> $GITHUB_ENV + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: lzhengqc + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build & Push Image + uses: docker/build-push-action@v5 + with: + push: true + tags: ghcr.io/lzhengqc/visualsubnetcalc:${{ env.IMAGE_TAG }} + + - name: Checkout GitOps repo + uses: actions/checkout@v4 + with: + repository: lzhengqc/visualsubnetcalc-gitops + token: ${{ secrets.GITOPS_TOKEN }} + path: gitops + + - name: Update GitOps deployment + run: | + sed -i "s|image: .*|image: ghcr.io/lzhengqc/visualsubnetcalc:${IMAGE_TAG}|g" \ + gitops/k8s/deployment.yaml + + cd gitops + git config user.name "github-actions" + git config user.email "actions@github.com" + git commit -am "deploy: visualsubnetcalc ${IMAGE_TAG}" + git push diff --git a/.github/workflows/pr-ci.yaml b/.github/workflows/pr-ci.yaml new file mode 100644 index 0000000..ff31a56 --- /dev/null +++ b/.github/workflows/pr-ci.yaml @@ -0,0 +1,30 @@ +name: PR Build Image + +on: + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + permissions: + packages: write + + steps: + - uses: actions/checkout@v4 + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: lzhengqc + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build & Push PR image + run: | + TAG=pr-${{ github.event.pull_request.number }} + docker build -t ghcr.io/lzhengqc/visualsubnetcalc:$TAG . + # add latest tag for testing purpose + docker tag ghcr.io/lzhengqc/visualsubnetcalc:$TAG ghcr.io/lzhengqc/visualsubnetcalc:latest + docker push ghcr.io/lzhengqc/visualsubnetcalc:latest + docker push ghcr.io/lzhengqc/visualsubnetcalc:$TAG \ No newline at end of file diff --git a/.github/workflows/test-branch.yml b/.github/workflows/test-branch.yml.bak similarity index 100% rename from .github/workflows/test-branch.yml rename to .github/workflows/test-branch.yml.bak diff --git a/dist/index.html b/dist/index.html index 401293e..42464b1 100644 --- a/dist/index.html +++ b/dist/index.html @@ -99,6 +99,8 @@

Visual Subnet Calculator

+ +
+ + +