From e6b8827ef63cf27e3fbc3bda5c3b31c8ad09fe80 Mon Sep 17 00:00:00 2001 From: Oscar Eriksson Date: Sun, 5 Nov 2023 20:33:31 +0100 Subject: [PATCH] Add workflows for ghcr build --- .github/workflows/backend.yml | 46 ++++++++++++++++++++++++++++++++++ .github/workflows/frontend.yml | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 .github/workflows/backend.yml create mode 100644 .github/workflows/frontend.yml diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml new file mode 100644 index 0000000..a26abce --- /dev/null +++ b/.github/workflows/backend.yml @@ -0,0 +1,46 @@ +on: [push, pull_request] + +name: "Backend CI" + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 16 + - name: Install dependencies + run: npm install + working-directory: backend + - name: Build + run: npm run build + working-directory: backend + + docker: + runs-on: ubuntu-latest + needs: + - build + permissions: + packages: write + steps: + - uses: actions/checkout@v3 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + if: ${{ github.ref == 'refs/heads/main' }} + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./backend + file: ./backend/Dockerfile + push: ${{ github.ref == 'refs/heads/main' }} + tags: ghcr.io/cthit/bookIT-node-backend:latest diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml new file mode 100644 index 0000000..e8ca629 --- /dev/null +++ b/.github/workflows/frontend.yml @@ -0,0 +1,46 @@ +on: [push, pull_request] + +name: "Frontend CI" + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 16 + - name: Install dependencies + run: npm install + working-directory: frontend + - name: Build + run: npm run build + working-directory: frontend + + docker: + runs-on: ubuntu-latest + needs: + - build + permissions: + packages: write + steps: + - uses: actions/checkout@v3 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Login to GitHub Container Registry + if: ${{ github.ref == 'refs/heads/main' }} + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./frontend + file: ./frontend/Dockerfile + push: ${{ github.ref == 'refs/heads/main' }} + tags: ghcr.io/cthit/bookIT-node-frontend:latest