diff --git a/.github/file-filters.yml b/.github/file-filters.yml index cbf23a2..0a232f0 100644 --- a/.github/file-filters.yml +++ b/.github/file-filters.yml @@ -9,6 +9,9 @@ frontend-test-unit-code: &frontend-test-unit-code frontend-test-build-code: &frontend-test-build-code - '**/*' +frontend-test-build-docker: &frontend-test-build-docker + - '**/*' + frontend-test-build-docs: &frontend-test-build-docs - '**/*.md' - '.vuepress/*' diff --git a/.github/workflows/frontend.test.build.docker.yml b/.github/workflows/frontend.test.build.docker.yml new file mode 100644 index 0000000..744671a --- /dev/null +++ b/.github/workflows/frontend.test.build.docker.yml @@ -0,0 +1,46 @@ +name: "frontend:test:build test docker" + +on: push + +jobs: + # only (but most important) job from this workflow required for pull requests + # check results serve as run conditions for all other jobs here + files-changed: + name: Detect File Changes - frontend-test-build-docker + runs-on: ubuntu-latest + outputs: + changes: ${{ steps.changes.outputs.frontend-test-build-docker }} + steps: + - uses: actions/checkout@v4 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v3.0.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + + build-production: + if: needs.files-changed.outputs.changes == 'true' + name: Build Docker Production - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Frontend | Build Docker Production + run: docker compose -f docker-compose.yml build + + build-development: + if: needs.files-changed.outputs.changes == 'true' + name: Build Docker Development - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Frontend | Build Docker Development + run: docker compose build \ No newline at end of file