diff options
| author | Bobby <[email protected]> | 2025-06-16 10:30:21 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-06-16 10:30:21 +0530 |
| commit | 36eaef1926fa73eebc55a39c6f9eff7000894261 (patch) | |
| tree | aecf2af710210225b84485022dd3fdc526b3cb91 | |
| parent | 34c1bbb3955629da4ab4659d70195540b08156f4 (diff) | |
| download | imageboard-36eaef1926fa73eebc55a39c6f9eff7000894261.tar.xz imageboard-36eaef1926fa73eebc55a39c6f9eff7000894261.zip | |
added build and deploy workflows
| -rw-r--r-- | .github/workflows/build.yml | 22 | ||||
| -rw-r--r-- | .github/workflows/deploy.yml | 56 |
2 files changed, 78 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..84de603 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: Build + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.24' + + - name: Build + run: go build -v ./...
\ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..2c2abd3 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,56 @@ +name: Deploy + +on: + workflow_run: + workflows: ["Build"] + types: + - completed + branches: [main] + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + env: + IMAGE_URL: "" + APP_SERVER: ${{ secrets.APP_SERVER }} + APP_NAME: ${{ secrets.APP_NAME }} + APP_TOKEN: ${{ secrets.APP_TOKEN }} + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Preset Image Name + id: set_image_url + run: | + IMAGE_URL=$(echo ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]') + echo "IMAGE_URL=$IMAGE_URL" >> $GITHUB_ENV + echo "image_url=$IMAGE_URL" >> $GITHUB_OUTPUT + + - name: Build and push Docker Image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + platforms: linux/arm64/v8 + tags: ${{ steps.set_image_url.outputs.image_url }} + + - name: Deploy Image to Server + uses: caprover/[email protected] + with: + server: ${{ env.APP_SERVER }} + app: ${{ env.APP_NAME }} + token: ${{ env.APP_TOKEN }} + image: ${{ steps.set_image_url.outputs.image_url }}
\ No newline at end of file |
