diff --git a/.github/workflows/website-tests.yml b/.github/workflows/website-tests.yml new file mode 100644 index 0000000000..67cda6312b --- /dev/null +++ b/.github/workflows/website-tests.yml @@ -0,0 +1,55 @@ +name: website-tests + +on: + push: + paths: + - "website/**" + - ".github/workflows/website-tests.yml" + workflow_dispatch: + +concurrency: + group: ci-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}-website-tests + cancel-in-progress: true + +jobs: + checks: + name: Check format and types + runs-on: codebuild-loculus-ci-${{ github.run_id }}-${{ github.run_attempt }} + timeout-minutes: 15 + defaults: + run: + working-directory: ./website + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: lts/* + - uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('website/**/package-lock.json') }} + - run: npm ci + - run: npm run check-format + - run: npm run check-types + + unitTests: + name: Unit Tests + runs-on: codebuild-loculus-ci-${{ github.run_id }}-${{ github.run_attempt }} + timeout-minutes: 15 + defaults: + run: + working-directory: ./website + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: lts/* + - name: Cache .npm + uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('website/**/package-lock.json') }} + - name: Install dependencies + run: npm ci + - name: Run tests + run: npm run test diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index c355e3c78d..b0c925700f 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -12,48 +12,6 @@ concurrency: cancel-in-progress: true jobs: - checks: - name: Check format and types - runs-on: codebuild-loculus-ci-${{ github.run_id }}-${{ github.run_attempt }} - timeout-minutes: 15 - defaults: - run: - working-directory: ./website - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: lts/* - - uses: actions/cache@v4 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('website/**/package-lock.json') }} - - run: npm ci - - run: npm run check-format - - run: npm run check-types - - unitTests: - name: Unit Tests - runs-on: codebuild-loculus-ci-${{ github.run_id }}-${{ github.run_attempt }} - timeout-minutes: 15 - defaults: - run: - working-directory: ./website - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: lts/* - - name: Cache .npm - uses: actions/cache@v4 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('website/**/package-lock.json') }} - - name: Install dependencies - run: npm ci - - name: Run tests - run: npm run test - dockerImage: name: Build Website Docker Image # Don't change: Referenced by .github/workflows/update-argocd-metadata.yml runs-on: ubuntu-latest