# name: Build and Push Container # on: # push: # branches: # - '**' # pull_request: # branches: # - '**' # workflow_dispatch: # jobs: # build: # name: Build App # runs-on: ubuntu-latest # steps: # - name: Checkout Repo # uses: actions/checkout@v4 # - name: Setup Node.js # uses: actions/setup-node@v4 # with: # node-version: 24 # - name: Setup PNPM # uses: pnpm/action-setup@v4 # - name: Install Dependencies # run: pnpm i --frozen-lockfile # - name: Build App # run: pnpm run build # publish: # if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') # name: Publish App # runs-on: ubuntu-latest # needs: build # steps: # - name: Checkout Repo # uses: actions/checkout@v4 # - name: Setup Docker Metadata # uses: docker/metadata-action@v5 # id: metadata # with: # images: liamsgit.dev/LiamPietralla/liam-portfolio # tags: | # type=raw,value=latest # - name: Login To Docker Registry # uses: docker/login-action@v3 # with: # registry: liamsgit.dev # username: ${{ secrets.REGISTRY_USERNAME }} # password: ${{ secrets.REGISTRY_PASSWORD }} # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3 # - name: Build and Push Image # uses: docker/build-push-action@v6 # with: # file: Dockerfile # push: true # tags: ${{ steps.metadata.outputs.tags }} # labels: ${{ steps.metadata.outputs.labels }}