diff --git a/.forgejo/workflows/build-and-deploy.yml b/.forgejo/workflows/build-and-deploy.yml index f3b4a35..8bf624d 100644 --- a/.forgejo/workflows/build-and-deploy.yml +++ b/.forgejo/workflows/build-and-deploy.yml @@ -1,69 +1,70 @@ -name: Build and Deploy Go App - -on: - push: - branches: - - master - - cicd - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - uses: actions/setup-go@v6 - with: - go-version: '^1.25' - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - # Build application - - name: Build Go app - run: | - cd modules/server - go mod tidy - go build -o nyanimedb . - - - name: Upload built application to artifactory - uses: actions/upload-artifact@v3 - with: - name: nyanimedb - path: modules/server/nyanimedb - - # Build Docker image - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - registry: ${{ vars.REGISTRY }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v6 - with: - push: true - tags: meowgit.nekoea.red/nihonium/nyanimedb:latest - - deploy: - runs-on: self-hosted - needs: build - env: - POSTGRES_USER: ${{ secrets.POSTGRES_USER }} - POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} - POSTGRES_DB: nyanimedb - POSTGRES_PORT: 5432 - POSTGRES_VERSION: 18 - LOG_LEVEL: ${{ vars.LOG_LEVEL }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Deploy containers locally - run: | - cd deploy - docker compose down || true - docker compose up -d +name: Build and Deploy Go App + +on: + push: + branches: + - master + - cicd + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-go@v6 + with: + go-version: '^1.25' + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Checkout code + uses: actions/checkout@v4 + + # Build application + - name: Build Go app + run: | + cd modules/server + go mod tidy + go build -o nyanimedb . + + - name: Upload built application to artifactory + uses: actions/upload-artifact@v3 + with: + name: nyanimedb + path: modules/server/nyanimedb + + # Build Docker image + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ vars.REGISTRY }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + file: Dockerfiles/Dockerfile-server + push: true + tags: meowgit.nekoea.red/nihonium/nyanimedb:latest + + deploy: + runs-on: self-hosted + needs: build + env: + POSTGRES_USER: ${{ secrets.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + POSTGRES_DB: nyanimedb + POSTGRES_PORT: 5432 + POSTGRES_VERSION: 18 + LOG_LEVEL: ${{ vars.LOG_LEVEL }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Deploy containers locally + run: | + cd deploy + docker compose down || true + docker compose up -d