diff --git a/.github/workflows/javascript-formatting.yml b/.github/workflows/javascript-format-build.yml similarity index 66% rename from .github/workflows/javascript-formatting.yml rename to .github/workflows/javascript-format-build.yml index 2a9641b76..42b239656 100644 --- a/.github/workflows/javascript-formatting.yml +++ b/.github/workflows/javascript-format-build.yml @@ -1,4 +1,4 @@ -name: Javascript Formatting +name: Javascript # This action works with pull requests and pushes on: @@ -90,3 +90,41 @@ jobs: - name: Check for unused JS code and dependencies run: npx knip --include dependencies,files,exports + + # After any formatting and linting is complete we can run the build + # and bundle step. This both will verify that the build is successful as + # well as commiting the updated static files into the repository for use. + web-bundle: + runs-on: ubuntu-latest + if: github.repository == 'owncast/owncast' + + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v5 + with: + concurrent_skipping: 'same_content_newer' + + - name: Cache node modules + uses: actions/cache@v3 + env: + cache-name: cache-node-modules-bundle-web-app + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Bundle web app (next.js build) + uses: actions/checkout@v3 + - run: build/web/bundleWeb.sh + + - name: Commit changes + uses: EndBug/add-and-commit@v9 + with: + pull: --rebase --autostash + message: 'Bundle embedded web app' + add: 'static/web' + author_name: Owncast + author_email: owncast@owncast.online diff --git a/.github/workflows/test-webapp-build.yaml b/.github/workflows/test-webapp-build.yaml deleted file mode 100644 index 70673f329..000000000 --- a/.github/workflows/test-webapp-build.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: Webapp Test Build - -# This action works with pull requests and pushes -on: - push: - paths: - - web/** - pull_request: - paths: - - web/** - -jobs: - build: - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./web - - name: Build webapp - steps: - - id: skip_check - uses: fkirc/skip-duplicate-actions@v5 - with: - concurrent_skipping: 'same_content_newer' - - - name: Checkout - uses: actions/checkout@v3 - with: - # Make sure the actual branch is checked out when running on pull requests - ref: ${{ github.event.pull_request.head.ref }} - repository: ${{ github.event.pull_request.head.repo.full_name }} - fetch-depth: 0 - - - name: Cache node modules - uses: actions/cache@v3 - env: - cache-name: cache-node-modules-bundle-web-app - with: - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- - - - name: Install Dependencies - run: npm install - - - name: Build - run: npm run build