diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..4c27987 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,55 @@ +name: Docker + +on: + push: + tags: ['v*.*.*'] + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_PREFIX: ghcr.io/${{ github.repository_owner }} + +jobs: + build-server: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - uses: docker/setup-buildx-action@v3 + - uses: docker/build-push-action@v5 + with: + context: ./server + file: ./server/Dockerfile + push: true + tags: | + ${{ env.IMAGE_PREFIX }}/sigops-server:latest + ${{ env.IMAGE_PREFIX }}/sigops-server:${{ github.ref_name }} + + build-ui: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - uses: docker/setup-buildx-action@v3 + - uses: docker/build-push-action@v5 + with: + context: ./ui + file: ./ui/Dockerfile + push: true + tags: | + ${{ env.IMAGE_PREFIX }}/sigops-ui:latest + ${{ env.IMAGE_PREFIX }}/sigops-ui:${{ github.ref_name }} diff --git a/server/package.json b/server/package.json index 55f4725..87081c6 100644 --- a/server/package.json +++ b/server/package.json @@ -9,6 +9,7 @@ "start": "node dist/index.js", "db:generate": "drizzle-kit generate", "db:push": "drizzle-kit push", + "db:migrate": "drizzle-kit migrate", "db:seed": "tsx src/db/seed.ts", "test": "vitest run", "test:watch": "vitest",